I'm continuing to pick through my old GameMaker examples and update them for GameMaker: Studio, and the most recent example I've fixed now is the Faux Mode 7 example, which recreates the look of the original Mario Kart in GameMaker.
The example doesn't emulate true Mode 7 (it uses GameMaker's native 3D functions), but it uses a combination of techniques to create a retro 3D look.
It seems like I come back to my old GameMaker examples and update one of them about once a year. I try to do better than that, and probably do, but that's how it feels sometimes!
Anyway, today I updated my example of a textured vertex path in GameMaker: Studio. I've spent some time removing a lot of the code that didn't need to be there, renaming some variables and assets so that they make a little more sense, and adding comments all around.
I'm not sure if many people (or anyone!) noticed, but I recently updated this website to have a more modern look, and to better represent the work I've done over the last few years.
So far, so good, I think. I like the way everything looks and functions, and in terms of updating old content, I'm about 95% there. As of this writing, all that's really left to do is update my "techniques" page, and maybe update some of my old GameMaker examples/tutorials to GameMaker: Studio.
Speaking of GameMaker, part of the site changeover had me going back and reviewing a lot of the old art and games I've produced, and that got me feeling nostalgic- particularly the part where I went through all of my old GameMaker Community forum avatars. That really took me back and got me thinking about all the fun I had at the GMC back then. The personalities of that place! The goofy games everyone made! The strict rules of the forum! Ah, man.
I created my first big game, Hover Tank 3D, and released it on the GameMaker Community in January 2006. I had spent the better part of 2005 working on that game in my spare time. I even briefly gave up on it at one point when the online system I was using, which depended on another user's web service, suddenly stopped working, and I was faced with taking the entire multiplayer portion of the game back to the drawing board.
During the time I created Hover Tank 3D, I had a really crummy job. Well, maybe it wasn't that bad, but the pay was terrible. One of the perks of the job was that my boss would let us skip lunch and then go home early, so I got quite used to going home early and having an extended afternoon of game dev. And even though things are a lot better now than they were then, I do still look back on the amount of time I had to devote to my game development efforts with a little bit of envy.
I have gotten to load up some of my old projects in GameMaker: Studio lately, and after finagling with them to make them work in the newer version of the program, it's been fun seeing them come to life again. I have an idea about merging the new physics engine with a game like Hover Tank 3D to make something a little more accurate than the old game... but we'll see if I can find the time to put it together. In the meantime, it's been fun remembering all the fun of the past.
Anyway, if you do happen to read my blog occasionally, and you've come back to check out the new design, I hope you like it, and thanks for reading. And if you have any fun stories about the old days of the GMC, feel free to post them in the comments. I'd love to hear them!
Some of you might already know this, but back in September of this year, I ended my job at CytoSport, Inc. to pursue other interests. So far, things have been going well for me, and I have been doing a lot of interesting and challenging contract work. Much of that work has been in Blender, software which, at this point last year I'd barely touched. A lot can change in a year though, and as it happens, Blender is now one of my favorite pieces of software. It has completely replaced my ancient copy of trueSpace for 3D development.
I'm still in the process of learning more about Unity for game-making, but in the meantime, one piece of software which I still like to dabble with now and then is GameMaker. Though I never seem to have enough time for personal game-making as I'd like, I still get a kick out of firing up GameMaker: Studio and trying ideas out.
Recently, I've been bungling around with GameMaker's 3D graphics again. I know the program isn't suited for anything particularly grand when it comes to 3D projects, but I like it nonetheless. One issue I kept running into though was getting my 3D models out of Blender and into my game.
Traditionally (even as described in one of my tutorials) this is a somewhat convoluted process. One would have to make a 3D model, save it to a format one of the many 3D programs / scripts people have written over the years would read, and then use one of those to load the model directly into the game, or more often the case, convert the model to a format GameMaker would understand, and then load that into GameMaker in a separate step.
Along the way, all kinds of odd things had to be done, and the software one chose to use had to suit those needs. UV maps had to be flipped. Models needed to be rotated 90 degrees this way or that. Normals were often lost in translation or reversed. I often found that my models wouldn't turn out exactly right - somewhere in the process, the numbers describing the locations of the vertices in my models would get rounded off! Worse still, one had to jump through each of these hoops each time a model needed to be updated or added to the game. Slight revisions to geometry or UV map would take a long time to implement. In short, it was not a lot of fun.
So, with my recent work in Blender, and my lasting interest in GameMaker, I decided there had to be a better way to do all of this. I searched around for examples of export scripts for Blender, and after finding a suitable starting point and reading a little bit about Python, I cobbled together something that works much better than the convoluted mess I described above - I've crafted a nice little export script for exporting 3D objects directly from Blender to GML.
It wasn't a particularly hard project, and I'm sure the script lacks a lot of the finer points that someone who really knows what they are doing might have done, but it works, and I'm happy with it. And I'll have a link up on the site soon.
Basically, this new script will let you select an object in Blender, triangulated or not, and with about two clicks of the mouse, export it as a text file which contains all the GML code needed to create the model in GameMaker. If one wanted the model to exist externally from GameMaker but still in GameMaker's native model format (which is very quick to load), it would then be trivial to save the model and from then on, use the new external file.
A lot of credit for this script is owed to Jeff LaMarche for his work on a script he built for converting Blender models to a suitable format for Objective C/iOS development. I used his script as a template to write my own, and I could not have created this without his as a starting point.
Anyway, I'm going to have to write up a bit more about how to use the script, but I'll have it online soon. I hope that it makes it easier for people to get quality 3D graphics into their games!
I just wanted to take a moment to share some screens of the game You Still Won't Make It, which I am working on with Vetra Games (Uriel Griffin, Jake Almond, and Jesse Venbrux). Development has been slow at times and fast at others, but it's coming together, and we will hopefully have the game out later this year.
In case you haven't played the original game (You Probably Won't Make It), YSWMI is more or less the same type of game: a skill-based platformer where the player simply needs to navigate the character from start to the finish, through a series of increasingly challenging rooms.
Naturally, I'm in charge of the graphics. And though the project is, graphically, a large departure from the original game, I'm happy to say that it's also a vast improvement. That's not to say the original graphics were bad - they got the job done - but there was a lot of room for some creativity on that front, and so far, I'm very pleased with how it's looking.
This is essentially what the game looked like when I got my hands on it some months ago:
And here are a few screenshots from our sequel, which is a work in progress at this point:
Quite different, eh? But still the same (brutal, fun) game underneath all of that.
Though I'm continuing to develop and add new graphics to it, I just recently finished enough to actually have the game play without a bunch of ugly placeholders everywhere, and that's a great milestone to achieve. We're looking forward to getting this game out later this year, and hopefully many people out there are looking forward to playing it, too!