Skip to content

Browser-based, multiplayer, open-source implementation of the popular tetromino puzzle game.

Notifications You must be signed in to change notification settings

wjordan/tetrominet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TetromiNET

Browser-based, multiplayer, open-source implementation of the popular tetromino puzzle game.

Features

  • Written entirely in Scala, a functional/object-oriented programming language that compiles to Java bytecode and is fully interoperable with existing Java libraries.
  • Model-View-Controller design pattern effectively separates the game logic, the server framework, and the front-end Java applet modules. A fully-functional text-mode interface is also included to demonstrate the model-view separation.
  • Extremely efficient XML-based client-server protocol designed to cope with arbitrary latency between multiple opponents, and server-side game logic completely eliminates any possibility of cheating or hacked clients. Clients capture and send compressed sequences of controller inputs, and the game is replayed exactly on both the opponent's client and the delegating server.
  • Uses the Lift web framework contained in a Tomcat instance to implement the HTTP game server, and manages browser session state in order to match games to users.

Dependencies

  • Maven (project dependency management)
  • Scala (Programming language compiler and libraries)
  • Lift (Scala-based web framework)
  • PulpCore (2D Java applet framework)
  • Charva (Text-mode API bindings for Java)

Install

Compilation is done through the Maven framework.

License

GNU General Public License Version 3 or later.

Authors

Will Jordan (will.jordan@gmail.com)

Contact

Will Jordan (will.jordan@gmail.com)

About

Browser-based, multiplayer, open-source implementation of the popular tetromino puzzle game.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published