GameDev

All posts tagged GameDev

So it’s been a while since my last posts.  As video games and programming have been long term hobbies of mine, I decided to launch a new indie game company, Astral Byte.  I’ve been working on a new project and making some really good progress so far.  This has kept me from other activities, but fear not, I will return to them as well.

As a teaser, here is a character named Nara that I’ve created.

nara01

So why not go check out out my new site and leave some feedback.

Project Omega Early Screenshot

Project Omega Early Screenshot

As I mentioned before when talking about low polygon artwork, making a your own game takes a lot of time and effort.  The actual worst enemy of a indie game developer is allowing feature creep to kill your project.  When I started “Project Omega” it had a very limited scope.  During my time working on the game engine programming, I kept adding new features and ideas that I may want to use at some point.  This of course caused the entire project to balloon out of control.  On the other hand, who doesn’t want to add cool new ideas to their product?   It’s hard to fight that temptation to make the best possible product or just deliver something with a workable scope.

Project Omega Different Planet

Project Omega Different Planet

The above screen shot shows an additional planet with different terrain, physics, temperature, obstacles and more details.  Actually, at this point I had made a framework and five planets.  Each one with a unique and different and atmosphere.  While this did add a lot to the game, it took a lot of time that kept me from working on my other areas.

Some of the features I have working:

  • Game Engine
    • Ogre3D C++
    • Bullet Physics
    • Open AL 3D Sound
    • Multi-state system with loading progress job manager
  • Real physics simulation on tank
  • Multi-factor weapon system with heat/energy/recoil for each type
  • Defense Towers with basic AI to track/lock on player
  • Multi-track music system
  • Menu navigation with world selector
  • Randomized worlds via coherent periling noise
  • HUD with zoom-scope view
  • Zoom-able minimap with radar
  • Particle systems with explosions
  • Entire system is mod-able via text .INI files
  • Text chat/system console with real-time engine controls
  • Multi camera style controller
Low poly missile tower

Low poly missile tower

I’m just a hobby indie game developer, but learning to integrate and develop this has been a fun learning experience.

One of my rather frequent pastimes is playing video games.  And over the years I’ve played a lot of games.  Some really good ones and a lot of bad ones.  Often I’m left with the feeling that something should be done better.

Of course, getting from I want to make a game to actually having a finished product is another story.  It involves tons of work in different areas from programming, scripting, sound/music composition and graphics.  Games put a tremendous demand on computers to provide real time interaction.  Tricks are required to get things to look better than they really are.  Designers have been forced to use low polygon count models because graphics hardware couldn’t keep up.  This is the art of doing more with less, and it isn’t always easy.

This is one of my first attempts to take a high polygon model and do the same with less.  As you can see from the image, I went from 21,000 polygons to 2,000.

Low and high poly tanks

Low and high poly tanks

With the textures on each tank, you can’t tell that much is different without closely looking at both.  However, when compared to the raw mesh below, you can clearly see the difference.

Low and high poly tanks raw

Low and high poly tanks raw

Key areas include the tank road wheels, details on the main hull and turret and most of all the treads.  Textures add a lot to the render, but using a tangent normal map allows the lighting to provide even more hints that the model contains more geometry than it really does.

Learning to use Blender can be painful at times.  It is the best open source 3D graphics program for low poly modeling.  Still, I had fun learning how everything went together.  I think on my next attempt I can reduce the poly count down by another 20% for even more savings.