....................../´¯/) ....................,/¯../ .................../..../ ............./´¯/'...'/´¯¯`·¸ ........../'/.../..../......./¨¯\ ........('(...´...´.... ¯~/'...') .........\.................'...../ ..........''...\.......... _.·´ ............\..............( ..............\.............\...
Archive for XNA
A Steam Greenlight community member was kind enough to ask me to explain my position on why Retribution is different from Super Stardust HD. Below is my following response because I get the feeling that I’ll (yet again) be forced to justify why there are no ponies or crafting recipes in my game; because that is what apparently makes games unique these days… Enjoy.
Don’t take offense to this but the clone argument is getting really old for me =( I’ve been fighting it for nearly two years now since the first screenshots were hitting the web. I think the problem is that the number of games in this space (spherical shooters) are so small that anything looks like Stardust.
Let’s face it; Call of Duty, Battlefield, Bad Company, Flashpoint, Sniper, America’s Army, Medal of Honor, Arma, all of the sequels and spinoffs, need I go on? Give me a sizzle reel of all of those put together and it would look like the exact same game. So you tell me; what makes Call of Duty better (or even different) than Battlefield? All of those shooters have M16 and MP4 and 9mm guns and they all have frag and flash grenades and epic explosions and crashing helicopter scenes. They all have swarms of bad guys that spawn and run into the room before you go to the next room and rinse and repeat. They all have “you drive I shoot” sequences and intermittent banter and chatter between the squad members. Even the most valued member of your squad “Follow” is present in every one of them. On the surface, there is nothing to distinguish these games.
It’s the little differences like better vehicle controls in Battlefield vs. more twitch controls in Call of Duty that are the baby steps that serve to separate them in the end. So when I read a constant barrage of “I saw a screenshot of your game and it looks like ____,” it just reaffirms how little most gamers really know about the experiences they are having.
It has been said many times in the game development industry that “content is king” and for 1 guy to compete against an entire company with seasoned artists and designers is a thankless effort because the end result is that you just get shit on for not being as good as that AAA company. I never set out to clone Stardust and I never denied that there are similarities, but finding the line that separates ANY two games in the same genre is one that each person has to find for themselves.
I’ve tried the bullet point list of “here’s what’s different” and people just reply with “here’s what’s the same; you have a gun and bombs” so I honestly can’t win because it’s like justifying why a boxing game has punching it…
As some of you might know, I recently published my latest Xbox LIVE game called Ashlands: Retribution. In Retribution, I used a lot of sneaky tricks to keep C# running at respectable rates. This article will cover just one of those tricks.
The original incarnation of Retribution was called Seizonrenda and, in addition to the impossible name, the game had some considerable performance issues. Resolving the performance issues was a top priority moving into Retribution, a game that turned out so much better than this lone coder could have hoped for.
One of the performance issues that the game had was a result of starving the CPU whenever more than 10 – 20 enemies was on the Orbital Grid (OG: the visible grid around the planet that represented the field that was in play). Many asteroids could be put into play; ~500 was enough to blanket the Orbital Grid. Enemies however had a particularly expensive series of behaviors. The AI would not only chase the player, they would avoid each other and maintain spacing between them and the hundreds of asteroids on the planet.
The AI and projectiles on the OG all had the same issue, they needed to be aware of game objects with a full 360 degrees of freedom since enemies were dropping into orbit and flying around the planet at varying speeds. The original technique involved a greedy search where each AI and every projectile performed a linear search of the entire registry of game objects. This quickly devolved into an O(N^2)+ solution. To avoid some redundancy the projectiles were managed in a separate list, meaning projectiles always checked if they hit something but the AI never bothered to check the reverse of that case. This didn’t help as much as I had hoped since (in Seizonrenda) the player was the only ship who could shoot. This would not do in Retribution, where enemy projectiles could blanket the planet as much as asteroids. » Read more..
Retribution is available now! http://bit.ly/ITT0yV
There are so many little subsystems within Retribution that it is hard to keep track of them all sometimes. The augmentation system is probably the most obvious, allowing the player to upgrade their ship over time. With that, there is a kind of leveling system that works hand-in-hand with the augmentations. On top of all of that, there are layered features like high score tables of course, but also also gamer trophies. Taking high scores even further I’ve circumvented the limitations of Xbox LIVE Indie Games with a global ranking system. This system allows players to use their phones and tablets to easily submit their scores to a global database on the web. From there, anyone can see if their score was enough to make the short list of the top players in the world. I think it turned out pretty well, considering the limitations that I had to work with.
Sprinkled between all of the big systems that I already mentioned are the micro decisions in the game. Each enemy has a unique behavior, giving their patterns a very old-school feel. The combinations of those patterned behaviors is where things get very deadly. Some of those most deadly enemies are the ones that do not directly charge after you. Leaving some enemies unattended is a regretful decisions and other enemies are generally harmless, even if they are unpredictable. This unpredictable nature however is what makes them difficult to read and can result in unexpected collisions. Blending these enemy classes into a completely dynamic and chaotic play-field makes for some intense moments.
Oh yeah! I almost forgot the Overdrives (like I said, a lot to keep track of). This is a huge part of staying alive in Retribution. Not using your Overdrives is a sure way to die early and often. Learn the strengths of each Overdrive and when to use them. This is the key to living longer and scoring high.
If you purchased the game, check out the Special Features. There is a bunch of great commentary in there and a list of all the trophies in the game.
This week sure has been lively and my blood is cooled only to a simmer. After a long and pointless debate with other individuals I’ve come to see the larger picture that is forming around the Xbox LIVE Indie Games platform. » Read more..
In all my haste, did I really forget to post this? Silly programmer… I realize that I’ve been so crazy with the tweets, doing what the cool kids do, that I forgot to blog! Lately most of my blogs have been about game impressions or thoughts about the future. Anyhow, in preparation for Dream.Build.Play 2012, maybe I will try to refocus a few posts on the game at hand.
There has been a lot of buzz (again) around Microsoft’s attempts to bury anything under their Dashboard that isn’t a Zune or Doritos advertisement.
I just don’t know what to think about this anymore. If you’ve read my post Working for Free then you know that I don’t exactly take pleasure in pouring my heart and soul into something without some kind of promise that it will at least payout (even a little bit). Don’t get me wrong I love making video games and that hasn’t changed in my 16+ years of doing this, but I can’t help but wonder exactly what Microsoft’s real intent is with Xbox LIVE Indie Games.
After grinding through a list of ideas, I’ve come up with a few things that Xbox LIVE Indie Games (XBLIG) is NOT:
(!)A way to promote your name as an indie developer
The fact is that not many people look at this service with rose colored glasses. It is the bastard child of Xbox LIVE, so much so that they insisted on appending “Indie Games” as if to remind everyone that these are not Real games they are Indie. Okay, maybe that assessment is a little backhanded but thinking about it. The title of Indie is both, a way to promote this ethereal concept of cool and not-mainstream while simultaneously apologizing for the crud that sits along side the truly entertaining games. It was pretty smart on Microsoft to use this title.
To ensure that no one will mistake you for a serious developer, they’ve gone to great lengths to segregate the Indie games service from the “real” games service. If you plan to use this service as a way to promote your development skills, be sure to include the 7 step process it takes to find your game. A video tutorial of navigating the Dashboard menus might help too, oh and a map of Valhalla in case they get lost along the way.
(!)A way to upgrade into “real” games
When I first heard about this service, I started developing games under the pretense that the better quality games are pushed up to the XBLA platform. Though this is partially true through their Dream.Build.Play contest, it is an event that only happens once a year. That means that 4 lucky developers out of the hundreds will find their way up to the ranks of XBLA. Though this is a step in the right direction, I’d like to see a process that would allow more than 4 games per year make an appearance.
(!)A career opportunity
Though there is some weight to saying, “I made a game on Xbox, here’s a download code” as part of your resume it doesn’t stretch much beyond that. The skills that you acquire in developing an XNA game are only 5% or less of those you would apply to a true console title. There are high-level concepts that you don’t often deal with on PC, like prompting the user if the controller is pulled out or dealing with the console Dashboard popping up, but the low-down technical knowledge here is not very applicable.
There have been recent claims that the top 50 games have averaged over $100,000 but I am skeptical. When you have Minecraft clones consuming 50% of the honey pot it doesn’t leave much for the other 47 games to fight over. On top of that, I am certain that the curve on that graph is an exponential decay; meaning the last 30 on that top 50 list have likely made less than minimum wage. In short, if you are in it to pay your bills and eat food look elsewhere or hope that your Minecraft clone will be ready before the wave has past.
I know that this post sounds like a lot of complaining, but it really is more of a reminder and a warning to those looking to strike it rich whenever they read about some Minecraft clone making $2M or some Avatar abuse game making over $100,000. The XBLIG market is a fickle ocean of impulse buyers who often follow the trends of whatever happens to be in the top 5 or screaming for their attention through Microsoft promotions.
In spite of all this bashing, I am giving XBLIG one last chance for redemption. With my book Mind of the Mencist now published on most major marketplaces, I have returned to the Indie games service for one last chance in my latest game. After this, I just don’t know if I can justify my months of gut wrenching effort for a service that doesn’t want to know my name. It is a loveless relationship but, for a dual-stick shooter that uses the full analog spectrum, it’s one that is worth giving one last chance before I venture back to the world of PC games… Xbox analog sticks, you will be missed.
Since I’ve been getting back into XNA lately, I thought I’d share a simple but effective approach to screen independent UI. It’s a technique I’ve used for as long as I can remember and later adopted it into my XNA projects. If you’ve ever found yourself working with UI and suddenly (for performance reasons, whatever) you now need to consider alternate resolutions, this can be a scary thing while you are knee deep in development.
Enjoy the first public images of my game currently in development!
A must read! Visit http://bit.ly/zcV4tn for a complete list of all the places you can find the book.
This is a story to help explain some of what is going on in this game. Hope you enjoy it.