Blendering

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.

Surfbot

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.

Hover Tank in Blender

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.

Hover Tank in GameMaker Studio

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!

You Still Won’t Make It Screenshots

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!

Example Added: Path & Textured Vertex

Per the request of one of my Steam buddies, I’ve added the Game Maker GMK file from an old visual demo I’d made to the Examples & Tutorials page.

This example uses paths, textured vertexes,  particles, and a noise overlay to create a slowly changing, relaxing visual based on the Outta Space desktop wallpapers of the same name created by by Philipp Antoni (and available at his website, Infinise Design).  You may find the flowing movement similar to the flowing home background on the PlayStation 3 / PSP as well.

I originally intended to make this into a screensaver, but never got around to finishing it for that purpose.  Still, I think it’s a good example of an abstract visual that can be achieved with Game Maker using a few different effects in tandem.

Game Maker PSP Runner, NEW CTO Announced by YYG

Looks like the cat is finally (officially) out of the bag!

What was alluded to in a few obscure screenshots and then not very subtly in the YoYo Games Competition 5 rules has now been made official in a Glog post today; that YYG has been hard at work on a version of the Game Maker runner that works on PSP.

YYG also announced that they have hired Russel Kay as their Chief Technical Officer in charge of all future Game Maker development.  Kay is the former Senior Software Architect for Realtime Worlds, and while his new post at YYG seems to imply that Mark Overmars may not be taking as big a role in future versions of Game Maker, Sandy (presumably) tries to set those fears to rest in the announcement:

Also, don’t worry about Mark Overmars, he won’t be disappearing.  Mark is too busy with his University commitments to take up a full time role at YoYo Games, but he has recently strengthened his links with us and he has been fully involved in the process of recruiting Russell at every stage.  Mark has already been working closely with Russell and he will continue to have a great influence on Game Maker and our community.

I’m pretty excited for YYG and Game Maker – I think that if they can successfully make the jump to consoles / handhelds they could become a very lucrative company (almost like Steam for consoles / handhelds).  I also think that with new talent on board, we might see larger advancements in the power of Game Maker, and sooner.

Of course, if they can’t make that happen it could spell the end of Game Maker.  But with a lot of smart, talented people on board, I’m not concerned about that.  Interesting news, anyway.