Game
FortressInvader


6 years ago

STOP CHASING ME!! Or 3 weeks into my first Unity3D project.


The birth of this bad idea

A few weeks back I was playing around with watabou’s awesome fantasy city generator. It gave me the idea of a gta2 style game where you play a wizard and craft weird spells to invade these procedurally generated fortresses.

But really, these fortresses will only play the role of giant sandboxes for the main focus of the game, the compound spell crafting system. Which im not going to go into detail in this log(There’s a bit more detail about it on the main page). I will write more about it when I actually be working on it.

This log is more about my progress and observations after 3 weeks of pouring all my free time into the prototype for this idea.

Over engineering everything

So, I have a fair amount of experience with programming but this is my first project with Unity3D. Therefor, I coded a lot of unnecessary stuff that the Engine already had figured out.

Pathfinding

I wrote my own 2D pathfinding and NavAgent.

5d09674e2f5b2.gif

The game starts by generating a grid

5d0967517f6a5.png

Each node makes a raycast to each of its neighbors. If no building is found the connection between the nodes is set as “walkable”. If a node has at least one walkable connection is it set has “accessible”. All this was largely inspired by this post

I then slapped a A* algorithm on that and created a nav agent component so the enemies could move around.

Its all fun stuff but looking back I could of just cheated Unity’s Nav3D to work with 2D and save myself a lot of time.

State machines

5d09675277c8b.gif

It started with a state machine diagram for the Guard AI

5d096755e37c9.png

I then wanted to create a easy tool to integrate these states and events in Unity. I ended up with a wayyy over engineered dynamic state machine system.

The system has 3 elements:

  • Events

  • States

  • Linkers

Linkers determine which events are connected to which states. They also determine what happens when a event is triggered. A state can have a transition to another state. A state can also be added so multiple states can run in parallel.

5d09675695b8f.png

Even though this is probably overkill for my project, the state machines have worked strangely well. But the complicity will probably come back later to bite me in the ass.

The SuspiciousState followed by the SurprisedState in action.

5d096757467e3.gif

Thats it

Problems and over complicated solutions aside i’m having a lot of fun with this. i’ll soon get to work on the spell system, the main focus of the game and see if my idea could actually work has a game.

Thanks for reading!



0 comments

Loading...

Next up

Bandana Dee the Dream Friend

I was bored, so... ManutKat.

"Our work is never over" they said.

Just a Pico sprite

Family band complete!

So here's the first of the zodiac signs i will make for the next weeks.

I-Buki

Mio-Da!

Ibuki Mioda!

One of the most critical update for Sunblaze demo. Now you are able to pet a cat! Finally!

A house I've built a while ago. :)

It nicely separates the snowy biome from the grassy one.

It's built with painted Ebonstone.

I remade my main character, what do you think? :)