It’s been several days since my last update. Progress on Fasteroids is slow, but it is happening. I’ve been juggling a lot of projects lately between work, developing this site, updating the Fasteroids Facebook page, developing another site, learning GML, learning to draw sprites, work at home (around the house), and family activities.
This evening I spent 1 hour of focused effort looking at the score system. The score system I set up was overly complicated given my GML skill set. At the time I wrote the code I’d spent almost 30 days straight working on Fasteroids and I was snapping up examples from everywhere. I’m going to reduce the scoring system down to the current score and a single high score rather than a top 10.
At the same time I plan on looking further into encrypting that score so it’s not editable with a text editor. This was part of what I was doing this evening, I looked into a couple of different methods including something called DS_Maps (which seems only slightly more secure) and “salting” a file with a _SHA1 hash.
This might be a bit disappointing to some, not having a Top 10, but I might come back to it later. I think a really well implemented High Score would be more appreciated than a really buggy Top 10. A great example of a game that implements a high score really nicely is the Steam game Super Destronaut.
I also spent some time identifying the variables and code that could be simplified. There’s some code that repeats between objects that I think could be eliminated.
Those things said version control is something that’s now a much higher priority. Given the dozen or so versions of Fasteroids I have on hard drives and USB keys I need a way to synchronize and version Fasteroids better. I’m a bit clueless when it comes to this, though I did note that GameMaker Studio has some versioning functions built into the UI.
It’s with this in mind that I want to try to keep 2 main versions: One that keeps the Top 10 until I get a sense of how to implement the input better, and one that simplifies code and only has the high score.