The Room(s)

Since the last update, I've been in mega content-grind. What I have been focusing on for the most part is rooms. Rooms and rooms and rooms and ROOMS! All the pieces that will make up randomly generated encounters and mini-stages (including dungeons and caves).

One of the challenges presented with these "sections" is that they all need to match up - ground levels and ceiling levels need to be on the same coordinates from screen to screen, so the player's character doesn't get "stuck" in a solid during a room transition. This is all handled during the stage randomization, right before the area is loaded. Rooms are tagged with a base coordinate, so that the algorithm knows which batch of rooms it can choose from... like a giant grab bag of rooms stamped with a number, all shuffled and mixed up, and then slotted into a randomly chosen sequence.

Another thorn in my side has sadly come from Game Maker: Studio's room creator/editor. Doing so many of these, I started to get really worn out - the user interface is a bit challenging to work within, especially quickly! BUT - I found an alternative in a piece of software called Tiled.

Tiled is freakin' awesome! It has (just about) everything I have been craving that's missing from GM:S's room editor - fill commands, randomizers, line tools, buttery smooth UI interactions - it's seriously good stuff. It has cut my room production time waaay down - I am able to crank out a room in a quarter of the time it was taking me in GM:S! This is especially handy since each room needs to be "skinned" several times over with location and biome specific tilesets. Highlands need to look like highlands, swamps need mud and vines, mountains need snow and tons of rocks - you get the idea.


If you're interested in checking out Tiled, you can grab it here:

There's also this brilliant little program created by someone named Pasty on the GM:S community forums that will convert your Tiled files to .gmx files (asset files used by GM:S) which can be enthusiastically enjoyed here:

These two programs have made my life about a billion times easier - yay!!

I've also been cranking out all of the remaining environment art that still needs doing. Things like props, varied backgrounds, climbable bits, and so on.

Here are some composite test shots with some of the background and parallax scrolling assets:

One last thing for anyone interested in project organization and the like - My good friend Tim (of Boss101 and Donley Time Foundation) introduced me to Cloudforge and TortoiseSVN. You see, GM:S had recently kinda melted on me (MY FAULT!)- Savage WOULD NOT compile! The last week has been quite the nightmare, pulling my hair out trying to figure out what the heck was going on.

I had been going about managing my backups very stupidly - creating a brand new project file every time I pumped out a new iteration, with titles like "Savage - the Shard of Gosen_a 7-27-2015". Somewhere, somehow, GM:S's streams got crossed and assets were overwritten or deleted. Trying to compile resulted in GM:S not being able to find things like sprites, backgrounds, rooms, or whatever, and causing it to crash when I would try to compile the game for testing.

I ultimately managed to fix things by digging around in a backup's asset directories, and overwriting my working directory's asset folders.

What TortoiseSVN and Cloudforge allow me to do, is have this sort of live project folder that keeps track of EVERY change I make every time I choose to update to the repository created on Cloudforge. If I need to, I can delete my entire project file locally, and grab a previous build from the repository, while also monitoring every single modification made to the project! BRILLIANT!

Things like this have slowed me down somewhat, but I am in a much better (and more stress-free) position to plow ahead.

There's still a lot to do, but the game is getting beefier and more exciting all the time - it's become a ton of fun to run around the worldmap and see what sorts of stages are generated when you run into a baddie or a dungeon!

Talk to you soon, and thanks for the support!