Occasional Gamer

XNA development blog of Elbert Perez

Recent comments

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Save the Scribbles!


 In the dark void lives the lonesome Scribbles. Their mere existence is food for various monsters that inhabit the void. However they are guarded by a Scribble Meister whose sole task is to protect the Scribbles from their doom. 

Features:
  • The player can re-position enemy waypoints to their advantage
  • Dynamic waypoints make the game challenging by constantly shifting their position thus changing the path of the enemies
  • Puzzle elements have been infused with the map design, making players think beyond just placing towers by making the playing field more dynamic with pre-placed towers, and interesting tower powers
  • Players are encouraged to move around the battlefield to collect money and power up their towers with their presence 


Posted by Elbert on Friday, May 14, 2010 10:00 PM
Permalink |

Lessons learned from Scribble Defense

Scribble Defense is still going along development. I've decided to take a slower approach in making games now, making sure more polish is put into it, and generally not rush it until it is ready (wink wink). Anyways here are some changes I have learned from developing the game

 

  1. Favor simplicity over complication. From what I have researched, really accesible and simple yet fun games in XBLIG tend to send more than complicated games that takes minutes to understand. If the user cannot understand the game in 30 seconds, you probably won't get a sale from that customer.
  2. Added really obvious clues in the gameplay on how to play. The less the user has to think about the controls the more they concentrate on the game. So having lots of context sensitive reminders really makes the game more user friendly.
  3. Expectation that the game will be played over and over again is probably not the best expectation. XBLIG by nature should be a good 2-3 hour experience for the user. Most of the time they will be ready to move on to the next game after that time frame. So make the first 2-3 hours experience the best one. Also it is what people expect from $1 games.
  4. It is very useful to have a person who will genuinely critique your game as a advisor. I've been working with my friend Vernon Dunmore, and he is my Consultant in the Game Design of my game. Having a second person always asking questions on why you did something that way helps refine it further so that your target audience does not get confused by features in the game
  5. Simple things go a long way. A simple particle effect or sound when winning really increases the enjoyment of the game. I know it sounds very cheesy, but it's these cheesy stuff that make that game more memorable.
 
This is my 4th game in XBLIG, and hopefully I have learned from the past 3 games I have made and be able to make a successful game for the 4th time. 

 

 


Posted by Elbert on Wednesday, April 28, 2010 12:17 PM
Permalink |

My XBLIG game sales numbers

I think its about time that I shared some of my game sales so far as well as some insights into the business of making games for xblig. Let's start of with some numbers. As of April 9, 2010 I have these stats to share.

Game Price Point Release Date Trials Purchases Ratio
Gum Drop Celestial Frontier - http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d8025855026f/ 200 ms pts at launch switched to 80 ms pts in Oct 2009 July 26, 2009 2696 87 3.23%
Neo Terra - http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d80258550379 80 ms pts Nov 19, 2009 1949 164 8.41%
Impossible Shoota - http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d80258550442/ 80 ms pts Feb 09, 2010 8077 613 7.59%
Scribble Defense 240 ms pts ??? ???
???
???

Having these sales numbers is very humbling. I thought at first is that if I make a interesting and new game people will buy lots of it. But I think the sales of the game was hurt because of bad timing of the new 80 ms pt drop that I missed as well as having bad cover art. Gum Drop Celestial frontier took the longest to create of all my games, it took around 1 year from concept to a shippable product. I was also new to the XNA platform at that time which incurred a lot of research and learning. I did a fair amount of PR work with this game, and was able to get it on most XBLIG sites. However at that time most XBLIG sites were not mature and did not have alot of following.

The second game, Neo Terra faired better than Gum Drop Celestial Frontier, but it was still disappointing in terms of sales. This is also the first time I had someone else do the artwork for me in which I spent around $500 dollars for the artwork of the whole game. It took me 4 months to get this game out the door. I can also note that it went faster because I had known the platform alot better and have a collection of libraries that I could use to make my game. It also helped that I pretty much was trying to mirror galcon in terms of gameplay. Yes, I cloned galcon, but it was something I wanted to experiment at. I made a big mistake of not doing as much PR with Neo Terra,  because I fooled myself thinking that this game is so awesome that people would play it. Neo Terra is also not easy to get into as you have to learn quite a few concepts to get to understand the game. However Neo Terra has gotten quite a second wind when I released the Zune HD version for free.

The third game, Impossible Shoota was a experiment in minimalist game creation. I took the chance to make something in a short amount of time (2 months) with the least amount of expense (only paid for 2 music tracks) to generate a big ROI. I knew in my heart this game was more like a feasibility study if I could seriously make games for a living as a indie game developer. Thankfully the numbers have drastically improved since my first two games. However I am still unable to pinpoint why this was more successful than the previous two. Although I have theories as to why this is the case. First of all this game is a straight up twin stick shooter with a very basic premise, shoot and dodge. Secondly, I think the cover art was a bit more telling as to what the game is, it's a giant fighter ship that says impossible shoota, I think most gamers would understand what it is by just looking at it. I did email a couple of folks about Impossible Shoota to drum up some attention. Most XBLIG sites picked it up, and I was lucky enough to get into the IGN top picks in the Xbox 360 channel which helped with my sales.

Lastly, my newest game in production Scribble Defense is planned to be sold at the middle price point. This is more attributing to a higher offering, giving gamers a few hours of gameplay for the price of around $2.50. I am hoping that people will more likely to buy the game based on the game content, and some interesting game mechanics. Currently I am at 2 months time in the game with around 1-2 more months of development. Hopefully this combination/theme will produce better reviews as well as higher sales.

To summarize my experiences in with XBLIG, I would say that it is definitely a hits driven business. You have to command the attention of people and make them want to play your game. This can be achieved by doing something crazy, new, innovative, etc... Basically whatever it takes to make journalists, and players take notice. However not because you think you have the most awesome game means that people will take notice, and play it. So it is very important to get yourself out there do it.


Posted by Elbert on Friday, April 09, 2010 11:32 PM
Permalink |

How to be successful as a Indie Game Developer

Being a indie developer can be very tough most especially if you are just starting out as most of your funding will come out of your pocket. Not having a shipped game or some game to show off is even tougher. But fret not, all indie developers started the same way. With a big question of how can I make this work. Now here are some tips for anyone just starting out as a indie developer.

 

  1.  Set a goal. Having one helps you focus your resources into some direction. It might not be the right goal/direction but at least you are not just wandering about what you should do. If you always have somewhere you are marching towards then you are half way there 
  2.  Build your network. Knowing the right people is very important. Even if you know people who cannot help you, just the fact that you know them and what they do has a astounding effect on you. Also do not forget close friends as very valuable assets to your indie development dreams. They can provide you support/money/skills, etc ... As a rule of thumb, keep your networks alive and healthy
  3. Develop the necessary skillsets. If you want to be a Indie Developer then you better know atleast 3 of these skills. The more the better, because as a indie game developer you will be wearing multiple hats
    1. Programming
    2. Visual Art
    3. Sound Design
    4. Game Design
    5. Production
    6. PR
    7. Speaking
    8. Writing
  4. Be passionate about what you do. This is probably the most important thing you should be having. Because without this all your games will become boring and lifeless as you are. Being Indie is a great way to express yourself, and it will show in everything that you do. So be sure you are willing to sacrifice alot in order to get your indie project done.
  5. Also don't forget to have fun. I know it is alot of work but please have fun otherwise what is the point in doing all this?

 


Posted by Elbert on Tuesday, April 06, 2010 12:23 AM
Permalink |

Starcraft II on the iPad

Through my sleuthing skills around Blizzard and Apple, I was able to acquire this pre-launch picture of Starcraft II apparently running on the new Apple Ipad. According to the unreleased press kit, "Starcraft II has been in the works for the iPhone in the last 2 years, however Apple presented us with this unique opportunity to work with a bigger screen space as well as a faster processor. With this in mind we are proud to say that we will be launching Starcraft II Ipad Beta along side the launch of the Apple Ipad" - dated April 1st.

 

 


Posted by Elbert on Thursday, April 01, 2010 11:43 AM
Permalink |

Neo Terra is being ported over to Windows Phone 7

My real time strategy game is being ported to Windows Phone 7. I have already accomplished the framework to support basic gameplay. Now work will begin to actually make it into a shippable game for Windows Phone 7 platform. The game will support multi touch, different levels of AI opponents, a campaign mode, as well as a skirmish mode. Here is a video of the current build running against the CTP Windows Phone 7 Emulator.

 


Posted by Elbert on Tuesday, March 30, 2010 2:05 AM
Permalink |

5 Tips to make your 2D XNA game faster

Hello everybody! (in a fake Simpsons Doctor voice)

I guess it is time for me to share some nuggets of wisdom about 2d game development in XNA. I'm saying 2D because I primarily work with 2D games, and going into 3D goes through a whole new set of tips. Although I am sure some of these can apply to alot of 3D based games as well. 

So here goes the tips!


1. Simplify your particles. I know this might sound stupid, but most 2D games don't need 1000 particles swimming around the screen, this effect can be done with just 1 sprite. Have it scale, alpha, and rotate to achieve around 90% of the effect with just 1 draw call! I really don't see a need for complicated particle systems because the user  usually won't perceive this as just 1 sprite being scaled. Hopefully the user is too busy enjoying your game to notice that you cheated and only have 1 particle displaying instead of 1000.

2. Pool your objects! Nothing drags a game slower than having to load content each time you want to spawn a enemy. This is all fine and dandy on the PC because of the sophisticated Garbage Collection the full .net CLR has. Pooling can be a pain in the butt if you have multiple objects not residing in the same inheritance hierarchy that means creating even more objects! 

3. Keep it simple. The less you have to call in your update functions the faster your game runs. Remember players will probably not notice very subtle and complex interactions in your game. So if you program your game keeping in mind what the player actually perceives then most of the time it will come out simpler.

4. Preload all your content if you can. Hitting the harddrive in the middle of a gaming session to load up a texture is generally a bad idea. So you probably want to load up your sounds, and textures at the loading level so you never hit the hard drive.

5. Test early, and test often on your target platform. Since the PC version of the CLR has better performance than the mobile and xbox versions it is really important that you deploy to those target platforms and check for performance issues. Better to catch them early than late in the game where it might seriously threaten your game shipping in time.

That is what I learned from working on the Xbox 360 and Windows Phone 7.!

 


Posted by Elbert on Monday, March 29, 2010 1:20 PM
Permalink |

CharZero now has support for Farseer Physics

I've recently ported over Farseer Physics to work with CharZero Framework on the Windows Phone 7 emulator. I also have added support for 2d animations, and particles. 

 


Categories: X List | CharZero
Posted by Elbert on Thursday, March 25, 2010 1:06 AM
Permalink |

Started work on the CharZero Framework for Windows Phone 7

I've been using the GumDrop framework for Xbox and PC based XNA games. However this does not lend well to the Windows Phone 7 environment. Now I am currently working on my 2nd gen framework called CharZero. This will feature most of what I had in GumDrop like object pooling, object management, etc ... But optimized for Windows Phone 7. Here is a current demo of it running.

 


Categories: Windows Phone 7
Posted by Elbert on Wednesday, March 24, 2010 1:09 AM
Permalink |

The value of user testing XNA games

I know that the indie scene on XNA is fairly new but that does not mean we need to forget how important user testing is on our games. We as developers often fall into the trap that if it feels good to us then other people will love the game. However this is a misguided form of thinking as we have intimate knowledge of the inner workings of our games. All the subtle rules and interactions that we know about most likely does not translate well in the eyes of a new user. So I just want to call out that each XNA developer should:

 

  1. Get as many friends/family to try out the game in it's different phases/milestones. The higher the frequency the better
  2. Test on the target platform. PC and Xbox have different user experiences and with WP7 coming out the need to test on mobile devices is needed too
  3. Make sure the people who play your game are familiar as well as unfamiliar with the genre. The different view points from each of these groups are really important in determining if your ideas/systems are being perceived as you intended

 


Posted by Elbert on Wednesday, March 17, 2010 12:49 PM
Permalink |