Questions on mobile development and more

I am taking into consideration of gDevelop. Have a few questions. I search some questions that might be already answered such as using external HTML, CSS with gDevelop. One of the big factors that brought me to consider gDevelop is that it allows me to code in javascript, I don’t find the appeal of those blocks that you use to build games in gDevelop. I rather code the logic part.

My questions are:

Can I make a game purely in javascript and how would I go about that in gDevelop?

How does gDevelop handle different screen sizes for mobile devices?

Are there other tools such as gDevelop out there that I can use that provide a GUI to building games with javascript?

Can CSS be used to help with different screen size?

I have made a game purely with HTML, CSS, and JS. I want to see what gDevelop can do for the next game I want to make which will be a stick figure fighting game and other mind games. As for the current two I have I’m working on the menu screen to enter them. I want to see if I can incorporate using gDevelop to make the menu or do it with something else for the current two I have done. If you have a consideration of what I could use to make the menu, I have been watching some tutorials as I work on the game on using react to handle everything such as the menu and entering into gameplay.

Yes, but keep in mind that the event system (and not javascript) is the first class language for game logic in GDevelop. (Note: not “gDevelop”)

While you can absolutely use Javascript as your sole game logic method, it’s not really a goal of, nor intent for, the engine, and you’ll need to have an indepth understanding of javascript as well as the GDJS API to do your game logic, and outside of the base API documentation you’re not going to find many resources like tutorials or anything for the JS side of things.

More about using Javascript in GDevelop can be read here: JavaScript Code events [GDevelop wiki]

GDevelop doesn’t do anything special for screen sizes. It is up to you to determine what base scaling modes you want to use, such as just scaling the output (with or without keeping the aspect ratio), stretching by height or width, or just changing the game resolution to meet the new screen size compared to your designed resolution.

As with most game engines this means you as the developer need to decide how you want to deal with the various mobile resolutions out there. Here are some examples of the thought processes most devs have to think through:

Also Pixel Sharp Graphics at Multiple Screen Resolutions | Dev Blog | Ludicrous Games

There are dozens (if not hundreds) of javascript frameworks out there. If you’re specifically looking for some recommendations, I’ve heard lots of positive things around CT.js: https://ctjs.rocks, and Phaser game editor (although that is a separate purchase from the main Phaser engine)

There aren’t any other that include event based logic as far as I know. The closest thing would be Construct 3, but I’m not sure you can fully make a game in Javascript in that engine as it has been forever since I dug into using any actual scripting languages in it.

No, you cannot natively use CSS within a GDevelop project.

Yeah, ctjs seem like what I want but GDevelop seems to have more to it, more features, more to it, and ctjs seem like a lightweight simple animations movement, click events. ctjs at the same time look every polish but from what I can see with the examples it doesn’t have much as GDevelop. Like the particles systems, plus GDeveloper engine is in the browsers, giving people a chance to check it out before downloading. Everything points to GDeveloper being the most developed one out of the two. but as you said the GDeveloper engine wasn’t made to code the game out. I rather code, not connect physically blocks, or have a GUI that I plug variables in to get a result. As long as I can code the whole game logic and control in javascript, I’m fine with that… but I also want the GUI to handle thinking like scene change and what not like unity. Either way, I look forward to picking the right tool and seeing the benefit. While we are on the subject you know any 3d game GUI tool that you can use javascript with? I look and can’t seem to find any.

Most 3D engines do not use Javascript, but there are a few. Bablyon.js or Three.js are probably the most mature, then Playcanvas after that.

I’ve also been making HTML/CSS/JS only games for a few years and I’m sure you’ll love the “blocks”. Things that take two days can be done in 10 seconds. For the most tasks, the event system is powerful enough. It also requires enough logical knowledge when it gets more complex.
html and css you can only use to overlap the game itself (iframe, input field,…)
Much of what the conditions/actions do you can do in javascript events, but… nobody does.

I came across those libraries a long time ago. For develop software like GDevelop and CTjs, I just recently came across them, and happy to see there is some javascript game engine with a GUI to help you build the game and different scenes without having to deal with the HTML and CSS which I love but with the graphic interface to build the game appearance leave more to develop the actual logic of the game. Right now, I’m trying to figure out how to do scenes in regular HTML, CSS, JS which can be tricky. Using shadow dom and custom element to make it happen. But after this, I do have a 2D fighting game I want to do which looks like GDdevelop would make it so easy for me by abstracting the scene change and help with maintaining different states. But ctjs give me more of that unity, godot, and and gamemaker studio feel, and GDevelop is like snap, scratch, and stencil. But seeing that most of the logic again can be done in javascript is very attractive.

the visual programming makes the code none usable in other applications. The one thing I will enjoy is the abstraction of HTML and CSS and it does not cause it is bad, but doing scene change and environment control put more time in you actually implementing a shallow game engine, so to be able to come across this is nice. ctjs is set up how I like it to be, but GDevelop is set up more like browsers seeing that I can query the scene from one page so in theory I could implement the game from one entry point/script and have it import multiple scripts to build the game. But I will have to deal with blocks if I want to get more out of GDevelop… ctjs feel and remind me more of unity as GDevelop reminds me more of scratch in how it is set up and attended to be used.