Adventures in Game Development III and a special GIVEAWAY!

After deciding that Unity3D wasn’t the right choice of game engine for our “traditional” 2d 8bit RPG, I decided to try out a popular multiplatorm engine in Java called libGDX along with a free tilemap editor called Tiled. I spent a while programming a RPG engine with leveling system, spell system, stats, items, tiled maps, etc and integrated a random dungeon generator too.  This attempt was actually very much ground up. That is, I started with text graphics, eventually advanced to sprites etc in Java, made a little rogue-like engine along the way.

Then I converted this to libGDX, which had lots of other nice features that everybody wants in a game engine, like support for Tilemaps!

Then I started making the battle scenes…

…and again we repeated history and ran into a user interface annoyance – I just couldn’t get it to look and feel like a classic 8bit RPG and unfortunately, libGDX’s documentation at the time was, shall we say, underwhelming… Also, there were some other annoyances that made version control difficult (or I am just a dumbass, which is entirely possible).

So, yet again we had not leveled up enough to beat the game engine mini-boss. But finally we found the epic magic sword in a simpler, albeit more embarrassing, game engine after all this time!

If you want to see a preview of our nearly finished game in this mysterious game engine, play the demo and watch our weekly twitch stream on Tuesdays at 9pm central : https://www.twitch.tv/victimcache

ATTENTION HEROES: Tune in to Victim Cache’s Twitch stream Tuesday July 25th 2017 for a super special mystery powerup giveaway opportunity to commemorate the beginning of our second beta bug squashing  complete game playtest extravaganza! The last time we got to the end and couldn’t beat the final boss… but this time we made it easier, so we will (probably) triumph and get the good ending!

 

 

 

Adventures in Game Development Part II

So, we decided to make a game. Simple, right?

When we started out, we had planned to create the game using the popular Unity3D (unity3d.com).  This was around 2013, when the latest version of Unity was 3.5. It was especially attractive to be able to port between PC, Mac, Android, and iOS with the push of a button. At the time, not a whole lot of engines could do such quick and easy ports, which traditionally was very time intensive.

Unity is a primarily a 3D engine, which means it is capable of doing 2D, but at the time it didn’t support the design of a 2D game very well.  For example, in many traditional RPGs, they use tile based maps (e.g., Dragon Warrior’s tile sheet – http://www.spriters-resource.com/nes/dw/sheet/10199/). That is, the whole map is divided up into a grid and the game designer chooses an image from a ‘tile sheet’ to ‘paint’ onto the map. Unity didn’t let you use tile maps, at least not in the way they were intended. However, Unity is a very extensible engine and has a huge community that develops plugins for it. So to make up for this lack of 2D game support, we decided to use the popular 2D Toolkit plugin.

Unlike vanilla Unity, 2D toolkit effectively supports tile maps and sprite animations – a traditional method of animating characters in a 2D video game (e.g., Dragon Warrior characters – http://www.spriters-resource.com/nes/dw/sheet/10197/). Sprites are 2D images that are quickly changed to give the illusion of animation, such as a character moving his feet while he walks, or in the case of Dragon Warrior, while he stands idle there looking like some d-bag on a Stairmaster. Ahh, those were the days.

We actually did a lot of work to generally make it look like and act like Dragon Warrior.  I started first with character control, which was rather simple. Although, at the time, the character control was quite fluid in that it was not grid based, like traditional RPGs. Ironically, creating a true grid based system would have been more work, even though a grid based movement system could be considered ‘obsolete’ by today’s standards. We really wanted a grid based system but in the interest of time and functional prototypes, I decided to put that on the backburner.

After we had a basic character moving around our maps, I decided to create a dialog system including the cute little retro dialog boxes that print out the text like a typewriter. As simple as that seems, I really felt like I had to wrestle with Unity to get it to work. At the time, Unity had very minimal support for graphical user interfaces, and even the plugins we found, such as Daikon Forge, did not by default support the traditional menu system of an 80s RPG.  So, I spent WAY too much time trying to get that to work.  It finally worked, but it was a real pain in the ass. From there, I fleshed out the backend of the dialog system by basing it on XML, which is a markup language that could be used to model the tree like nature of dialog.  So then, when you walked up to an NPC, you could talk, buy things, sell things, etc. Great.  Oh yeah, I guess at some point I made an inventory system. So a character could have a sword, a shield, or a stat boost item that rhymes with barujana. Yay.

Since we had a functional dialog system with cute retro menus and an inventory system, the next task was to create a battle system. This was relatively simple to do actually, once we had the menus working. Again, I designed this similar to Dragon Warrior as a placeholder. But, I knew what we actually wanted was a side view party battle system, similar to the Final Fantasy series. Since the battle system basically worked, we decided to put the side view battles on the backburner. C’est la vie.

From there I went on to create a save/load system and the ability to move between maps. Again, I found it kind of annoying to work with Unity for this, since every time you load a new scene in Unity, it erases everything in the previous scene, including your character’s XP! So we had to do some software tricks to save data between scene changes. It worked fine, but it was kind of annoying to do initially.

At some point, I decided that continuing with Unity for this was going to be an uphill battle. It felt like a traditional 2D RPG was a square peg that we were trying to fit into Unity’s round hole. Then I got distracted by other things and development came to a halt. DUN DUN DUN! Oh no! What is going to happen to our lovely game? Is it fated to become vaporware? If only there was another way!

About 2 years later, Unity still didn’t support cute retro menus without a lot of butt hurt. Luckily, we did find another way… but it turned out that it wasn’t the right way either…

Stay tuned for our next installment of Adventures in Game Development!

-John

Adventures in Game Development

Since we recently became a game development studio in addition to the musical act, I thought you might be interested in how this whole adventure into game development began.  After our first album was released, Tim and I started to explore the sound for our second album and after much experimentation, we came up with the concept of basing the album on an RPG from the 80s-90s, or rather a parody of the RPGs from the 80s and 90s that we fondly remember in the style of popular games like the Final Fantasy series and the Dragon Warrior series, etc. We wanted the music to tell the story of this imaginary game.

So, we spent a few band practices coming up with a rough outline for the main characters, the world, and the plot of the story. Of course we had to have evil kings, magical princesses, and an unnamed hero (ala Dragon Warrior). But since we are horrible examples of human beings, of course we added in lots of sexual humor, drug and alcohol use, and excessive inappropriateness all over the place. So it was like a typical RPG story…but not.

Then we began to write songs to give a soundtrack to the story. We wrote songs about love, good versus evil, magic gems, drunken airship captains, burning old men’s tree houses down, killing WAY too many slimes, emo-dragons, chicken intercourse, and of course a gigantic alcohol fueled celebration at the end that gets way more out of hand than any end-game RPG celebration ever has.  If you have seen our live show or looked at our picture gallery, we often take on the role of some of the characters and act out some of the events in these stories during the shows.

But all along, we had this fantasy – wouldn’t it be great if this imaginary game we are writing songs about was actually a real game?  Tim and I are computer scientists by training so we had the skills. When we finally figured out how to carve out the time, we decided to take our game soundtrack and make it a real RPG.

But this is just the beginning of the story… Stay tuned for more!

-John