Skip to content

tonysparks/seventh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

seventh

A top down 2D Shooter game I've been working on in my spare time. This repository only includes the source.

Download

You can download the BETA version of the game here

Videos/Screenshots

Seventh Gameplay Video alt text alt text alt text

Features

  • Three game modes (Team Death Match, Objective Based, Capture the Flag)
  • 10 different weapons
  • Melee
  • Grenades
  • Bots
  • Tanks
  • Destructable terrain
  • Multiplayer and Single player (Single player vs. Bots)
  • Server side and client side scripting

TODO

  • Update all graphics to WWII
  • Replace temporary sounds
  • Create more maps
  • New game types (custom)
  • More Vehicles
  • Update HUD
  • Tweak game design
  • Add more intelligence to Bots

Technical Stuff

  • Custom built reliable messaging protocol over UDP
    • Handles out of order packets
    • Can flag messages as 'reliable' which will guarantee delivery
    • Very fast, was able to play with 8 players with the server hosted in NYC and players from Seattle, Milwaukee, Pittsburg and San Diego all with <100ms ping
  • Client/Server model. The client is fairly dumb, it just sends player input to the server and does some minor interpolation. The server is authorative and handles all of the game logic.
  • Can host a dedicated server (either a command line only option, or GUI option)
  • Can issue remote commands from client to server to administer server (similar to Quake rcon)
  • Libgdx is used for client rendering and input handling
  • SoundSystem is used for 3d sound
  • Tiled is used for the map editor
  • Leola for scripting

Build from Source

  • Download the source code from github:
  • Download the game assets from here
  • Open the seventh.zip file and copy the seventh/assets folder into your project folder
    • folder structure should look like this:
    seventh/
      assets/
      lib/
      src/
    
  • Compile the project by (TODO: convert to Maven project to make this easier):
  • Eclipse:
    • Convert to Java project
    • Add jars in lib folder to classpath

Run from Source

  • Run the game by:
  • Windows:
java -cp ./lib/*;./lib/libgdx/*;./bin/ -Djava.library.path="./lib/natives" -Xmx1g seventh.ClientMain
  • Mac/Linux/Unix:
java -cp ./lib/*:./lib/libgdx/*:./bin/ -Djava.library.path="./lib/natives" -Xmx1g seventh.ClientMain

More to come!