So, like an out of control Katamari, The IndieGarden does not seem to want to stop! I recently had the chance to sit down and play Star Ninja by Bounding Box Games, a company started by Eric Cosky, a programming pioneer who has previously worked on eminent titles such as Everquest (including its 8 expansions) and also wild west adventure, Red Dead Redemption.
In Star Ninja you play as the aforementioned Ninja, rooted to the spot in the bottom-left corner of the screen with a number of surly and equally immobile pirates dotted around the level, your goal is to eliminate all of the pirates within the single screen level to move onto the next level. This concept sounds simple enough and is probably the basis for a number of similar flash and mobile games on the market, but when you couple that with the four different game modes and 50 levels that Star Ninja has, you start to realize you are getting quite a lot of game for those 80 Microsoft Points.
One of the nicest touches in this game is the fact that, at no time playing it, did I question my motivations behind knocking these pirates around like ragdolls. The seemingly eternal struggle between the stealthy ninjas and the rum soaked pirates is now such a given that it’s a safe gambit for any game that is able to hold its own. Gameplay wise, fortunately for Star Ninja, I found myself hooked (not a pirate reference…though that might have been a good one) from level 1 onwards.
The different game modes in Star Ninja include Focus Mode which gives you a limited number of stars per level and a time based bonus awarded at the end of the level. Frenzy Mode (which is probably my favorite mode) gives you unlimited stars to throw but a set time limit. Campaign Mode has you work your way through the levels with a limited number of stars and your score is cumulative over all of the levels, and Speed Run which is similar to Campaign Mode but adds a timer to the mix. The faster you complete the level, the more points you accumulate. Also, as with Campaign Mode, your score is cumulative over all the levels.
As smooth as the gameplay is in Star Ninja, it isn’t without its frustrating moments, however, on more than one occasion I found myself carefully planning out a particularly difficult level which I had spent a number of attempts on, only to ‘accidentally’ complete it during my preparation. I was resolved to the fact that I would spend two, maybe three attempts carefully plotting out the different angles, which the stars followed, and precisely where to throw my stars on the next level and half way through I was presented with the Level Complete screen. This is by no means a criticism toward the gameplay however, this is merely an over-analytical reviewer pointing out that sometimes, all the planning in the world means nothing in the place of a lucky shot.
Star Ninja is a fun game which appears on the surface as your run of the mill physics/rag-doll game but if you simply scratch the surface of this title, you quickly realize that this title is the work of someone who deeply cares for and loves video games. Bounding Box Games has tried to bring us a fun and entertaining title and for 80 Microsoft Points, I think it’s a real bARRRRgain (sorry, I couldn’t resist!)
As a continuing part of The IndieGarden, I managed to have a few words with the developers of Star Ninja!
– Firstly, could you tell the readers a little more about Bounding Box and where you guys originated from. How many of you are there? How did you start as an independent studio.
Hi there, thanks for taking the time to talk to me.
My name is Eric Cosky, and I started Bounding Box Games in October 2010. After about 13 years of working for others within the game industry, things had changed in a way that gave me hope that I could make my lifelong dream work – or at least, a window of opportunity better than I’d seen in a while. I’m referring of course to digital distribution and new markets which have enabled small scale development work such as ours. By small scale, in our case this means it’s pretty much just me with the occasional helping hand from friends & family as we work on small games and the tools that help create them.
Prior to my official game industry career, I had been doing independent programming, multimedia and related technical work for a number of years. Going back further, I was one of those geeky kids in the ‘80s who spent what most people thought was way too much time playing games and programming. I was just blown away at what I could see coming in the future. I couldn’t get enough then, and even today I look forward to being part of more cool things in the future.
A big part of my inspiration came from those early days, where individuals and small teams were creating stuff that had never been dreamed of before. For a long time I felt like I was playing catch up to those early devs, never quite figuring out how they managed to pull off the amazing stuff they did. Back then it was hard to get meaningful training of any kind, pretty much everyone was left to their own devices to figure out how to make games. I stuck with it, and eventually I got up to a level that allowed me to join Westwood Studios back in 1997. That’s when the world opened up quite literally because I was surrounded by brilliant people in a friendly culture that encouraged sharing of knowledge and helping each other with tough problems. Many of the people I worked with back in those days have continued on to do great things in the industry, from writing books and cutting edge papers on graphics to creating other successful studios. Others – like me – took that experience as a seed which grew into long and healthy careers making games. I don’t really expect to stop making games until something beyond my control stops me; it’s just too much a part of what I do and who I am.
– I understand that you used to work on large titles such as Everquest and Red Dead Redemption, firstly allow me to say just how impressive that is and how humbled I feel talking to you! Secondly do you all have previous background experience in such large titles? Or are you kind of seen as the ‘tallest kid in the class’?
[I’ve] been grateful for being able to play a part in those games, creating them (or in the case of EverQuest, extending with 8 expansions) were all fantastic experiences. It’s always fun to be reminded of how much fun people have when they play them. Red Dead Redemption is of course a career highlight for me with all the public recognition of our work, and it was very hard to leave the old crew behind. The same is true for all the other teams I’ve worked with in the past. These days, working alone for the most part, there just aren’t any laurels to sit on. The fact is, I have to do almost everything by myself, or it probably won’t get done. Any success I’ve had in the past has no bearing on my ability to finish games today. It’s a pretty brutal transition I have to say, where there isn’t always an infrastructure there ready to help. It’s also very empowering to solve complex problems on my own without the convenience of having at least one other expert on the subject in the building. It’s made me a better developer to have to face every problem head on and solve it myself because I’ve had to cover quite a bit of new territory this past year.
As for being humbled… well, that’s always a bit awkward for me to be honest. I don’t really like claiming significant credit for the games I’ve worked on because the magic that makes big things like RDR or EQ possible only appears when a team is working smoothly. Having visible, charismatic people carry the flag for a game in the public eye is good, but I’ve never been that kind of dev. I’ve always just focused on making the games. I am of course happy to have worked on popular games; I know a lot of devs who work just as hard and are at least as smart about what they do but due to circumstances entirely out of their control their games don’t do well. So it’s pretty easy for me to just be a regular dude about all this stuff, because I’ve been in that situation plenty of times. All I can say is keep trying but do it for the sheer joy and satisfaction of it. That’s the best part of it for me, and that’s why I keep doing it. Award winning games are great, no doubt about it, but at the end of the day – each day – if you aren’t having fun with your work then there isn’t much point in making games. The best devs I know all share that attitude and I think it plays a big part in why they are so good at what they do.
– Fascinating, thank you. Moving onto your game, Star Ninja, I couldn’t help feeling on more than one occasion that the physics, whilst solid, sometimes gave way to chance and even blind luck, I mention in my review that no amount of planning can take the place of a lucky shot. Is this something that was planned when building Star Ninja or is this one of those happy accidents?
I did my best to make the physics consistent because I’m convinced that games just feel better if they have behavior that doesn’t noticeably change just because the frame rate has. To that end, the game is using a fixed step simulation so that variations in frame rate will not affect behaviour – in other words, bouncing off walls and similar objects is always consistent. Despite the core physics being predictable, there is still plenty of opportunity for variation to make the game feel more natural. Subtle positioning changes or timing of shots goes a long ways to make the game feel a little random, but in a good way. So was it planned? Not exactly. I just made efforts from the outset to make the physics as stable as I could because I’ve always felt that is an essential part of any game. Early builds of Star Ninja had a lot more variety in the environment which made it feel even more unpredictable because irregular surfaces were much more prevalent back then. We eventually decided to put in a grid system for the levels where the cells are perfect squares, 45 degree angles and other more predictable surfaces. Our goal with almost every level was to have at least one way to finish it without relying on chance. It’s not obvious in every level, but that was our goal and something we specifically tested for. We left a few exceptions – just a few – in there just to mix it up a bit, knowing that some extra stars would be enough to overcome the odds and finish easily enough.
Physics is one of those things that, if done right, you don’t really think about but if it’s done wrong it’s all you can think about because a game with broken physics is usually just plain broken. From a development standpoint, solid physics is the bedrock upon which you can tune the game where you want it rather than accepting what you happen to get.
– I was very impressed by the sheer number of levels present in Star Ninja, do you think you will ever create more as DLC or as a second Star Ninja title?
I’d love to revisit Star Ninja and create more content for it or possibly a sequel with more features. I think the branding is great, the premise is fun, and feedback from players has been almost completely positive so it’s something that could make a lot of sense to work on some more. I haven’t committed to anything yet though; I want to finish this next project before making that decision.
We created all the levels with a Windows version of the game that has a built-in editor. I’d like a sequel to provide access to this, as well as sharing levels between players. We’ll see what happens though.
– Were there any major problems when developing Star Ninja? Did you ever hit a big snag or did the creation of the game all go smoothly?
One of the first things that became an issue was the physics performance – it just wasn’t good enough. Ragdolls aren’t cheap, and neither is all the objects bouncing around. If you pay attention to this sort of thing on other games, you’ll notice that not many of them have quite so much going on physics-wise. It took a lot of work, but in the end I am happy with how that turned out. Star Ninja uses the open source Farseer physics engine, which is a great solution for 2D physics but Star Ninja’s performance problems demanded some improvements there. One cool thing about Farseer was that not only did the open source allow me to work on and solve the performance problems, I was able to contribute these optimizations back to the Farseer project. My past work for other companies never let me do that sort of thing – more often than not I couldn’t even discuss what I worked on with the public even after games had shipped. It’s pretty neat to be able to interact with communities like this.
– What was your main inspiration for the design of Star Ninja? Was there another game you drew inspiration from or did you guys sit down and think up the concept?
I have played games that share some features in the past, but I can’t recall any one in particular. I didn’t aim for this design at the outset; it’s just where the design process led me. I had it in my head that I wanted to do a fairly simple game, something achievable by a team of (mostly) one within a small amount of time. Something that leveraged my background in physics made a lot of sense because that isn’t something many people know how to do very well. Something 2D because that is what my codebase is currently geared to support. It also had to work on Windows Phone 7 and XBLIG to spread the risk and possibly increase sales. Above all else, it had to have character, humor and would be easy to learn. I saw a 2D ragdoll demo one day (I think I saw it in Farseer while working on MoonLander) and thought to myself, this could be a game right here if I just come up with a reason to make them flail around. I figured if I can make people laugh a bit while playing then it might be worth a buck to them. What I didn’t anticipate is how much the younger kids would like it. That is something I’ll be paying more attention to in future games, no doubt about it.
One of the main things I am working on getting better at, and Star Ninja was the first serious effort at this, is to think about the entertainment first and technology second. This is something I’ve believed for a long time now, but as a programmer in a company it’s not something I’ve had much opportunity to explore – programmers are responsible for creating the foundation of every game, and we have a responsibility to think in terms of concrete problems and solutions and it’s a hard mindset to get out of if you’ve done it a long time. A while back I had a bit of an epiphany where I realized that while brainstorming new game ideas I was thinking in very abstract terms, with nearly zero consideration to the technology because all I was doing was thinking about how to make something fun and entertaining. The designs I think about these days tend to make me laugh out loud as I imagine what it could be like. That’s the kind of game I want to make from now on: fun, funny and entertaining. Other stuff too, of course, but mostly that.
Now that Star Ninja is done and players have made comparisons to other games and it has been interesting to see how much they share (or don’t share) in common. Despite occasional similarities, I think Star Ninja stands on its own and is a fun and unique game.
– Where is Bounding Box heading now, after Star Ninja? Is there another project in the pipeline?
Oh yeah, there’s no getting off this train for a while. I’m working harder than ever on making this work and hoping for the best. Who knows where it will lead, but this is something that I have to make my best effort at and take it as far as I can because this is my lifelong dream here. My immediate goal is to make enough sales to reach a break-even point where the business is sustainable for the long term. If I can pull that off, I will be in a position to hire a few people to take this to the next level. To get there, I will need to be very careful about how I use my limited resources and probably more than a bit lucky.
Each project I’ve done so far has had a double purpose of creating a product and extending the tool set, and the next game will continue the trend. Our first project, Atomic Sound for XBLIG, resulted in a 2D animation pipeline, rudimentary 3D pipeline/rendering, UI toolkit, audio content tools, and basic low-level game components that all games require such as serialization support and other mundane stuff. Quite a bit of effort went into Atomic Sound, which provided the basic framework and a plan for tools to support future projects.
The second project, MoonLander for XBLIG and WP7, provided a basic game state framework, integration of Farseer into the content toolset, custom audio mixing, and exposed me to Xbox/WP7 portability issues. Star Ninja added much more to the physics support, tools for creating dialog (the pirate chatter), and more content pipeline tool work that was required to manage the surprisingly large number of assets that game required.
I have two designs I am evaluating now for the next project. Both of them are 3D multiplayer games which have the same basic technical requirements but I haven’t yet decided which one I think would be more fun to play. I’ve been spending most of my time since Star Ninja working on the tech I know will be necessary for either of them. Work during the past few weeks has been all about creating content pipeline support for character animations and custom GPU shader code which are going to raise the overall fidelity of our games by quite a lot. I am pleased to say that I just finished the first round of tests on the final code for the new export pipeline and everything seems to be working. All kinds of possibilities with regard to 3D content are available to us now, and it’s pretty exciting to think about what I might do with it.
– A slightly cliché question here I’m afraid…what kind of games do you enjoy playing in your spare time?
I love MMOs but I can’t allow myself the time to play them any more – at one point I was a top tier guild leader in EverQuest and that was quite a time suck (this was before I worked at SOE), but it was amazingly fun though. I tend to buy games on Steam these days when they are on sale, because it’s such a great value when you find something you like on sale there. I used to feel like a slacker not buying the latest games but after a few years of having a stack full of full price titles never getting played I started to be a little picky about where I spend my cash. Recently I’ve played quite a bit of Just Cause 2 because I like the unapologetic plate full of fun it serves up. My friends and I never seem to stop playing Company of Heroes for coop stuff, and the Left 4 Dead series is always fun despite it getting a bit old. Minecraft has been getting some of my chill out time lately; it’s a nice change of pace that my wife and I play sometimes. I have a shameful number of unplayed games in my Steam library that I am slowly working my way through as I get the time. Next up is Terraria which I am looking forward to. Not enough time in the day – or night! – for all the stuff I want to do! Hopefully the next project will do well so I can take a little breather and have a little more free time every now and then.
– Finally, I have to ask, did you guys voice all the pirate voices in Star Ninja?
I did all the voices. Arr! My first attempt was justifiably slammed by early testers for being uninspired, so turned the ham up to 11 and did my best to be entertaining with it. While I know I’m not the best voice actor in the world, I did what any good programmer would and applied technology to improve the situation. In the end, the voice work turned out to be a lot more entertaining than it would have been thanks to a dialog system that supports arbitrary conversation graphs between multiple actors. There are hundreds of phrases; nearly all of them are part of a graph that allows other pirates to verbally respond to game events or other dialog when it makes sense to do so. There’s a lot of funny back and forth bits in there, and I still get a laugh myself when I play the game sometimes which tells me I got at least a few things right with Star Ninja.
*Bounding Box Games provided SlimGamer.com with a promo code for a review copy.