Hey everyone! It’s time for another interview! Today’s is the awesome Vision Riders, maker of Another Star, which you can find my review here. He was pretty awesome, and is a really cool person to follow on Twitter. Without further ado:
“First off, what made you want to make games?”
I think one of the things that continues to fascinate me most about video games is the way they draw on so many different disciplines. You mix visual art, animation, music, sound, storytelling, and interactivity into one tight package that is greater than the sum of its parts. I’ve always been a jack of all trades and master of none, so being able to mix my skills in such different areas is appealing to me.
I’ve had a love of video games since I was a little kid, and I’ve always liked creating things, so it was only natural that I would combine the two early on. Back in the mid-to-late 80s, we had a Commodore 64, and I would play games like Q*Bert when I was only three or four years old. Then, when I was around five, we got an NES. I can’t remember all that much about the old C64 games of my early childhood, but I can probably recall most of the original Super Mario Bros. level layouts by heart. That game, its sequels, and other games like Final Fantasy and the Legend of Zelda left a huge impact on me.
Several years later my dad bought an IBM compatible PC (as they were called in those days) running MS-DOS 6 and Windows 3.1, which introduced me to a whole other world of games like Civilization, Colonization, and the original X-Com: UFO Defense. We also had a game called The Lost Vikings, developed by the company now known as Blizzard Entertainment, and the way the game combined puzzles and platforming left a huge impact on me at the time.
Growing up, I used to spend hours doodling level designs in wide-ruled notebooks. I’ve still got notebooks full of them in boxes someplace. I’d do levels for Super Mario World, Sonic the Hedgehog, The Lost Vikings, Donkey Kong Country, and countless others, usually with my own knock-off characters. So my fascination with game development is something that goes way back.
Then, when I was eleven or twelve, my dad introduced me to a simple programming IDE included in MS-DOS called QBasic. Pretty much anyone my age who was interested in game development at that time probably knows exactly what I’m talking about. It took me years just to figure out how to draw things to the screen other than simple text, and I didn’t really understand what I was doing most of the time, but I reveled in the chance to create things, even if I never did seem to finish any of them.
Eventually, I moved on to C++, and in time forced myself to finish something. That something was a rather pitiful little game called Block Drop that started out as a Tetris clone. But from there, I moved on to a game called The Pickles, which actually wasn’t half bad, and it got a lot of great feedback from the people on the Internet who played it. After that, my interests moved on to animation, and it would be over a decade before I finished another game.
“Along those same lines, what made you settle on .Net/Mono?”
XNA is the big reason. I wouldn’t have touched C# and the whole .NET Framework otherwise. Microsoft announced early on in the XBox 360’s lifecycle that they were going to let literally anyone develop for their new console, so of course I was all over that in a heartbeat. Making a game for a real life video game console was a childhood dream of mine,and I wasn’t about to pass that up. Unfortunately, it passed me. Before I managed to finish a game for it, Microsoft decided to kill off XNA without so much as a hint of fanfare, and so I never did get to see my game go to a console.
Instead of letting all the back end C# engine code I’d worked on over the years go to waste, I ditched XNA and rewrote the internals so that it would work directly with OpenGL and OpenAL through the C# based OpenTK library. This back end engine would later be used to power Another Star.
There’s a lot of unknowns hovering over C# and its direction right now, and Mono can be a real pain for reasons I don’t have time to discuss here, so I’ve actually seriously considered going back to C++ for my next game. But, on the other hand, I deeply dislike C++, and don’t care for a lot of the things the standards committee introduced in C++11. And really, C# is just a language I’ve come to love. So who knows what the future holds.
“Which platform has caused you the most headaches to support, and which has had the
There’s an old saying about Java: “Write once, debug everywhere.” The sad thing is, this is true no matter what language you’re using. Every platform wants to make it easy for developers to make things for their system, but they don’t really care if you can take your code elsewhere. (Apple is by far the worst in this regard.) There’s a reason so many studios and indies alike pick just Windows because of its enormous user base and then call it a day.
That said, although each platform has its own little (and big) annoyances, Linux by far has been the most troublesome. It takes the hardware disparity of Windows and then adds a whole new level of software disparity to the mix. Most of the support emails I get are from Linux users, and there’s many times the game just flat-out refuses to run on certain machines for reasons that are impossible to guess at a distance.
Windows and OS X are certainly no saints either. Apple has their own special way of doing things, and Windows is, well, Windows. However, the .NET Framework takes a lot of the sting out of Windows in a way Mono does not for the platforms it supports. Hopefully Microsoft’s move to bring .NET to other operating systems will change this in the future.
Across all systems, I use the same basic libraries, which in theory should make things easy, but in practice can be a real pain. OpenGL itself is pretty terrible. It’s the dictionary definition of cruft at this point, and its error reporting is a running joke. On top of all this, each operating system (and video card) has its own little issues and peculiarities, and when you get your code to work on one you find out that you broke it on another. And don’t get me started on the monstrosity that is OpenAL…
One of these days I really need to sit down and write up a series of articles about the challenges each platform gave me. I think other developers could get some mileage out of what I learned by trial and error.
“Where did you get the idea to have Magic use your Health instead of Mana/Magic?”
This was based on an idea that I came up with for an entirely different game. The original idea was that instead of “health”, you’d have a “vitality” meter. Each attack, magic or not, would cost some vitality, and you’d have to manage your vitality like a resource to stay in the fight and still put up an offense. It never got beyond the drawing board, though, so I never got into hammering out the details of how the system would work and, more importantly, how it would be fun to play.
Another Star was originally developed for the Ludum Dare 26 competition/jam, where the theme was “minimalism”. This is why the graphics are the way they are, and also why the battle system is so simple. There are only three stats for each character, you don’t target enemies, et cetera. Merging the HP and MP meters just seemed like a natural extension of that. It also added a bit of a gamble to the battle system, because you don’t want to risk spending a bunch of HP to set off a spell, only to take a big hit right after and get the character killed because of it.
“Are there any design decisions you made that you regret in Another Star?”
I’m a perfectionist, so yes; too many to count.
The biggest, though, would have to be the 256 tile limit. It was a really interesting, artsy-fartsy idea when the game was just a two-to-three month side project meant to have five or six dungeons. But as I began fleshing out the game, I insisted on sticking with that limit even as the game grew bigger and bigger, and as ingenious as I think my tile reuse was in places, I think the game really suffered for it.
It also doesn’t look as good as it could because of the tile limit. I know I could have made this game look so much better, and as a result the game doesn’t really show off what I’m capable of as an artist. It looks a lot like “generic programmer art” in places, which I think turns some people off. The sprite reuse can also get really grating at times, since most of the characters you chance across as NPCs in the game are just the same generic warrior sprite.
For a look at what almost was, you can take a look at this blog post I wrote back during the development of the game:
“I saw you posting some 3D images for a project on Twitter, is there any information
you would like to give on that?”
[You can repost some of those images if you want.]
There’s a Civilization-style game that I’ve wanted to make for years, but I’ve never been able to decide exactly how I want it to play. In my head it’s existed as everything from a Dwarf Fortress like empire-building-RTS to an old Koei-style strategy game.
The 3d work I was posting on Twitter was a test “leader character”, in part just to make sure I could still model. I got quite a ways on him, and even cobbled together a working 3d engine with my own special file format to store and load the model and animations. But when I got to the texturing stage, my indecision kicked into overdrive and I just couldn’t decide thedirection I wanted to go. Did I want it to be really bright and cartoony? Or more subdued;
maybe even slightly realistic?
In time I finally decided that the project would just be too big for me to work on right now, and that I’d be better off picking another game idea that I could do in around the same time frame that Another Star took me to complete. Oh well, maybe in the future. An earlier 2d incarnation of the game exists as a working prototype, and you can read more
about it here: http://www.visionriders.com/dev/timeline/
“Finally, are there any other developers you feel deserve more attention?”
Yes, of course! Although I feel horrible because I can’t name any off the top of my head. I honestly haven’t had the time or money to really invest in gaming lately, so I’ve neglected to keep up on what’s coming out.
Sebastian Mayer and Garret Randell are making a really neat theme park simulator called Parkitect in the vein of the original Roller Coaster Tycoon games that really deserves a look. Personally, I can’t wait to get my hands on it.
There’s also a small group called JoyMasher that recently came out with their second big game Odallus, which was in development around the same time as Another Star. The early demo they released was really cool, so I’m sure the released game is also pretty awesome, though I haven’t had a chance to try it out yet.
SolarLune has some pretty neat looking 2d sprite stuff done in Blender of all things. I see his work every now and then in my Twitter feed and it has a really cool vibe to it.
Joshua Cross, aka “Clairvoire”, is making a really sweet-looking ocean adventure game called Sealark. It’s been in development for what feels like forever, but I’m hopeful that it will be finished some time before Half-Life 3.
Again, thank you for your time. I hope everyone enjoyed reading that as much as I did. Until next time, everyone have a fantastic day!