Game
FortressInvader


7 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

Successful landing

#screenshotsaturday

Finished a project I've been working on over the last few days!

Modeled and textured in Blender.

#3dart #lowpoly #npbr #fantasy #hut

Sometimes the suction cup get sticky. Small animation I made in Blender after doing my tutorial on picking up/dropping objects in animations. Crate model by jQueary (https://sketchfab.com/3d-models/game-ready-sci-fi-crate-d98deca6…).

Showing off player 2 😎

What do you think?

I worked so hard to get all four of them to the end safely, but then...

The Authority decided to investigate the Basement and leads to recovering classified documents Fun fact: The building has 928 doors and not 1000 doors. #horror

A 1h30 painting, coffee break.

My twitter: https://twitter.com/loupil100

Hi all, Quick update with a bunch of fixes and changes.

Updated save system, optimisation and screen tear fixes, a new shoutout room and more sounds.

Don't forget to follow the kickstarter going live on the 20th! https://www.kickstarter.com/projects/9fingergames/zapling-bygone

Enjoy!

Development of my game Juno. This is the rune equipment system.

Usually update over on twitter: https://twitter.com/synrec_kaisyl