Hello People.
I have recently finalized my prototype Dickwurst Adventure, and I would like to post a bit my contact with Gdevelop, to sort my though, maybe it also helps some people around.
About me:
I am a mid-life father, with few spare time. I studied embedded computing, worked a lot in railways. I used to play pen & paper RPG a lot, both player and master, and sketched sceneries myself as master. I also played lot of and prototyped boardgames. I like to cook without recipes, but inspire myself what I see here and there. I like to build things the way, no matter if itās a game or a furniture, learn and create system.
I have a functionnal ADHD/ASD prediag, which means that I have a layered non linear thinking, with lot of attention for details assimilation, and I am quite used to use things the way they were not planned for and workarounds, for instance I used excel formula (not the macro/VBasic) to do management tools in the work, which sounds crazy for lot of people. I am used to failure and retries, and my frustration tolerance is quite high. However, I can get very disappointed if I feel limited by the tools.
Of course I love videogames, and enjoy now more game with a bit of management or RPG, which have not too long gamespan, that you can pause anytime. I used to try unity >10 years ago, made some prototypes, enjoyed the C#, Linq and Objectsazion of things. I gave up on unity when I was in a previous complicated relationship, because it was impossible to focus for long enough in a row.
When I heard about GDevelop in AMaze festival (in 2024 I think), and itās promise of taking on lot of complex layer, particularly the multiplayer one, I felt I should gave it a try. I have regular remote game evening with old friends of mine, for instance Arkham Horror CGG (storys with chapter of 3-5 hours of game), and I though having a video game in this direction would be great for me. Before starting, I watched youtube tutorial in my lunch breaks, and I felt confident with the engine.
My previous prototypes with GD, and why I didnāt worked:
For the first prototype, I picked up the hex-based builder example, and wanted to make a god-game/terrain builder with Giants similar to Reus, but with hex. Placing and moving the giant around, moving/rotating camera, having a placing cursor for building went very fast. However, I became quickly frustrated because of the buttons present in the example, with variant and the management of custom objects children which are not visible in the editor but visible in the event sheet. I was very confusing for me and gave up, saying to myself that custom object will be not my thing for the moment.
For the second prototype, I decided to pick something easier, so I decided to make a mix of dice rolling and civilization, where the faces are supposed to represent regions & buildings. In my mind, I wanted the dice faces to be singles flat 3D objects, on which the building are added as 3D sprite, so you have a cool animation that when the dice stop rolls, it flattens and you see the building on it. The 3D logic (3D rotation particularly) of GD drave me crazy, and I exceptionnally tried to use the help of AI which made the things even worse, so I gave up on this prototype too. However, it felt nice to see GD update about direction vector appeared exactly at this time.
For the third prototype, I decided to pick something even more easier, having watching the hobbit film few days ago, I thought it would be nice to have a game which allow to create maps like the one of the book/film. So I decided to create a game close to terrascape, with hex placement, building card drawing, where you get points depending on what is in range of the building you place, and you can some neighbouring building into a super-building. I took on the previous lessons, kept on 3D sprite for the board, and 2D sprite for the UI. I was able to implement the placement system, the condition for scanning things in range and score. However, the group management behave buggy if you use structure. Plus group variables are automatically transferred from group elements to group, which duplicates variables if objects belong to several groups, and made very complex to assign an object to several group with different variables. I also wanted to have a way to have the same sprite object and game stats on the card in the 2D UI and for the placed building in the 3D world, but having this transfer revealed not easily possible. Both issues being discovered at the same time convinced me to stop this prototype. I was particularly disappointed with the group issue.
I started to thought that GD was not for me, and that this was a waste on time. On the other hand, considered my lack of free time, starting to learn a new engine felt to much time cost that I didnāt had. So I didnāt knew what to do.
Starting Dickwurst Adventures:
There was the birthday of my stepdaughter coming, I knew she liked hidden folks and some other search games, and I thought OK, with my knowledge of GD, I may be able to make a search game were her cat that she is fond of will be the main character, where the sprite would be done by myself on basis of paper drawing. I usually nickname the cat ādickwurstā (german ālarge sausageā), so I got my game name. But, contrary to all my other prototypes, this one had to be finished on a fixed deadline (the coming birthday).
I started sketching a few pictures of the cat, and some furniture in isometric view, on some standard notebook with lines/squares. I decided to exceptionnally go with AI to get the lines removed without damaging my painting, but it was way more complicated than expected. I still had to rework the pictures with GIMP a bit for transparency and separation in sprite, but once I had the workflow, it was quite fast.
Doing the audio was quite smooth too. I used 1 bit dragon with a midi/MP3 converter for the music, and phone records of the cat.
I picked as GD basis the 2D RPG example, the one you talk to character which disappears. I copied most of those mechanics. With this, the moving of character around was alread done.
The first part of making the game, was to create a challenge, where you can wins things, like a skill test in a P&P RPG. This part was made in quick and dirty mode, and went very fast.
Then there was the part about having the level objects around and click on object. The Z management quickly became dirty, but as I had limited time, I accepted the glitches with it. I started to create my own custom behaviours in hope to make things clean, and I still had this group variable issue in mind. My first understanding of behaviour makes me believe it could be close to object in computer language, but it is not, because instance of a behaviour only access itself or parent behaviour, and you cannot catch all objects with a behaviour by any way, which make very complicated to create clean classes which works together. I thought some tricks, but it was quickly limitating (see topic).
As said move was already managed by the example, and also the animations. Other animation management was easy.
Then I had to implement the interactions, I used custom behaviour here again, but I felt dirty, because I had to put some of the actions of the behaviours in the event sheet (ex: check if behaviour have string of this value, then do this). Still I managed to create the interactions, some easier than other.
Doing the metric management gave me a bit of difficulty, not because of the management itself (I created behaviour but I could have used globals), but the position of the object where unclear when I was trying to create VFX. I solved the problem by switching the VFX on different layers.
I also created a small waypoint system for the NPCs to move around, with a timetable. It was without behaviour, only event sheet and group, and it felt not re-usable.
To be noted, I received lots of help in the discord and the forum, which I am thanksfull. I observed that I got more adequate answer from the community (mainly ZeroX4, but not only) than from the GD staff. It surprised me a bit that when I presented things from official examples, there were commented as not adequate.
I delivered the game 1 week late (browser version), it is clunky but still enjoyable, however it needs out-game instructions.
My experience and opinion:
I still donāt know if I will recommend GDevelop. As in every engine, there are pros and cons. Considering I am planning a new project, I will assume I somehow like it.
Those were my personals for the Dickwurst Adventures Project:
Like:
- Love Management of player controller, movement and animation, shaking, 3D flip, tweens, buttons through established behaviour
- Custom behaviour are very helpful, although limited
- Active community and help
- No code, I first I was sceptic, but I realise the added value that I take less mental ressources, more adapted for a busy guy like me
- I appreciate that you have several way in the event sheet to create the same event, with different order of selection.
- Lots of easy visual effect integrated native in the engine
Donāt like:
- Behaviour cannot accesses to other behaviours (even same type), making them very, very, limited
- Behaviour object donāt have array
- You cannot search object by behaviour, you have to create group, with manual add
- Instance selection and research in editor not easy, particularly in level with lots of instance
- There is no way to create static string or number for the event sheet, meaning that you are very prone to typo issue when managing string
- Positionning is not easy to manage where outside the base layer
- Debugging is difficult
- Group management have lots of bugs (variables, naming of object, ā¦)
- Linking have no ID or tags
- Some issue/limitations which are known should be clearly documented, for instance that āonly onceā will not repeat for each object of a loop.
- It seems quite common that people use global string for transferring message from one object to another, or similar use of variable, thatās not mine.
The game:
Note that the game was conceived for one person only.
Here the link:
- Walk around to find stuff
- Click on object to interact with them
- If an object become gray, it is inaccessible for some reason, maybe it is to high
- You can climb on furniture by interacting with them. You can jump down by clicking on the furniture you are
- If you start a challenge, you have to beat the target (Ziel) by drawing gems. Points you make over the target gives bonuses. If you have drawn to gems with ā!ā sign, you automatically loose the challenge no matter of your value, so be cautious when drawing new gems.
- The games end at 0 Energy. The score is chaos multiplied by food, so a good balance of both is more points than a min/max.
- Human gives bonuses if you do things around them.
- The clinking noise is the food automat being activated.
- Some things may appears on specific conditions, search for it.


