Skip to main content
IGB102 - Zeke Smith

Week 13 - Quack Attack Platformer Game Testing

The game was ambitious and I think we got close to the original goal I had in mind. But a lot of compromises had to be made. There is a few changes I would have liked to have done if we had done it again or had more time:

Performance Performance Performance

There was still a lot on the table regarding performance, it was no secret that gdevelop didnt perform well in this type of game but there was also improvements we could have made. The main one that I would have liked to have done was batching and respawning for enemy waves. Currently when they are offscreened they are still loaded in the game and running actions to the player. This does mean that 200+ ducks can be being processed all at once and gdevelop doesnt reduce the overhead for those entities far away. So I would have wanted to implement a way those far offscreened ducks would get back to the player, such that they can then be killed and not indefinetly ticking in the sides of the play area.

Batching is another way we could have fixed some of the performance by having large groups of enemies share a single AI objective. This would be possible but having it in a way that it didnt stick out was not something we figured out this time.

GDevelop Experience

Overall while I was initially optimistic with gdevelop and its no code nature I found near the end that the workflow was not something I personally enjoyed, I felt held back by the way the code was formatted, it felt like I needed to click 5 things just to make a variable instead of simply typing var = x or something similar in code. Not to mention how it was structured became frustrating with multiple people working, Despite using version control too seeing the changes others made was painful based on the nature of gdevelops json strucutre. With everything also being so abstracted things like the health bar breaking where not a trivial matter to figure out how it broke and it was impossible to undo without modifying the main game json. This also broke all bars globally every single one looked like what I showed in the previous post. Only the hearts system didnt so thats what we settled on.

Team experience

Our team worked well and I think that everyone contributed a relatively equal amount, communication was good from the start and we had minimal issues. We found it hard to work on features together at the same time due to the nature in gdevelop collaboration, maybe this is something we would figure out with more time but using git on our main game json didnt provide much more then an on off system where we would be waiting on someone to push to then start our part to push to another persons part. This became frustrating and we tried to work in seperate branches for different features but when we went to merge to much of the main json structure changed that it didnt work anymore.

I personally would be happy to work with all the people we did in this project but I would want to figure out a better way to work together in gdevelop or the tool we would use next time.