TrapGame - Multiplayer game with Swing/AWT

Available on gamejolt: http://gamejolt.com/games/trapgame/145922

TrapGame is a multiplayer desktop game about strategy and spam-clicking. This old concept is inexplicably fun and addicting. The more players the more fun the game is. I personnally made this game because I love that game concept I discovered as a mod of another game. Go ahead and try it, the game has a tutorial and a demonstration.

Screenshots: (you can click them)



https://raw.githubusercontent.com/WinterGuardian/TrapGame/master/dev/screenshot2.png

https://raw.githubusercontent.com/WinterGuardian/TrapGame/master/dev/screenshot3.png

https://raw.githubusercontent.com/WinterGuardian/TrapGame/master/dev/screenshot4.png

https://raw.githubusercontent.com/WinterGuardian/TrapGame/master/dev/screenshot5.png

How to play: There’s a board with a definable size and each player has his own color. First you can click any square on the board if the square hasn’t already been clicked by another player. After you take your first square you can only take adjacent ones. The winner is the player with the biggest area. In order to win, trap players around your color to restrict their area. An area only accessible by a player will automatically become his.

The client has been made with swing and awt java libraries. I made the images by myself only with Gimp 2 and free of rights images founds on google.com I used java.net to send UDP packets between the client and the server. I first made the game with TCP but changed when the game got more reactive.

The game is in french and english and could be easily translated to another language, translations are loaded from a properties file. The game server can log to disk and both client and server are logging to console.

I made this game first for fun but also because I wanted to pratice networking in Java. In fact this was my first online multiplayer game and I’m really happy about it. It might have been with swing/awt which isn’t a tool for video games and it might not have the best graphics but I personnally think I did a great job. I won’t put more work on it though, I plan to start making a libGDX project with a friend.

The game is available on github with a more detailed readme: https://github.com/WinterGuardian/TrapGame

I have set up a server for your game on my vps, should be in the server-browser :wink:

little bug: the state of the finished game is not transferred when a player joins after the game has been won and the 30 second period isn’t over, seems stable so far tho.

Do you mean the game isn’t reset after the finish ? If yes it is to let players compare/count their color. Else please explain I didn’t get what you mean.

Thank you very much for hosting a server, you are so nice ! :smiley:

PS: Please lower the delay of the game in your server.properties by adding the line timer=10, 30 seconds is very long T_T

What i meant was that if a player joins after the game has just been won and the wait period is ticking down, he does not not see the final colors from the round that has just ended.

Update: tested it together with DarkCart and got some suggestions:

  • global chat and player list so that players see that there is someone! they otherwise join and leave again because the game looks dead
  • server console options for editing variables
  • keyboard steering, maybe as separate mode with more + smaller tiles
  • a limit of how many tiles per second you can place, i could just click faster and win everytime
  • the server once just stopped without any error output while the time was ticking down, couldn’t reproduce it

that’s it i think

First, thank you for your feedback. The game’s purpose being a pratice for me I might not work more on new features for now. I will only if the game gets more popular or I get more free time. I’ve already started a new project and with LibGDX this time. :stuck_out_tongue:

But for some features you said, some already exists. You can change the boardsize with /boardsize [height] with a console or a super user. You can change the timer for the current session (will not save after restart) with /timer <10>. For most server variables, they are definable in the server.properties file. Just do /proptemp to get the template of the file and edit it. Limiting tiles per seconds wouldn’t limit skill ? Yeah it is possible to cheat with an auto clicker but if you play without cheating it’s all about clicking speed. I might still test this to look if it’s better or not but I’m septical.

Although, I will fix the problem that when a player join he doesn’t see the board. I just never though about it. For the crash, I might have already experienced it too but as you said it just stop without any error. Will try to find the cause of that.

Thanks again for helping me like that ! :slight_smile:

No problem, i thought you would continue development, therefore the extensive feedback.
Good luck with libgdx, it’s a nice framework.