First Pre Alpha build. Yum


So,

Here's a tiny first look at REAPER: Citadel of the Damned. It doesn't look like much at the min, but let me explain what's been achieved thus far:

https://www.dropbox.com/s/y2vcc83yn2t4tw3/VoidReaper0.01.zip?dl=0

PointLine Physics System

The first thing I wanted to implement was a re-code of a pseudo physics system I built for a JavaScript game engine called Phaser - in Unity (and C#).

I've been coding with C-style languages as far back as I've been coding, so the conversion from JS to C# wasn't too difficult. The main challenge was to move my mind from a "All Controlling" script that would run through everything itself every frame, to a component based logic. This is actually far better, as it allows for way more granular control over what collides with what etc.

I will write up a more detailed explanation of PointLine soon, but for now, briefly:

PointLine, as the name suggests, is a pseudo collision detection and dynamic object movement system based on Points (Players, movable objects, creatures, enemies etc) moving around on Lines (ground, slopes, walls, ropes, ladders etc). It makes heavy use of the line equation Y = MX + B so figure out where things should be.

Tied into Unity's FixedUpdate system at 60 samples per second, I've tried to make it logically as performant as possible. Simple rules to help achieve this are:

  • If a Point (dynamic object) is on a line, then we don't need to check if it's on other lines if it stays on that line.
  • Lines beyond a certain screen space are culled
  • Additional collision tests can be set per line (for example, if we're on a platform that has no walls on it, then whilst on this line, we don't need to check for any wall based collisions!)

Character Controller

The character controller was also heavily ripped from an earlier JavaScript project, and adapted for use in Unity. You can:

  • Run (Whilst facing either direction, ramp up and down in speed)
  • Jump (long press = lower gravity)
  • Hop (Double Jump)
  • Dash (Mid air quick horizontal move)
  • Wall jump
  • Rope Jump
  • Glory kill (provisional name!! zip over to and dispatch and enemy)

The players weapon and torso (and that of many enemies) rotate independently of the legs, so you can run and shoot in any direction. When not shooting, the torso snaps back to level.

Rough Animations

Animation logic and controllers have been created for the player and some enemies. I'm trying to create all the art myself - an artist I am not, but I'm just about capable of making some pixel art. Animations correctly reverse if you're facing one way and moving another.

One fun animation was the "Chunking" of dead enemies using the PointLine physics system. Very satisfying.

Weapons

So far three weapons have been implemented:

  • Shotgun+ Shotgun alt (Sticky Grenade Launcher)
  • Machine Gun
  • Plasma Rifle

They feel good so far! I'd love some feedback on the projectile speeds and frequency...

Enemy AI

I've really enjoyed figuring out how to implement enemy AI so they don't just do the standard "Patrol Area, shooting at guy" actions. Currently enemies will:

  • Move to any valid surface provided they can get there (there are jump triggers allowing them to traverse vertically)
  • When they move to the end of a platform, they'll decide whether or not to jump based on decision weights
  • Track and shoot at the player with a weighted frequency (so I can crank difficulty!)
  • Some will decide to teleport
  • They'll avoid overlapping each other if possible
  • Actions can get interrupted when they get shot at!
  • They can be "staggered" allowing the player to auto melee kill.

Level Prefabs

A lot of the usual mechanics gumf has also been implemented. This includes:

  • Various Triggers (Feature enable/disable, death zones, AI patrol zones, ammo pickups etc)
  • Health systems including Staggered states to allow the player to Glory Kill
  • Input Systems - currently making solely for keyboard, though controller support to come.

What's Next?

Next is more of the same! Specifically I'll be working on:

  • More Weapons and Weapon Alts
  • More Enemies
  • Start designing levels and battle arena layouts
  • Start on the MetroidVania style map layout, and journey through.
  • Flesh out the story (more on that in updates to come)

Files

REAPER: Citadel of the Damned Pre Alpha
External
Apr 26, 2020

Get REAPER: Citadel of the Damned

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.