2009-03-31

More on Formations!

I rewrote the Circle pattern to make more sense as a battle formation. One line of soldiers isn't very effective. I also added orientation so that all soldiers face outwards:

New feature: Every soldier can die and leave an empty slot.


The next step was the ability to move forward and fill the hole.



At the moment I am playing with different patterns and which slots can replace which slots and in what order.

2009-03-28

Formations

One of my current projects is a prototype about steering, formations and pathfinding. Well, at the moment it is a prototype about steering and formations.

The goal is to have realtime battles like Total War, but thats the far future.

The current features are:
  • change type of formation
  • move formation
  • rotate formation
  • dynamically add and remove characters
How does it work:

The formation calculates the target position and orientation for each character and the characters try to reach it with their steering behaviors.

Patterns:

They define the shape of the formation. I currently have:


Steering behaviors:

If you want to know more about them, look here.

At the moment I only use Arrival, but I will soon implement Obstacle Avoidance and others.

Results:

In the first image I changed the pattern from a box to a circle and in the second I rotated a box.


The white dots are the target positions.


2009-03-21

Pyro(Python Roguelike)

This time I will talk about one of my old projects. It was a roguelike written in Python.


Here are some of the features:

2D pixelart

I always wanted to make a roguelike with images instead of characters, but where to take the art from? Buy? A friend?

In the end I decided to make it myself. I really liked the art style of Three Hundred Mechanics and started copying it. It was great fun and soon I started drawing completely new creatures.

Here are some examples:


single tile, multiple tiles and snake bodies

It was possible to have huge creatures(giants, dragons, ...) with a body of 2*2, 3*3 or even bigger bodies.
  • They couldn't use smaller corridors.
  • They had more adjacent cells.

Snakes had one head tile and many body tiles. Think of the old snake games.

behavior trees

Behavior trees are a great way of building your ai out of reusable building blocks.

I had behaviors for attack, flee, patrol, wander and investigate.

Villager: wander or flee
Skeleton: attack
Guard: patrol, investigate or attack

They always pick the behavior with the highest priority: Villagers normally wander around, but if skeletons are near they flee.

If you want to know more about behavior trees, go to http://aigamedev.com.

sensory system

Different creatures had different ways of sensing the world.

Seeing: distance, occlusion
Hearing: distance
Sense Life: distance

Villager and guard: Seeing and Hearing
Skeleton: Sense Life

I even had a wall type, where you could see through, but nor move through(the yellow wall):




I am really sorry that, I can't give more or newer screenshoots or even a playable game, but I don't have a functioning version anymore. I lost the newest version and now even my backups don't work. I don't know why, but hopefully it will run someday again!


Lesson Learned:
I now use git, a version control system.

2009-03-20

Welcome!

In this blog I will talk about my past, current and future projects. Here is a list of topics I am interested in:

  • 3d graphic
  • AI(A*, planner, behavior trees, ...)
  • procedural generation(plants, buildings, cities, terrain, ...)
  • rpgs and roguelikes
  • turn-based strategy games
  • many more
Time for some screenshots: