Although I came across structs and arrays early on, I didn't come across these functions until a lot later, so the main file save and load system is still 'stuck' on using ds_maps. I would definitely recommend for anyone to use structs and arrays instead of ds_maps and ds_lists - there wasn't anything I came across that couldn't be done with them, with the exception of a sorting function that I used a ds_grid for! The added benefit is you do not have to worry about memory issues due to forgetting to destroy your ds_* when you are finished with them (which you appreciate more as your script count grows), and I think it's nice to be able to use some of the "normal" conventions you are used to from other languages for accessors (like arr instead of list)įor saving and loading JSON files please know that json_stringify() and json_parse() exists!! If you use them instead of json_encode() and json_decode()you can work with structs/arrays instead of ds_lists/ds_maps as a result.
GAME STUDIO MAKER 2 REDDIT SOFTWARE
Feel free to ask me any specifics of how we approached something!ĭisclaimer: Although I have been a software dev for many years I am not an expert with GMS2 by any sort - I only started using GMS in January! If you read this and at any point think "but wait couldn't you have just done X" the answer is. I've split things into different sections but there's no specific order here as I just jotted things down as I built the game. Now that the game was done I thought it'd be cool to revisit everything in a sort of GMS2 technical post-mortem and talk about some of the things I did, some of the weird things I had to do for workarounds, or things that I just wish I knew from the beginning of the project or had time to do. I recently just finished the Gold Master build for our game, APICO, which is built in GameMaker Studio 2 and is due to release early 2022! 5 months ago I posted here to talk about how we moved the game from the original engine (custom JavaScript) to GMS2 and some of the things I learnt on the way.