Wow! GTA4 is an awesome game! The amount of content in it is mind-blowing. It seems whatever gta4 lacks in gameplay departments it makes up for by sheer quantity and quality of content. It was pretty sad when I spent 20 minutes in gta4 watching TV. Watching TV inside a video game…wtf…that’s a new low for me. As if being a couch potato or an eccentric gamer wasn’t ‘bad’ enough. It just goes to show the brilliance of gta4’s design. It’s like watching a very bad reality TV show on MTV. You know it’s bad, but you just can’t look away.

I’ve never played a GTA game before this so it’s all new to me. The whole ‘sand box’ idea didn’t appeal to me initially. Not having goals in a game bores me rather quickly if the core mechanic isn’t fun. Truth be told, if GTA4 didn’t have a compelling main storyline I would be bored already. The driving is ok, the mini-games are alright, the combat is so-so imo. All of these things have been done better in other more specialized games, but I guess the ability to do them anytime and anywhere appeals to a certain audience. The narrative is what drives me to continue. I keep wanting to see what happens next. And the culmination of all those mechanics to bring you a compelling narrative and gameplay experience is what makes GTA4 so great for me.

On the other end of the spectrum for me in terms of ‘sand box’ games is Skate. It’s still probably one of my favorite games on the 360. While GTA4 has the story, Skate has the gameplay. I can aimlessly wander the city in Skate for hours not giving a crap about the story. Why? Because moving around the city in Skate is fun. It’s the core mechanic of the entire game. Constantly challenging yourself is inherent to the gameplay of Skate…well because that’s what skateboarding is about. In GTA4 I tend to cut loose every now and then and just wreak havoc on the citizens, but not often. I’ve actually started whoring taxis to get from one place to another quickly because walking/driving around Liberty City isn’t that exciting to me. I’m more interested in the next mission to progress the story.

I’m not too far into GTA4, but far enough to see where this is going. The 10 out of 10’s GTA4 has been getting left and right doesn’t make too much sense to me. By all means it’s a great game. Quiet possibly the best game this year. But it has it’s flaws. Mind you, very minor ones but flaws nonetheless. A perfect 10 implies the game is flawless…so wtf? For one, the controls in the tighter areas (ladder climbing for instance) tend to become clunky. I find myself constantly adjusting the camera when driving to look at where I’m heading. In this day and age the camera should be smarter than that. They probably made the camera ‘lock’ like it does to reduce disorientation from the constant swaying of the vehicle, but it’d be nice for it to look at where your going instead of where you’ve been. Anyway, those were two that just recently stood out. Maybe if the gaming media didn’t rate games on a 7-10 scale we’d actually see a more ‘accurate’ judgement of the game’s quality. Or if they re-defined what the ’10’ means then I’d be more willing to accept it. Best game this year? possibly. Best game of this year and last? possibly. One of the best games in its genre? Probably. One of the best games ever? I doubt it. Reviewers’ scales are pretty vague on the meaning of ’10s’.

In other news, should have something of interest for Blitzmax users soon (this week if all goes well). Also going to try to update some of my samples for XNA to 2.0. Particularly, the 2D camera example. It’s still written for XNA 1.0 beta last I checked!!! So bear with me on that.

Update:

Just wanted to make sure that others are aware that I haven’t dived into GTA4’s multiplayer offerings yet, and this was just my initial impression of the game. Maybe MP more than makes up for the issues that I came across in single player :).

Functioning off of very little sleep in the last 48 hours… But finally got a good lock on what game I’ll be designing and developing in the coming months. More news on that in the upcoming weeks! My head is still spinning as I’m trying to pick up WPF, Open XML, Linq, and a host of other new technology/concepts for the last couple of days for a project at work I’ve just been assigned to. It’s great experience but a lot steeper learning curve than the usual. I think it’s bad when I’m just about to drift off to sleep and my mind is still churning C# code from work hours earlier…Ah the joys of overtime :|.

Pardon the dust, currently experiencing some major technical difficulties with my blog…must…sleep…zzz…

I always knew that your state of mind affects your productivity. Had a pretty rough week last week and work on my prototype suffered for it. But in the end, I realized time was a-wasting. You have to keep at it regardless of how you feel that day/week/month, because at the end of the day no one is asking you to do this. I never doubted that working on indie games would be difficult and you should approach it just like any other serious job, but it’s now becoming clear how to approach it. I have to set aside all the daily BS that’s going on in my life and whatever is currently on my mind and focus for 3-4 hours a night on one specific goal. But enough about that…

XNA community games seems to be on the horizon and I’m pretty excited about it. Should prove to be interesting to see what the community will come up with. In other news, I was suckered into buying N+ knowing full well the free flash game exists on the PC. N+ on the 360 is amazing though. I bought it for the co-op play and the convenience of sitting on my couch instead of a computer chair :).

I’m zeroing in on my final concept for a game I plan to develop for 2008. It’s certainly got me thinking though. It’s a 2D shooter, which in the casual game space is not popular at all. So on one hand, I love shooters and I’m intrigued by the type of shooter I have as a prototype [a slightly different take on the typical 2d shoot-em-up]. But on the other hand, I feel no matter the amount of effort put into it, it’s not going to sell well. But I like to think my meager market research just doesn’t have the right type of data. I’ve been looking at distributions on some of the bigger portals, but they tend to have a different type of audience. I need to focus on a lot of the smaller more ‘niche’ portals to possibly make this worthwhile, not to mention developing my own web presence. I’ve got 1-2 other ideas currently that I know I could go with, and about a ton of others I’d still have to prototype to see what works and what doesn’t. I hope, in the next couple of months, to have some actual content to put here. But until then, just smoke and mirrors ;).

Going onto my 4th prototype this coming week. One thing I’ve quickly realized is if I want to make a decent game that has enough depth to warrant as a full game then trying to crank out a prototype in a single week is unrealistic. With my current work schedule plus life’s many other challenges, the average 10-15 hours a week I invest wouldn’t be enough. I’m ‘redefining’ my time schedule to mean ‘total time spent on a prototype shouldn’t be more than week’s worth’. This’ll come out to 40-50 hours per prototype.

In other news, if you love rhythm games they you must check out Audio Surf! I installed this game and started playing…then 3 hours later I realized I had spent too much time playing rather than working on my own game. It truly is an amazing game. What makes it amazing is how it’s able to take your song library and construct interesting game levels out of them. It’s like the perfect game development situation: almost infinite number of levels and replay value because their engine adapts to the audio input given to it by the user. I wonder if anything like this will ever be applied to more traditional games like platformers or 3D shooters.

Garage Games launched their Instant Action Beta some time ago. It looks to be a very promising platform for indies who make games geared to an audience that is a little more ‘serious’ than your typical casual game player. I imagine many casual games will be on there also.

As for my current gaming, I just recently finished Assassin’s Creed (superb gaming experience), still play Call of Duty 4 multiplayer on occasion, and just picked Mario Galaxy back up after finishing Assassin’s Creed. I sometimes wonder if playing these triple AAA retail games hurts my creativity when it comes to thinking up my own game concepts. I’ve recently tended to conjure up concepts that were simply too big in scope and/or too cinematic/dramatic for a casual audience. One thing I have learned though is my strength is in action games. They interest me enough that I can see myself following through with them 6+ months down the road (Gunstyle being a perfect example, which lasted 2+ years just for one of the versions). Whereas some of the more laid back casual games can barely keep my interest through the trial period, so I imagine things would be much worse if I were developing them.

I’m finding it difficult to strike a balance between too ‘hardcore’ and casual-action, but it’s something that’ll get better with time. Adios.

So far the new year is working out A-OK. I’m about 60 hours into developing my new game framework and 5th prototype for my next project. For those that are curious, it is being written in Blitzmax. Why? well it’s a straightforward language that is also pretty easily extensible, should the need arise. I’ve used Blitzmax’s predecessor for about 2 years, and I’m familiar with it. What more reason do I need? It’s perfectly capable of making great commercial products so I’m not worried about the language not being ‘professional’ enough, even though it’s not a mainstream language. But who cares what others think, right? If you can present a fun game to an audience that works on the majority of hardware, they won’t be questioning which language you used if their too focused on beating that next level (assuming they even know how to program)!
In regards to Gunstyle, development on it had stopped near the end of December. I don’t imagine I’ll be picking it up anytime soon as I’m focused on other things. It’s probably upsetting to those that were looking forward to a robust networked XNA game, but you gotta do what you gotta do. Gunstyle has been a game in my head since early high school. After finishing two full versions of the game it’s still a way’s away from what I envisioned (but damn fun regardless). The XNA version of Gunstyle got much further towards my original vision and I imagine if I were to do a 3rd version of it I’d get even closer. But I feel spending years of development time right now on something that won’t succeed due to lack of time/funds/experience is time wasted. In other words, I need to scale back on the scope of my future projects (aka no more full scale multiplayer for a while). I’ve learned a lot through the creation of Gunstyle and wouldn’t replace that time spent with anything else. Gunstyle XNA was planned from the outset to be a game to compete in Microsoft’s Dream Build Play competition and anything beyond that was super hazy at best. We built it, submitted it, and won 3rd place. I’m extremely happy with the outcome. We achieved what we set out to do :).

As for XNA, I don’t see myself developing full games in it for the immediate future. That’s not to say I don’t like XNA. I absolutely love XNA. But with me working towards being an indie developer, XNA is not the answer right now due to it’s restrictive nature regarding distribution (both technically and financially). But as for coding with XNA, I don’t intend to stop. I hope to keep in the loop with the community (#xna on EFNet especially!) and the framework in the coming months.

I’ve been thinking over the past few days on which direction to take this blog as it’s ran stale for content for a long while, and hasn’t been particularly interesting in terms of content anyway. I couldn’t pin point where to take it, but I know where I won’t be taking it. I won’t be posting dry articles eluding to some mysterious game in the works and that it’s coming months from now. Instead, I want to focus on the development of indie games. Essentially, less focus on the actual game and more focus on the process, inspirations, ideas, successes and pitfalls of indie game development. So maybe someone going through the same situation and looking for some info can read this and see what to do and (mostly) what not to do :P. Onwards!

Yawn! Man, I’m tired but can’t fall asleep. Just finished my first play session on Gunstyle on the Xbox 360 a few hours ago with a friend (2 player split-screen). The day before I finally got split screen working fully (up to 4 players) with the exception of the in-game HUD. Overall, we had a good laugh and the rounds were exciting, but I’m not satisfied with the controls :|. Since a big part of Gunstyle is movement, this creates a poor gameplay experience. Guess that’s the nature of game design :). Gunstyle from the very beginning was always designed with a PC in mind and the flaws in the 360 version are apparent from this.

First off, the thumbsticks do not have anywhere near the fidelity/accuracy of a mouse. This makes aiming at fast moving objects (while you’re moving at a brisk pace also) very very difficult. Sure, after a few rounds of play we were getting accustomed to the aiming scheme but on the 360 I felt like 50-60% of my shots are just pot shots with little hope of hitting anything. As a result this turns into a spam fest. I’m going to have to come up with some alternate aiming schemes that come close to retaining the accuracy of a mouse, possibly implementing a slight auto-aim of sorts (ala Halo) or maybe something more drastic: Altering weapons to become more thumbstick friendly. This could come down to actually making new weapons that require less accuracy to make a hit.

Secondly, there are moments while running around the level and you want to do a simple jump up to a ledge or hop over a gap, but simply don’t have any way to express that movement. This has been somewhat of a problem in the PC version also, so it’s definitely a more fundamental issue regardless of platform. But it seemed more pronounced on the 360. As some of you may know, this version of Gunstyle on XNA is a remake of an older version built 2 years ago for the PC, except with several new maps. I think the key difference here is some of the maps are more corridor-like and closed-in compared to the first version where maps were wide-open terrain with a focus on smooth speed. So our physics-based control issues could have existed back then, but weren’t visible due to maps not requiring that much finesse to navigate. I’m going to experiment with a ‘digital’ control scheme where your left/right movements and speeds are more concrete, where as right now you simply slowly accelerate left/right based on a key press or thumbstick movement. This may alleviate some navigation issues. Another issue here is that wall jumps on the 360 are harder to do for some odd reason. I may make them stronger to give the wall jump a straighter trajectory on the 360 so players won’t miss jumps as easily.

And lastly, another major point of concern (as it always seems) is performance. Having 2 or more player split screen sends FPS below optimal (30 fps). I’m hoping GarageGames releases their newest version of TX with performance improvements sometime this year, otherwise I’m going to have to roll up my sleeves and start gutting TX or Gunstyle to trim down on some of execution time. Interestingly enough we hit our 30 FPS goal with eight players on the PC (no split screen though), but the 360 struggles with 2 players and 2 view ports. I’d like to think it’s something we’re doing on the game-level that’s slowing it down, but I’ve yet to find this bottle neck :/.

So anyway, that’s the state of Gunstyle on the Xbox 360. At the moment I’m still not absolutely sure where I want to take Gunstyle platform-wise. Getting Gunstyle running the 360 took about a week and a half (working in the evenings for a few hours), so it’s been a pretty quick turn-around and exciting to see it running on the console. It still is fully cross-platform code for the PC, so I haven’t abandoned that. On the plus-side, the overall performance tends to be better on XNA-capable PC’s. But networking and hardware compatibility (mostly shader and render target issues) is a bitch. With the promise of Xbox live access this coming holiday season I’m really drawn to the idea of not having to write a dedicated server version of the game (basically from scratch). Right now, Gunstyle works by letting players host servers on their running game. Without a dedicated server on the PC version, it’s hard to retain players in games and overcome networking issues such as firewalls and routers. Not knowing too much about the Live networking, that could also be the case there, but I can dream can’t I? I fully intend to be ‘done’ (aka feature-complete) with Gunstyle by year’s end. That way all that is left is bug fixing and maybe a little polish, but ultimately free me up to start a new project with a much smaller scope (read: single player). Having started development of Gunstyle in XNA in February it’s quickly approaching a year-long development time! That’s enough late night rambling, Happy Halloween!

After a lot of tinkering I got split screens functioning in Gunstyle. TorqueX supports split screens natively so i expected it to work rather simply, but due to some modifications and how Gunstyle game code worked on top of TX it complicated things a bit. Below is just a screenshot of two player screen shot on “Fool’s Paradise”. This is also working on Xbox 360. I am going to have to optimize some load times as they are drastically longer on the 360 (particularly loading assets initially on start up). You’ll notice in the image below some things aren’t done, like the HUD. Anyway, back to work :)!

Gunstyle Split Screen Multiplayer

It has been a while since I’ve talked about Gunstyle so I figured a post was due on the status of the game…

Gunstyle Dev shot

Right now development is rather slow just due to our busy college schedules. It’s also the last 90% so it’s always tough ;). Right now Gunstyle is a PC only title due to it being a multiplayer centric game (XNA 1.0 lacking networking functionality on the 360). Personally, I’d love to see Gunstyle on the Xbox 360 and take it in that direction, but I guess it’s more of a ‘wait and see’ right now until XNA 2.0 hits. As a result, I’m holding off on writing a dedicated server, and also trying to decouple TorqueX from it’s graphics pipeline and game logic (too allow for a light-weight server app) has been rather painful, and I’d rather not re-write a graphics-less version Gunstyle. These days it’s mostly polishing and fixing bugs with little new content. Looking at the latest development screenshot above you may notice some of the effects are familar :). The distortion is a post-process effect I first developed as a component and Ziggyware article. The trail you see behind the flag and player is a seamless ribbon trail. This again is another component I developed separately and was featured on Ziggy’s site with source and tutorial, so go check it out if you want to use it in your games! I also added in a post-process bloom to the engine, which adds a really nice subtle touch to the level graphics. Each level has it’s own custom bloom ‘strength’ to give that level a certain look and feel. The image above is a picture of the ‘Hive’ map which has a bright techno/industrial look to it.

In terms of gameplay, the mechanics haven’t changed much but the rules of engagement have. After spending a little over a month optimizing game code we found TorqueX bottlenecking on some of scenegraph functionality. After doing some minor tweaks in our code to minimize calls into TX we decided to bite the bullet and scale the game back. Originally we targeted the game to be played by a maximum of 16 players in one server. We halved that number down to 8 to give us stable frame rates across the board. I was hesitant to do it, but I’d rather get the game out sometime soon than toil with optimizing algorithms and doing complete re-writes of engine code for the next 6 months.

We hope to have a full public beta released for the PC sometime later this year :). That’s all I have for now, more updates hopefully in the next couple of weeks!

Hey again! Two updates in less than a month! Wonder if I can keep this up :). Anyway, just finished another article for Ziggy’s site. This one shows you how to do those cool, seamless ribbon trails you sometimes see trailing behind melee weapons (swords, sticks, etc) and other objects. I’ve also included a sample with full source code that works on both the PC and Xbox 360. So go check it out!

January 28th, 2010 Update:

Ziggyware.com seems to be down indefinitely. As a temporary solution until I get back around to hosting this tutorial myself you can find the Google cached version of it here. If you wish to look at the sample code and illustrations in full you can download the XNA sample from my site here. Note, that the XNA sample was built on a very old version of XNA so my guess is it will not compile out of the box, but the general logic for the ribbon trails should be the same regardless of XNA version.

Wow it has been a while! School is back into full swing so I’m spending time at school and in labs longer than should be legally allowed :|. I managed to scrounge up some spare time to write up this distortion shader article and some explanation of how things work for Ziggyware.com. Go check it out! Feedback is welcome as I’m still somewhat new to the world of shaders. Below is an example picture of the post-process shader in action.

Distortion Shader