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

More information on Zombie Epidemic Simulator

I've been working diligently on Zombie Epidemic Simulator on Windows Phone 7 and have made some big improvements. First of all the graphics and level design have been increased in quality. Meaning the actual game levels will look a lot better have more interesting gameplay per level. I'm trying to avoid repeats of levels that only tweak a few variables. There might be some but most of it will major changes to an existing level design. I've also gone for the retro 8bit-ish graphics, but not quite pure 8bit, more like 8bit inspired themes to set the art direction correctly. 

 Also the notion of the heroes being human have been changed. Now as the player you are the human controller of 4 intelligent H.E.R.O (Human Epidemic Response Officer) units. This will fit better into the story and theme of the game and allow me to have a bit more freedom in designing and illustrating the heroes. Also a new zombie type has been added, our favorite zombified canine.

Well I can talk all I want but that won't be fun, so here is a video of the current work in progress. The game is slated to ship when WP7 devices start shipping.

 


Posted by Elbert on Saturday, August 21, 2010 4:03 AM
Permalink |

Scribble Defense is now in Beta and undergoing rigorous testing

Glorious days for Scribble Defense for Windows Phone 7! The game is now feature complete and almost ready to ship! Well I can't ship it because there are no phones yet to ship to :)

 Anyways to celebrate I added a new video with the complete set of features for Scribble Defense!

 


Posted by Elbert on Tuesday, August 10, 2010 12:03 AM
Permalink |

Evolving Scribble Defense to take advantage of the Touch Screen

One of the cool things about developing for Windows Phone 7 is that the developer has access to the touch screen. This mode of input can provide a more intimate tactile feedback than a controller could in many different situations. For example in Scribble Defense for Windows Phone 7, I added the ability for the player to flip over the pencil and use it as a eraser. The player then proceeds to rub the enemy scrawls to death, which from my recent testing have shown can be very fun :)

Another advantage with the touch screen is by placing contextual buttons in the game screen. Most people are used to pushing buttons with labels on them, this creates a self-reinforcing notion that this button will always do what it says. The player does not have to worry about memorizing controller layout, they just look at the screen and there are all the controls. It also is easier for people who skip tutorials and jump right in the middle of the game, because the controls are self labeled making them less prone to confusion.

I've made this video to show the upgraded UI and the eraser mode. Enjoy!

 


Posted by Elbert on Sunday, August 01, 2010 1:09 PM
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 |

Active Movement System for Scribble Defense

I decided to give the game's philiosphy a name. That is the Active Movement System, with this philosophy the player should never sit idle for long periods of time waiting for things to happen in a tower defense game. The player's direct involvement is crucial to winning the game. Having the player dynamically upgrade and pick up money are core components to the game. Also having certain nodes be movable adds another dimension to a already crowded tower defense genre.

 


Posted by Elbert on Tuesday, March 16, 2010 1:37 AM
Permalink |

Scribble Defense @ GDC

I will be demoing Scribble Defense during GDC, but for those who won't be at GDC to see the game I posted up a video of the Build that I will be showing off. Here are the following changes since the last video:

  1. Added tower placement UI, the towers are not hard coded to specific keys/buttons anymore and now are handled through the new UI
  2. Added support for up to 3 separate creep paths. Creeps can come from all over the place! :)
  3. Added a Area of Effect Tower that can harm all creeps within its range. Good for whittling down enemy health en masse
  4. More tower/creep specific animations
  5. Added support for high scores

 


Posted by Elbert on Monday, March 08, 2010 12:46 AM
Permalink |