Skip to content

Dar13/lightship

 
 

Repository files navigation

lightship

A cross-platform multi-player 3D arcade game implemented entirely in plain C and OpenGL.

Features

  • Plugin API allowing high modability of the game.
  • OpenGL 3.3
  • Events and services based communications system supporting advanced features like event interception and service discovery, making it possible for plugins to re-define game mechanics on the fly.

Prototype

A playable prototype exists and can be downloaded here.

The prototype was written in DarkBASIC Pro and demonstrates the main game mechanics. The DBPro source code can be downloaded here.

Click this to watch a video:

IMAGE ALT TEXT HERE

Screenshots

slow down power up

force field power up

level editor

How to Build

The tools you will need to build this project are:

  • CMake.
  • A C89 compliant C compiler.
  • Make (If you're on Mac/linux).
  • Git (if you want to make to make updating the code easy).

Windows MSVC Developers should start the "Visual Studio Command Prompt" from the start menu instead of CMD. It sets the required environment variables. If you are using MSYS then you can use regular CMD (or bash).

The general procedure is as follows:

  • cd into the source directory of lightship (where this README is located).
  • Make a new directory called build.
  • cd into that directory with your command prompt/terminal/whatever.
  • Type cmake .. (Two dots are important)

This will configure the project for your platform. Linux/Mac users now type make to build.

If you're on Windows, there will now be Visual Studio project files, inside the build directory. So go in there and open them up. Set the target "lightship" as the executable target and build. You're good to go.

Concept

You are given a 2D grid of tiles. You drive around on top of these tiles, thereby claiming them to be your own. If an enemy drives over the tiles you claimed, then they no longer belong to you, so you'll have to re-claim them. The goal of the game is to have claimed more tiles than the enemy when the game timer runs out.

To make things more interesting, we throw in power ups, teleporters, special tiles, weapons, you name it.

The whole game is geared towards being played on-line and some maps can be designed to support 20+ players simultaneously.

Game Modes

Different game modes exist, to name a few:

  • FFA: Every man for himself.
  • Team FFA: Have X number of teams with Y number of players per team.
  • Plague: Two teams, starts off as one person (the plague team) versus everyone else. If you get surrounded by too many tiles belonging to the plague team, you start playing for the plague. The plague wins if every player is assimilated within a certain amount of time.
  • Map Control: Same as team FFA, except the team who has claimed most of the map at a given point in time is the only team who will incrementally gain points.
  • Sudden Death: If you fall off the map, you will not re-spawn.

Power Ups

  • Black Hole: Deploy a bomb which when detonated creates a black hole and sucks all surrounding players into it. The players are released when the black hole expires.
  • Jump: Have the ability to jump up onto places.
  • Speed: Increase your speed by 150%.
  • Slowdown: Decrease everyone elses speed to 50%.
  • Force Field: Deploy a force field only you can pass through.
  • Size: Increase your size by 3, making you claim 9 tiles at a time.
  • Dash: Dash a short distance at high speed. Knocks players far away.

About

A cross-platform multi-player 3D arcade game implemented entirely in plain C and OpenGL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 77.6%
  • C++ 17.1%
  • HTML 1.7%
  • Python 1.3%
  • CMake 0.7%
  • Makefile 0.6%
  • Other 1.0%