Home is where the Hex is.

Updates are in ascending order! Latest updates are down below!

I have always enjoyed a game for the playstation called Final Fantasy: Tactics.  Tactics was a turn based strategy game with loads of customization with each member of your party capable of being 1 of many classes. Then on top of being just 1 class you can pick another one of the classes to be secondary skilled in ( giving you the skill set of both but only earn xp towards the one you are currently ).

Since it's debut in 1997 a true successor by square never really emerged. Titles like Final Fantasy Tactics Advanced and Final Fantasy Tactics A2: Grimoire of the Rift don't do the original justice. The story lines of the advanced titles were aimed at a childish audience compared to the cut-throat medieval/religious politics that many loved portrayed in in the original. As well as introducing tedius rules to engagements which sometimes disallowed characters from doing physical damage or using spells. On top of that the customization was more limited with no sub speccing and only limited job choices which were based on the race of the character. A re-release of the original tactics on the psp also emerged with the in-game rendered "cinematics" redone with cell shaded cartoon segments as well as adding an additional 2 classes. They also added multiplayer which was great. Still as I said earlier no TRUE successor. There is an incredible flow of ideas to expand the game on various fan sites and what they would like to see in a sequel. So I decided to have some fun.

What I am currently working on is a simple prototype of a turn based game. Except instead of using a square tile based system like tactics did I opted for a more challenging approach of using hex tiles.

Why hex tiles instead of square?
Better balance and more options!

In a square system moving diagonally is a higher advantage to moving horizontal or vertical so to compensate diagonal movement is always 1 less than horizontal or vertical movement.
In a hex tile based system movement is equal in all directions. So weighting down diagonal movement doesn't have to exist. On top of that it open broader game options than the standard cross ("+") pattern for options.

So what have i accomplished so far?

Well the bare bones of the tile engine exist being rendered using openGL ( Tile Engine being done in c++ ).


 
I have also implemented the ability to select tiles via the mouse through picking* ( albeit not very optimal ) as well as randomizing their type.
*Credit goes to Daniel Coldwell for helping me out on getting picking done. ( Had a bad offset in the render throwing off triangle positions to test against )

You can see the fuzzy ( thanks jpeg ) debug text at the bottom showing the tile's stats that I have selected ( highlighted in red).

This whole thing is once again done from scratch in c++, using openGL for rendering. I have spent around 10 total hours on it to this point.

Whats next?
Well I'm gonna make some objects to manipulate around the tilemap , some tile color highlighting goin on to display movement ranges. When I do that will be updated here =)

Whats the ultimate goal?
Ultimate goal is to take the clean version of this hexengine and plug it into a game project which of course will be comprised of many other systems I have yet to write ( message system, game state machine, object hierarchy, etc. ).
Hopefully even make a game out of it hmmmmmmmmmmm?

UPDATE 11/28/08

Havn't said much about this project lately but I have been very hard at work on it. I have implemented many systems into a shell now so that I have a fully functioning message system, object factory ( templated ) , object manager, and a fully functional camera unlike the basic glframe I had going before. I have been busy with a lot of stuff recently so progress is not as where it should be right now but I do have a slightly updated screenshot of whats goin on!

 
So here you can see that I got a little bounding box drawing around the size of the grid to help center the camera when I initialize it. Also the red spheres are showing which tiles are highlighted as being occupied or not, nothing difficult but
showing that the object factory and manager are working. What I'm working on next is getting a clean input manager working and a proper, though basic, openGL rendering system rather than the manual calls made throughout the program.
All in all im still having a great time toying with this!


Another update! 12/9/08
I have been working on the project with what free time I have and managed to get some textures thrown on the tiles to better identify their type.
Soon everything under the hood will be in a good state to start working on actual gameplay code! Stay tuned =)


Update ( 12/12/08)
Alrighty, I implemented a very basic "Edit" mode that I can access. Basically a randomly generated level is loaded them from there I can select individual tiles and set their type by pressing either 1 2 o 3. Than I load out the level data ( num of tiles in the x, y , tile size, and each individual tile's type ).  Right now it just defaults to CustomLevel.lvl and then I just rename it and drop it in the levels folder where I can then utilize it elsewhere in the project. So here is what I got so far!

Here we can see a very basic map made in edit mode that I loaded. What I am working on it adding occupants to tiles in edit mode. Stay tuned!

Č
ċ
ď
DocumentationExamples.zip
(7330k)
Stefan Woskowiak,
Oct 27, 2008 8:21 AM
ċ
ď
ED_Project_Flocking.zip
(2414k)
Stefan Woskowiak,
Oct 27, 2008 8:23 AM
ċ
ď
IndividualCodeExamples.zip
(29k)
Stefan Woskowiak,
Oct 27, 2008 8:26 AM
ċ
ď
ReadMe.txt
(5k)
Stefan Woskowiak,
Oct 27, 2008 8:27 AM
ċ
ď
SimpleOpenGLproject.zip
(8628k)
Stefan Woskowiak,
Oct 27, 2008 8:26 AM
ċ
ď
UnitEditor.zip
(207k)
Stefan Woskowiak,
Oct 27, 2008 8:26 AM

Recent site activity