About

Seavilizations is a 3D multiplayer boat combat game in which up to four players fight against each other to obtain special items. When a player gets enough of these items, escaping the map will grant them victory. Each player can select a boat from a different historic civilization, with different attacks and abilities. It can be played in split-screen or local networked multiplayer, and it was published on the DigiPen games gallery in May 2021.

  Link to the Digipen games gallery page

  •   Custom C++ Engine
  •   7-8 months
  •   8 programmers


Screenshots

Release Trailer
Screenshot-2
Screenshot-3
Screenshot-4


My Work


Entity Component System

Architected the entities and components system for the engine, with an integrated custom memory manager to store gameobjects and components of the same type in memory pools for faster access.


Core Engine Systems

Engineered many of our custom C++ engine's core systems, including but not limited to:

  • Memory manager with object pooling mechanism
  • Factory system using allocators from memory manager
  • Serialization system for saving/loading of levels and archetypes
  • Resource management system with ability to create custom importers
  • Improved cache coherency through managers that update all components of the same type together
  • Editor addable components database

Boats' mechanics

Implemented a variety of mechanics related to some of the boats, such as:

  • Barrel throwing mechanic for the trirreme boat
  • Trirreme boat special rowing/dash attack
  • Galleon's cannonball attack aiming UI
  • Worked with another programmer on the boat controller used by all boats, with adjustable parameters for speed, maneurability etc

Cinematics

Programmed several cinematics/camera effects to indicate the start/end of a match, and make it clear which of the players has won.

  • Match starting cinematic different for each player (split screen and online)
  • Viewport interpolation for showcasing match winner (split screen)
  • Small cinematic to showcase winner (online)

Other Gameplay Tasks

Worked on other smaller gameplay tasks like for example:

  • Flocking system for birds that fly around the map
  • Addition of some of the sfx
  • Addition of some of the particles
  • Billboard component for showcasing the score of each player on top of their boat
  • Arrows on top of players, to easily find them and distinguish between them

3D Modelling

Trirreme boat front render Assisted the main modeller by creating some of the models used in the game with 3ds Max:

  • Trirreme boat and its collider mesh
  • Paddles for said boat
  • Barrels
  • Torpedo