Code Monkey home page Code Monkey logo

tantrumn's Introduction

Project Tantrumn - Multi-Player Network Game

Brief

Tantrumn is a racing game (on foot, not car) developed as a solo school project which is part of the CGSpectrum Game Programming Curriculum. The game was designed to accommodate single player, multi-player split view, and networked multi-player modes. The player(s) can compete against each other or AI bots.

Role

The design and guidance was provided by the CGSpectrum curriculum along with code examples. My role was to implement the game with scope to make any changes I deemed fit. Changes I introduced spanned the gamut of Unreal Engine capabilities such as a custom Character Movement Component (detailed below), level layouts, Mesh / Audio / Material assets, AI behaviour, and UI elements. The implementation was done primarily in C++ with Blueprints used for prototyping functionality, scripting some aspects of Widgets used as part of the UI, and level specific gameplay elements.

Summary of Elements

The game includes player levels, Kinematics test levels, custom Game Modes which can match gameplay to the corresponding levels. All gameplay supports network play whether via dedicated server and clients, or local LAN play. Detail on additional implementations included in the game as follows:

  • The custom Character Movement Component extends Epic’s implementation to include additional modes of travel. These modes are efficiently replicated via Bit Flags by extending the Network Prediction system used for lag compensation (reducing the rubberbanding effect prevalent in many older online games), specifically FSavedMove. The end result being minimal Server Corrections for client side movement predictions.
  • Impacts have the ability to stun characters (players and AI). The magnitude of impact determines the duration of stun and strength of controller vibration. Additionally, the stun state controls animation behaviour by triggering corresponding Animation Montages.
  • A Custom Interp to Movement component which supports smooth network play even in high latency enviroments. A major improvement on Unreal's replicated movement feature, especially for moving platforms which players may stand on

Build Notes

  • Currently built and test on Unreal Engine 5.2
  • Currently only the race mode is built out and supports single player and multi player with AI on the Vertical Race Map
  • Each Map's blueprint selects a corresponding Game Mode
  • Game Mode's determine the UI to represent to the player, the layouts are defined as Data Assets

Third Party Attribution

  • Character Model and majority of character animations come from the Unreal Engine Hour of Code pack
  • Some snippets of code from CGSpectrum’s example content has been re-utilised in this implementation
  • The Vertical Race map uses visual assets from the PolyArt3D Content Pack PLATFORMER - Stylized Cube World Vol.1
  • Some Meshes and Materials from Unreal’s Starter Content Pack have been utilised.

tantrumn's People

Watchers

James avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.