Showing posts with label model. Show all posts
Showing posts with label model. Show all posts

Monday, May 5, 2008

Update on progress

It has been almost 2 months since I last made a post and a lot has progressed in this time. Below is a screenshot of the latest build:


To briefly go through the features in the screenshot:
- New unit models are featured for the worker, soldier and archer and are all fully textured
- The building model from a previous post is now in-game and fully textured
- Volumetric shadows from units and buildings
- Trees are randomly scattered on the terrain with variations in size and will flutter in the wind.
- There is a new water shader in the game, although I am not yet satisfied enough to display it in full.

Other features under the hood which you can't really see in a screenshot include:
- The first pass of networking code is in and running. Multiple computers can connect to the same game although if any network errors occur the game currently quits on all computers. I am yet to implement the team/player mechanics so everyone can effectively control everything. I haven't noticed any sync issues yet and I am also yet to try over a long distance/high latency environment.
- A database back-end system controls the various game data structures. These include information about models, shaders, textures and materials as well as statistics about various game units and buildings. It is quite trivial to add an extra game unit or building and can be done by editing the database file. This file also specifies which units can build which buildings, which buildings can train which units etc. The database is just an XML file so is easily human readable. I have used the TinyXML library to do my parsing as I needed a simple lightweight cross platform parser and this works quite well.
- The groundwork for the GUI system has been written with button widgets and event messaging systems in place. Font rendering has not yet been implemented which is why this has not progressed much so far.
- First pass for fog of war has been done but I don't like the way the fog looks so I haven't showcased this yet.

My objectives are currently set on the game logic:
- Implement the player/team structures
- Add mechanics for resource collection
- Add build mechanics
- Add training mechanics
- Add the combat system

When these are all in place the game will be playable (although in a fairly crude state) . I will then be able to move on to interface controls and general polish.

Saturday, March 15, 2008

Oriental style building


This is an oriental style building I threw together in 3ds max one evening. It has the general shape and just needs texturing and and a bit of tweaking before I put it in the game.

There has been progress on the game logic and I've put together an A-Star pathfinder which balances searches across frames. However at the moment it seems that it grinds to a halt when searching for an impossible path so it may require a bit of tweaking.

Animation is now in game and uses vertex programs to linearly interpolate vertices between frames. This type of animation isn't as effective as skeletal animation but its cheap and quick and when the characters are quite small you won't notice the difference between implementations.

I'm now working on collision detection and updating the collision grid. Currently units will not update the collision grid and will only plot paths around static obstacles. Next I'll be adding buildings into the game.

Wednesday, February 27, 2008

Walking animation

I've been working on the walking animation for my characters and created a short video which I uploaded to youtube to demonstrate:



I've not yet textured the model (just a standard checkerboard texture) but the animation is quite smooth and I'm happy with the polygon count (currently 144 polygons). The model is quite square looking around some areas but this shouldn't be too noticeable in-game as the camera will be viewing character models from a fairly long distance.

The models are going to be animated in-game by using several key frames and linearly interpolating vertex positions on the GPU. Each key frame will be stored as a standard .OBJ file and an XML file will reference which frames are used in which animations etc. Although this won't achieve as nice looking results as a proper skeletal animation system, it is far easier to code and will scale quite nicely with large numbers of characters on screen.

Once I have implemented the animation system I will be moving on to the pathfinding logic.