Greetings
I’m Jim. Trying out GDevelop after a string of testing other Game Dev platforms.
I started out initially back in the day using STOS Basic on the Atari ST and then AMOS Pro on the Commodore Amiga (which ought to give you an idea as to how ancient I am!)
I then stopped any kind of programming until about 5/6 years back. I began to see that indie devs were suddenly a thing again and there were inclusive platforms appearing to make the process a lot easier. It reminded me of those earlier days and I began to get back into it.
I initially attempted to use GameSalad, which was functional but limiting. I’m not scared of coding or learning a new programming language, so it wasn’t long before I figured that I could do this stuff in code far quicker and easier. And the price of a proper licence for GameSalad was, well, completely over the top.
I briefly tried out Unity but got terrified by the complexity of the interface!
I then moved to GameMaker Studio 1.4, initially with the free version, then I bought the full package in their fire sale they had before GMS 2 came out. I spent a few years working in GM, even producing 12 episodes of a podcast interviewing fledgling developers. I got a couple of concept projects to a fairly advanced stage, but began to wish I could work in 3 dimensions so I didn’t upgrade to GMS 2 (again, it was fairly expensive to get everything I wanted) - instead I…
Had a proper go at Unity. I did a Udemy course this time and got a lot further. I got a bit of an understanding of C# and finally sort of got to grips with the interface, but…
Everything in Unity takes far longer, and 3D space is so much more complicated. It feels like a climbdown - but I really became sick of all the hassle required to get 3D assets created and working in Unity, even before you could get anywhere with the business of doing anything with it.
I missed GMS because I was getting to grips with it. I was looking at alternatives and found GDevelop. I’m still trying to understand how most of it works, but it is very interesting.
Currently, I’m trying to find out how to do the things I learned how to in other engines. Using GMS and Unity certainly is helping here, but I’m having a bit of trouble often finding all the answers.
I appreciate it’s a different engine altogether, I’m not looking for exact equivalents, but from a couple of weeks experimentation, this is what I’m finding.
- Structure.
I know the key to a manageable project is often knowing the correct/efficient/coheasive ways to structure things. The way to organise your events, etc. This was certainly the case in the three previous platforms I referenced above. Right now, I don’t quite know how best to do this in GDevelop. I’m literally still learning what should be in the main scene events list, what external events and functions do and I haven’t touched how object behaviours interact with other events, or how best to use it all.
- Use of code.
I know a little Javascript, usually from seeing direct translations of the Unity C# equivalent in old forum posts online, but I’m still new to the syntax.
And I’m really not clear on how to use it in GDevelop. I know there are ways to add code blocks into events, and I’ll be researching that soon, but I’m not clear as to whether this works in the same way as GMS uses code. Can you actually replace a whole load of events with equivalent blocks of code? Or even replace all events with an all inclusive script? I’m not clear whether the event commands are still essential to some part of it, or if you can become entirely sufficient using code? I’m not clear what the intention is - is the use of code there to eventually replace the event system if the user so chooses, or is it designed to purely extend GDevelop to provide advanced functioning tht isn’t possible with the event block system? What is the best way for an enthusiatic individual, eager to use code, but not totally clear on the syntax, or the structuring as per item 1, to learn how to use it effectively in GDevelop?
- Seeing the code.
One thing I’d like to know is if there is a way to easily see the code that each block event generates ‘under the hood,’ so to speak? This was a bugbear in GMS with it’s drag and drop functionality. I’ve no idea if this is possible in GDevelop, but it would give me a much greater understanding.
- Optimism
Despite my lack of clarity of the above, I’m very impressed with GDevelop as a platform, and the level of sophistication.
It looks like it’s not trying to be GameSalad or Buildbox or any of the ‘codeless’ tools that seem to be purely aimed at making exceptionally simple casual games.
I’m hoping it has got that balance I’m looking for - steady but not overwhelming learning curve, but with the potential to produce fairly complicated games in terms of logic and AI.
All the same, I’m discovering a few ‘gotchas’ in terms of little things. For example, there is a simple way to impliment 8 way topdown movement, but no built in setting to normalise diagonal movement - a newbie error that I’ve made in GMS. It makes me think that the situation in GDevelop might be similar - you can use the built in set commands, but for a really polished finished product, you have to code around or even replace their functionality with custom code.
Anyways, so far, as I said, it’s proving very interesting. And because of the pricing (or lack of it) - I’m pretty sure if I can get to grips with the points above, and it turns out to as fully functional as some people advise it is, it could well end up being my game dev weapon of choice. At least I hope so
Jim