This is a student project where the goal is to make a digital version of the boardgame RoboRally using libGDX and Tiled.
The program is built using Maven. To run the game, run Launcher.java
(main) in the master branch.
Recommended screen resolution: 1920x1080
Here is the rulebook for the boardgame:
http://www.boardgamecapital.com/game_rules/robo-rally.pdf
- When the Menu Screen comes up you have some options:
To play Singleplayer
-
Select the map you want to play in the dropdown list
-
Press the "Singleplayer" button
To play Multiplayer:
LAN:
-
Decide who will be hosting
-
The host needs check the host checkbox and type in their IPv4 Adress in the textbox and press the "Multiplayer" button
-
The other players can then join the lobby by typing in the host's IPv4 Adress and pressing the "Multiplayer" button
-
The host selects what map to play in the lobby using the dropdown list
-
When all the players are in the lobby, the host can press the "Start Game" button
-
The priority of who goes first, changes similarly as the RoboRally board game. First player first, first round. Next round, second player first and first player last etc.
(For testing purposes, 127.0.0.1 can be used to test the mutiplayer by running the program in parallel with one host and up to 7 other players)
Online Multiplayer
-
Install Hamachi
-
Create a VPN tunnel in Hamachi. (Network>Create a new network...)
-
Other players needs to join your Hamachi network. (Network>Join an existing network...)
-
Same step as above but using your Hamachi network ip
Go to Constants.java to enable developer mode. When DEVELOPER_MODE is true:
- There is no time limit for programming, and empty slots will not be filled with random cards. This means that robots will not move unless you program them.
- You can press G to get deal new cards until you get the cards you want
In single player mode with developer mode enabled you can also:
- Click on a robot to act as the player who controls that robot
- Click on any robot and then move it with the arrow keys. This makes it easy to place robots in any situation you want to test, for example move it over to a flag and then play from there, set up two robots to push each other and so on.
- This means you can lay down cards multiple robots in the same round.
In Constants.java you can also change the time limit, or disable it entirely.
-
Joining a full lobby causes the application to freeze until a slot is open or an exception is thrown
-
Joining a game in progress sends the user to the lobby
-
Currently throws "WARNING: An illegal reflective access operation has occurred", when the java version used is >8. This has no effect on function or performance, and is just a warning.
The tiles are provided by yeoldewebsiteknight.
Skin resources by Raymond "Raeleus" Buckley CC BY 4.0
Music: Hustle Kevin MacLeod Licensed under Creative Commons: By Attribution 3.0 License http://creativecommons.org/licenses/by/3.0/