Zizaco's Forum Posts

  • I'm not asking about having C3 Sprites in another layer. I know that's possible (like in this example).

    My question is about a billboard sprite in the ThreeJS layer, leveraging C3 Sprite object, texture, and animations, in such a way that it is rendered in ThreeJS (casting shadows, and reacting to lights).

    This screenshot from Octopath Traveler shows what I mean:

    This video shows something similar in motion:

    youtu.be/-xLl1PLPGS0

    (notice how the sprite casts and receives shadow)

    Other commercial titles with this aesthetic: Songs of Conquest, Eiyuden Chronicle, Grandia HD, Paper Mario, Book of Travels, Cassette Beasts, REPLACED, Songs of Glimmerwick.

    In theory, if you can access C3's Sprite Object animation frames and texture via C3 SDK, you'd be able to sync it with the THREE.SpriteMaterial, right?

    If this were possible, I would gladly pay a lot for the plugin!

  • Sorry, I didn't express myself clearly.

    I know that ThreeJS has a Sprite object, but can your Plugin "link" the animations of a Construct3 Sprite with a THREE.Sprite material/texture?

    Or do I have to manage THREE.SpriteMaterial textures separately?

    I'm asking this based on how convenient it is to use the C3 Sprite sheet editor and animation events/actions. If we have to manage external sprite sheet textures, it would be a real hassle.

  • Cool! Is it possible to use Sprites and Sprite animations as textures in 3D objects or billboards?

  • I just came across this limitation today. The hardcoded 100x100px with origin point at 0,0 doesn't make sense to me. This makes it impossible to generate procedural sprites and animations.

    So if you needed to load 100 images, you had to create 100 empty frames in advance.

    Indeed, this is the only workaround I found. However, it doesn't scale well. It imposes a hard limit on the number of unique characters and prevents changing the dimensions or origin for specific characters.

  • You should look into "Global layers":

    construct.net/en/make-games/manuals/construct-3/project-primitives/layers

    "If a layer's Global property is enabled, then every layer in the project with the same name is overridden by that layer"

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • This well-documented game template allows you to effortlessly create card-based games like Stacklands and Cultist Simulator.

    I created this template to streamline the game development process for my own project. I thought it would be interesting to make it available in the asset store so that others could focus on creativity and gameplay without getting bogged down in complex coding.

    The end result is an intuitive, feature-rich template that simplifies the development process while providing extensive customization options.

    Be sure to check the Asset Store for the complete list of features.

    Try it in the Arcade!

    Let me know if you have questions or suggestions!

  • also if you're forcing JS as advanced, what about those that don't want to do JS? - saiyadjin

    They have the option to use TypeScript instead :)

    or they can stick to the basics and rely on JavaScript/TypeScript addons made by others, which is totally okay (but not "advanced")

  • You can use the hotkeys instead:

    Shift + F4 -> Debug from first layout

    Shift + F5 -> Debug current layout

  • Ruskul [...] It would be the same if your OS provider said you can't install anything not on their list, lest you have a bad user experience.

    The largest company on the planet holds a different opinion.

    Ashley , I'm interested in your thoughts on Construct's visual identity and on having the dark theme as the default.

    I know you don't get this complaint from most users (because they switched to a dark theme long ago), but this definitely plays a role in customer acquisition.

    First impressions are crucial, and visuals play a significant role in creating a positive one. There has been a shift in recent visual trends, with a move away from gradients and skeuomorphic designs. Every tool that is comparable to Construct has a dark theme by default.

    For example, by today's standards, this monochromatic variation of the logo looks better than the current one:

    edit: I couldn't get the dark theme to be the default based on system settings. Tested on new / incognito sessions in Chrome 118.0.5993.70 and Firefox 118.0.2 on Windows 10, and Ubuntu 20.04 LTS.

  • eliandromon It is technically possible, but MMOs require significant effort.

    Construct's built-in multiplayer features are better suited for fast synchronization with a low number of players.

    With that in mind, I agree with Mikal that Javascript/Typescript code in the client to sync with a server built with NodeJS (or GO?) would be a better approach for an MMO (instead of using the built-in multiplayer behaviours)

    Goodgis video is interesting but a bit misleading. He could have made "Prototype 2" and "Prototype 3" in Construct just like he did in Godot, by coding. :)

  • Ruskul

    I ported it from Phaser+TypeScript

    When writing scripts in Construct you are not forced to put everything into game objects, you can create a plain old class and use it in your code the way you'd want (singleton, composition, inheritance, etc). In my case: I wrote the code that handles the AI using the decorator pattern. That way I could extend the AI behaviours with composition.

    The way I approached the problem might not have been the best (I would do it differently today), but in no moment I felt like Construct3 was in the way.

    To get the most out of TS (i.e: intellisense) you have to use an TS enabled editor, like vscode (not to be confused with visual studio). With other engines, people use external editors all the time.

    Ruskul part of wanting to work with events is that they feel cleaner, more visual, to me, and the moment I can't, it just feels like the core advantage of c3 is no longer present and other environments offer cleaner code spaces.

    I see where you are coming from. Indeed events can be very clean for a lot of stuff, mainly because they are simple to use. You can use it to your advantage, which IMO is one of the strongest points of C3: to have core systems of a game handled with code (optional), while simple systems can be handled with simple/clean event sheets.

    The ability to inline JS scripts within the events can be useful for handling more complex object-picking. For example:

  • Ruskul

    Competition between the best coding environments... in my case, c# with visual studio support, or javascript without good intelesense/scope with construct. This isn't even a competition. [...]

    In construct, starting a new project is fast. Creating new objects is fast. Prototyping features is a breeze, But refactoring is SLOW and gets even more tedious the larger the game gets. Construct, by its very nature, encourages poor architecture (with nearly EVERYTHING in global scope [...]

    if you want add duck, duck rolling, ground pounds, jump forgivness, double jumps, wall runs, wall slides, phaseshifting, object lifting, rewind and timeshift, shooting and reloading, but only in some cases. No that original choice to use if/else trees looks pretty bad. You probably should be using some sort of state machine. But then what if you want the character abilities to be added and subtracted at runtime. [...]

    It was easier to learn unity than grapple with c2 sdk [...]

    but the addition of scripting is pointless as has been mentioned [...]

    Effort should be spent making c3 have better event system features that enable us to do more in a scalable environment...

    Based on the examples you mentioned, you already know the solution. There will be always a limit to what you can do with an easy no-code solution. You can't have the cake and eat it too.

    You should use JavaScript (or TypeScript) to build the complex part of your game (like the state-machine/skills system you mentioned). You can choose to handle the more complex systems with code and use the event sheets for more systems.

    construct.net/en/make-games/manuals/construct-3/scripting/guides/subclassing-instances

    Using Construct with TypeScript and VS code is not much different than C# with VS. You should give it a try.

    I've ported most of my 4x strategy game to Construct, and it is as scalable as it was before. (hex grid, pathfinding, splines, modular AI, etc... check it on itch). With good intelesense btw :)

    skymen [...] with the recent addition of TS, and with the VS Code extension, I think Unity C# with Visual Studio isn't that much of a better coding environment compared to C3.

    I agree with skymen . From my experience, I can say Construct 3 doesn't get in the way of having a scalable architecture (especially now with the official typescript support).

    My two cents:

    1) It's better to invest in promoting the TypeScript support (with tutorials, docs, examples and step-by-step guides), than trying to make event-sheets handle all use cases imaginable. When someone argues about how event-sheets are limiting, it shows that the way to go is to write actual code (be that with C3 or with any other tool).

    2) The visual identity could improve

    Everade Construct needs a major makeover. Their website, logo, mascots, and how they advertise their engine all seem too playful. [...]

    I agree with Everade that this would benefit Construct3. An example is GameMaker, which rebranded in 2012 to present a more professional/studio image. Among other things, the dark theme should be the default. I had the chance to witness someone's reaction to launching the guided tour for the first time. The seemingly outdated theme immediately put them off.

    3) As skymen said, keep doing what you are doing. I understand that there might be challenges along the way, but the Ashley is doing a great job in improving the engine. I have seen many of the suggestions on Construct's suggestions website being brought to life (like TS!), and although not all suggestions are taken to heart, the curation has been quite decent so far.

  • vmwxiong I couldn't find an stable up-to-date definition online. So I'm writing it myself.

    I'm following the scripting reference docs to write only what I needed.

    Here is what I have so far: gist.github.com/Zizaco/ad7b380d228f89ce5ba13693a2cc9505

    arturradukevic453 I don't think so. But as said on the topic, all you have to do is compile TS into the scripts folder and them use the hotkey that was added by construct team: construct3.ideas.aha.io/ideas/C3-I-1632

  • nerdError I have yet another suggestion (sorry for spamming).

    A keyboard shortcut to reload from folder:

    construct3.ideas.aha.io/ideas/C3-I-1632

    It would be nice to have an option to automatically reload it too.

    imgur.com/a/KJUXsjT

  • Hey Ancient Newbie,

    I just created a feature request for TypeScript: construct3.ideas.aha.io/ideas/C3-I-1628

    nerdError That's what I have been doing too; Nevertheless, an official support for it would be nice.