Pyramid Panic - Beta Features - Custom C++ Networked Game & Engine

Words
659
Reading
3 min
Listen
Play
8y

PyramidPanic.png

Pyramid Panic - Beta

Pyramid Panic is a top down 2.5D fighting/puzzle game where players start at the bottom of a pyramid, and must fight their way up to the top, solving puzzles along the way. The first player to reach the top and grab the treasure is born again, winning the game. Death isn't the end, however. Once a player dies, they become a ghost with the ability to haunt the player who killed them, possessing various objects. The collective will of the ghosts becomes the will of the environment.

Features Added Since Alpha

Many features were added when going from our Alpha build to Beta build. For a view of the projects Alpha state, checkout our initial Alpha Pyramid Panic Utopian post here. Since Alpha, the most noteworthy changes are as follows:


Randomly Generated Floors

The Pyramid the game takes place in is now fully randomly generated, where each floor is generated with different difficulties.

Collider/Bug Fixes PR
Random Room Generation PR

Network Update

Networking now uses both a TCP and UDP channel, where UDP is used for frequent updates and TCP as a control channel for important packets.

Networking now supports sixteen players simultaneously. Optimizations are being planned to push it to 64 players.

UDP/TCP 16 Clients PR
Pre-Beta Networking Build PR

QuadTree Optimization

In order to optimize the scaling for the Rendering and Physics systems, a QuadTree was implemented. More information can be found here

Quad Tree PR
QuadTree Utopian Post

Post-Death Ghosts & Possession

A large aspect of our games plan was for it not to end when a player dies. After death, players become ghosts who can haunt other players. Ghosts can possess any item which can be triggered by players (for example, doors) while also being able to possess and move larger items (for example, boulders). Ghosts are fully networked and considered a first class citizen in the game.

The initial Ghost system was documented here, however has been expanded since then to include networking and a variety of updates.

Ghosts & Possession PR
Ghosts & Networking PR
Ghost Integration PR
Ghosts & Possession Utopian

Combat Overhaul & Item Expansion

A large variety of depth has been added to items since alpha, with breadth being planned for release. New item categories added include helmets, chest plates and greaves.

Greaves have an active ability related to movement. For example, the basic greaves allow users to dash and gain a burst of speed. ChestPlates effect the damage being done to players as a multiplier. Helmets effect the critical strike chance.

Adding these changes included updating our combat system to incorporate damage reduction, critical strikes, and restructure how damage is calculated to better incorporate it with networking.

Weapon Behaviour Update PR
Equipment Types Overhaul PR

Graphical Update

The graphics are all in for Beta, despite not every piece being finalized. There are now proper player sprites and animations, built in a way where armour can be added/removed from a players visuals easily in a modular fashion.

ExampleSprites.png

The dummy AI's have their graphics in, being varieties of spiders who shoot projectiles. Doors, the floor, walls and other general ascetics have also been implemented.

A brand new menu has also been implemented with finalized graphics.

NewMenu.png

Main Menu Overhaul PR
Enemies & Damaged Sprites PR
Character Sprites PR

Mac Support

The game is now fully buildable and runnable on Mac, being a fully cross-platform C14 game with only dependencies on SDL and OpenGL. These changes required overhauling much of the system, moving away from all VC specific syntax, moving to cross-platform alternatives, and moving our one Win32 dependency regarding mouse input over to using SDL.

Full Mac Support PR
Audio Update For Mac Support PR
First Compilable Mac Build PR



Posted on Utopian.io - Rewarding Open Source Contributors

Pyramid Panic - Beta Features - Custom C++ Networked Game & Engine | Ecency