Online Multiplayer Android Board Game

Overview

ClonesOnline

ClonesOnline is an online multiplayer Android board game. It was developed oryginally as an university project, but eventually after many improvements I released it on Google Play. It grew up and for now it contains 14268 lines of code (without comments and libraries).

Clones Online Google Play link button

Game Description

Clones Online is an multiplayer board game with simple rules. Every player has balls of his individual color. Aim of the game is to infect with your colour as much opponent balls as possible. You can do that by cloning or jumping your balls. Player with bigger number of his colour balls wins. Player can choose server and room to join or create his own room. There is also an option to play together on one device. There are game statistics and achievements to unlock.

Clones Online screenshot 1

Clones Online screenshot 2

Clones Online screenshot 3

Clones Online screenshot 4Clones Online screenshot 5

License

This software is distributed under the MIT License (MIT).

More info could be found in the LICENSE file.

Architecture

Clones Online was developed using Eclipse ADT. Used Android SDK version was 4.0.3. Main library used to develop this game was Libgdx. However there were more libraries included.

List of included libraries (most important ones without logging libs, utils libs etc.):

  • Libgdx <- Main library. Java game development framework.
  • KryoNet <- Network communication and serialization Java library. Often used together with Libgdx.
  • Google Play Services <- Google API used to authenticate user connecting to server using Google account (on Android device)

Clones Online consists of many projects. They are representing important parts of whole project like client core, game server etc. Game can be dived into:

ClonesOnline important partial projects:

  • Clones <- Project of core client application
  • Clones-andorid <- Project used to Build and Launch client Android version
  • Clones-desktop <- Project used to Build and Launch client desktop (PC) version (useful for testing)
  • ClonesServer <- Project of game server which handles online mode
  • ClonesBot <- Project of AI Bot which could be run on desktop (PC) to simulate player on server

ClonesOnline not important partial projects:

  • Clones-html <- Project used to Build and Launch Web GL version - not used, has errors.
  • Facebook SDK <- Used as a library for other projects
  • google-play-services_lib <- Used as a library for other projects

Project import

Clones Online was made using Eclipse ADT. Everything is compiled and build using Eclipse tools and plugins thus it is impossible to import project to another IDE without doing some modifications. Below I will show how to import project step by step using Eclipse ADT.

1. Prepare Eclipse ADT environment You should firstly install Eclipse ADT bundle (which contains Android SDK) or manually configure Eclipse together with Android SDK (which is worse option). Then you should configure your Android SDK by downloading all important libraries connected with Android 4.0.3. Also make sure that you have installed JDK and your Eclipse is properly configured to use it. Installation and configuration of these tools are topic for another instruction so if you have any troubles just search for it on the Internet.

2. Clone project from github repo to your hard drive If you are a github user you should know how to do it. If you don't remember how to do it or you are new to github (and maybe also git) just google it.

3. File->import in Eclipse ADT After launching Eclipse ADT you have to click File -> import and import window will pop up.

4. Pick General->Existing Projects into Workspace option Pick General->Existing Projects into Workspace option and click next.

5. Browse for project root directory and select all projects Click browse and select directory with the project from your hard drive. Then select all projects (you can use Select All button). After that just click Finish.

5. Clean Projects Often after import Eclipse shows many errors. Very often they aren't real errors and we can get rid of them using Clean command. Click Project->Clean, then select Clean all projects and click OK. You can make it several times. Sometimes also Project->Build All helps.

6. Resolve Android project errors Very often even after cleaning Clones-android project has errors. In fact it is usually Eclipse fault and there are no real errors. However we have to cope with that. Firstly we have to click Project->Build All to get rid off Android Manifest.xml error. Secondly open GetTokenTask.java and delete imports with errors. Then we need to click keys combination Ctrl + Shift + O to automatically organize imports. Then Ctrl + S to save file. Then we have to do the same for MainActivity.java. Select com.google.android.gms.ads.AdRequest, and com.google.android.gms.ads.AdSize when asked by automatic import. Then clean all projects as it was shown before. If MainActivity still has some errors remove imports with errors one more time, then automatically organize imports, save and clean all projects and eventually Project->Build All.

7. Enjoy code Everything should work now.

Configuration

By default everything is configured in the way that application should be able to be run (with not all functions working) without any changes in config files. However sometimes it may be necessary to make changes in config files before first launch of server and client. What is more you have to modify config files in order to make all functions working. There are also config variables that aren't essential, but you might want to change them.

List of files with configuration variables:

  • Clones
  • network -> NetworkConfig.java <-network configuration
  • game -> GithubConnector.java, Config.java <- github connection configuration (bug report system), game preferences
  • Clones-andorid
  • MainActivity.java <- ads show configuration
  • Clones Server
  • Config.java <- Server port settings, Database connection configuration

Files with configuration variables shown in Project Explorer:

You might also like...
Free Android 2D OpenGL Game Engine

AndEngine Donations While developing AndEngine was a lot of fun, it also also consumed many(!) months of my life. It actually continues to cost me a s

A cross-platform Java game Engine (Framework) , support JavaFX / Android / IOS / HTML5 / Linux / MAC / Windows
A cross-platform Java game Engine (Framework) , support JavaFX / Android / IOS / HTML5 / Linux / MAC / Windows

Loon Game Engine (Java Game Framework) EN / KR Free Game Resources Links Download Loon Game Engine Only Android-studio Template : androidstudio-templa

 Android Kotlin: Matching Kitties: A Game Inspired by Cats
Android Kotlin: Matching Kitties: A Game Inspired by Cats

Android Kotlin: Matching Kitties: A Game Inspired by Cats A kotlin based Android memory game Screenshots | | | | | | | | | Viewing the App You can clo

a bitcoin key collision game for android

BitteryApp BitteryApp is an opensource bitcoin key collision game for Android. How to Build BitteryApp source code build in chromium building environm

SMBClone - SMD clone custom game engine. (Desktop + Android)

SMBClone Simple crossplatform game engine for like SMB game! Supported platforms

Fifteen is a puzzle game created using Jetpack Compose for Android.
Fifteen is a puzzle game created using Jetpack Compose for Android.

Fifteen / Jetpack Compose Fifteen is a puzzle game created using Jetpack Compose for Android. The goal of the game is to arrange the knuckles in ascen

TicTacToe Game App For Android
TicTacToe Game App For Android

TicTacToe App Android Tic-tac-toe, noughts and crosses, or Xs and Os is a paper-

Android kotlin basics cook game
Android kotlin basics cook game

Android kotlin basics cook game

Android 2048 Game in jetpack compose
Android 2048 Game in jetpack compose

Android 2048 Game in jetpack compose A simple 2048 game written with 100% Jetpack Compose. Features Jetpack Compose Material 3 MVVM Adaptable theme Da

Owner
null
Ko Ja Match Up - a realtime massive multiplayer match up game

?? Ko Ja Match Up ℹ Ko Ja Match Up is a realtime massive multiplayer match up game. Two teams try to beat each other in a concentration game. ?? The s

Tobse 1 Jul 11, 2022
🛥 Stream Draw - a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose

?? Stream Draw is a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose. Draw and guess words with your friends! This pr

Stream 286 Dec 20, 2022
A simulation of the famous battleship board game

battleships A simulation of the famous battleship board game A quick intro to the Kotlin syntax Function/Method syntax fun hello(param1: String): Stri

Daniel Bunte 0 Nov 12, 2021
Tangler a small casual puzzle inspired by the Tantrix board game but with a different twist.

Tangler game. Written in Kotlin, for desktop (Java JAR) and Android. The iOS module is present but was not built or tested.

Andrzej Novosiolov 6 Jan 6, 2023
Android Game App made with kotlin. Allows to play online on the same network!

Reversi - Kotlin/Android Project made for Arquiteturas Móveis at ISEC 2021/2022 Notes Build gradle to run app or install the 'reversi.apk' directly on

André Lopes 1 Feb 5, 2022
This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and there is a button to continue playing and the game determines the result of each player

Game-X-O This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and the

Mohamed Rafat 2 Aug 20, 2022
Our maze game is an 2d-animation game developed using android studio.

Our maze game is an 2d-animation game developed using android studio. The game consists of a ball and a board with a hole in the center of it. We are using accelerometer as controller to guide ball towards the hole. T

Suraj Devgan 6 Nov 29, 2022
Game made with Korge (Kotlin Multiplatform game engine)

MolesAttack Kotlin Multiplatform Game Play Html/js: https://feliperce.github.io/MolesAttack-Distribution/ Jar: https://feliperce.github.io/MolesAttack

Felipe Rodrigues 10 May 30, 2022
An easy open source Android Native Game FrameWork.

JustWeEngine - Android Game FrameWork An easy open source Android Native Game FrameWork. Engine Flow Chart How To Use? Import Engine's module as Libra

JustWe 767 Dec 8, 2022
Desktop/Android/HTML5/iOS Java game development framework

Cross-platform Game Development Framework libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux

libgdx 20.9k Jan 8, 2023