As the title of this week’s post suggests, the changes this week are less for ts-tennis and more for ts-game-engine and giving it an ability to use sprites and sprite sheets. This was technically already semi-possible because the rendering code can display images just fine, but I wanted to be able to do some animating, and the idea of having a bunch of images and flipping between them manually made me break out in a cold sweat based purely on how crufty that seems.
This snowballed a tad bit, as touching engine code tends to do (I seem to be a natural born engineer), but various features tend to cross each others path with sprite sheets at the nexus. Well, in my brain they do. Your mileage may vary. Thus, besides sprite sheets, animations, origins and rotations are also in. All because what I really wanted to do was implement collision detection. What?
As my overriding goal is to go through all of the classic games in the course and (more importantly) follow along in the text book that comes with it and try to finish all of the exercises it contains, after I finished the initial port I went back to the text and started reading it from the beginning again just to catch myself up on everything that was said/taught up to this point. I can’t remember at exactly what point I branched away to work on something else so I’m not sure how many exercises are actually left at this point.
Along with development I’ve also been spending some of my free time playing games instead of working on making them, and I also did a little research, because that’s how I roll.
Another week, another bloggity update on game development goings-on. A lot of this week was spent in setting up some “behind the scenes” stuff. In particular, I set up a new subdomain, http://gamedev.nurdz.com for posting my game development explorations. Currently there are only two things posted there, Rx (the same code as is posted at itch.io, see previous post) and a nascent page for the upcoming pong port, which seems to be called Tennis Mania.
I also tweaked up the blog a little bit so that there are links to all of the relevant code repositories. Somehow in all of this business I actually ended up doing some game development stuff!
Now that Devember is over and I’ve gotten back into the rhythm of regular workdays again, it’s time to proceed with more game development plans!
I’ve mentioned before that I used to do game development in the past, although back then my audience was limited to basically myself and friends. I gained some critical acclaim in a rather boring drafting class in high school by writing a multi-player Tron game that had a boss key that popped up a visual of the drafting software that we used, but that’s about the widest audience I ever achieved.
Since that time technology has moved on quite a bit (why back in MY day, I had to develop my games in the snow, uphill, both ways!) and although I am a software developer by trade, what few specifics of programming games I used to know are a little bit hazy and outdated.
Time to fix that!
So of course as this entire section of the blog is devoted to, in December 2015 I did Devember, for which my goals were the following:
- Get more familiar with GitLab as an evaluation of how well it integrates with my work flow (primary reason: it allows private repositories for free, which GitHub does not, but also I’m looking at locally install-able solutions).
- Get back into the swing of game development again after a long hiatus
The outcome of this entire operation was a game prototype I called Rx which was a simplistic Dr. Mario clone. The “final” version is posted at itch.io:
[Edit: In December 2016, Nintendo swept through itch.io and threw DMCA take-down notices at anything that looked vaguely Nintendo related, so I deleted the project from itch.]