An area maximisation game based on the idea of merging convex shapes.

Overview

Convex Merger

Convex Merger is an area maximisation game based on the idea of merging convex shapes. The goal of the game is to claim as large an area as possible while competing against your opponents that try to do the same. To do this you can either claim new objects for your own or merge already claimed objects with other objects to also claim the area between them. It is possible to play the game with up to 4 players of which some can be AIs and it is also possible to play online multiplayer. The game ends when the active player has no moves left.

Jump directly to downloads

Example Game

A short example game between two AIs is shown below. example game

Rules

The goal of the game is to maximise the area of the playfield you own by claiming and merging objects into new convex objects. In every turn you can do the following:

  1. Click an unowned object to claim it for yourself.
  2. Click an object you already own and then select a second object either owned by you or unowned. If there are no objects on what will become the boundary of the new convex object the merge will succeed. Objects fully contained in the newly created convex object will be stolen from their current owner.

The game ends when the player whose turn it is has no possible moves available. You can visualise merging two objects as spanning an elastic band around both objects, the resulting shape is the new convex object. A merge of two objects is shown below:
merge

Playfield Options

When generating the playfield you can control the object size, density and spacing. The exact function of these parameters is as follows:

  • Object size: Controls the size of the playfield objects.
  • Density: Controls how much of the playfield is initially covered by objects.
  • Spacing: Controls how much space there is between the objects. The spacing also affects the object size, with a larger spacing resulting in smaller objects.

Downloads

Requires Java 8 or higher

All releases: releases
GitHub repository: here

Online Multiplayer

The game has built in support for playing online multiplayer. Here one player will act as the host and all other players will connect to this host. If the host and all other players are on the same local network (e.g. WiFi), then players can connect to the host using the local IPv4 address of the host. If you want to play with remote players, then it is required for the host to portforward port 11111 and players can then connect using the external IP of the host. Please make sure you know what you are doing if you set this up and only play with people you trust.

Credits

Development

This is an Eclipse + Gradle project with Util as the only dependency. Development work can be done using the Eclipse IDE (already setup) or using any other Gradle compatible IDE (manual setup). CI will check that all source files use Unix style line endings (LF) and that all functions and fields have valid documentation.

History

Project development started: 20th of November, 2021.
Project due date: 30th of January, 2022.

You might also like...

A turn-based strategy game

Stalemate Game This is a turn-based strategy game. Support You can report issues in issue tracker. Contributing Contributions are welcomed. Building T

Jul 6, 2022

Triple X is a 2D space game based on The Three-Body Problem

Triple X is a 2D space game based on The Three-Body Problem

Triple X is a 2D space game based on The Three-Body Problem, which is the famous sci-fi novel wrote by Cixin Liu.

Feb 19, 2022

2D space game based on The Three-Body Problem

2D space game based on The Three-Body Problem

Triple X Triple X is a 2D space game based on The Three-Body Problem, which is the famous sci-fi novel wrote by Cixin Liu. In this game, you would dri

Feb 19, 2022

Desktop/Android/HTML5/iOS Java game development framework

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

Jan 1, 2023

A complete 3D game development suite written purely in Java.

A complete 3D game development suite written purely in Java.

jMonkeyEngine jMonkeyEngine is a 3-D game engine for adventurous Java developers. It’s open-source, cross-platform, and cutting-edge. 3.2.4 is the lat

Dec 31, 2022

Java / JavaFX / Kotlin Game Library (Engine)

Java / JavaFX / Kotlin Game Library (Engine)

About JavaFX Game Development Framework Why FXGL? No installation or setup required "Out of the box": Java 8-15, Win/Mac/Linux/Android 8+/iOS 11.0+/We

Jan 2, 2023

[LEGACY] LWJGL 2.X - The Lightweight Java Game Library.

[LEGACY] LWJGL - Lightweight Java Game Library WARNING This is the repository of the original LWJGL, which is no longer actively maintained. Unless yo

Dec 26, 2022

A Java game development framework that deploys to JVM, HTML5, Android and iOS.

PlayN PlayN is a cross-platform Java game development library written in Java that targets HTML5 browsers (via GWT), desktop JVMs, Android and iOS dev

Dec 9, 2022

Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server

Essentials Development Readme The official repository is at: https://github.com/essentials/Essentials We use NetBeans 7.3 for development. Recommended

Jan 7, 2023
Releases(v1.1)
Owner
Roan
I'm just a random programmer :3 . At the moment I really like osu! and writing programs for it. My favorite programming language is Java.
Roan
My Game Engine tested via my Cubecraft Game

My Game Engine tested via my Cubecraft Game Install: mvn -P {your OS name} clean install mvn -P mac clean install mvn -P linux clean install mvn -P wi

null 30 Oct 3, 2022
BattleShip-Game - This repository contains the code of the BattleShip (Bataille Navale) game programmed in Java.

Bataille Navale Auteur : SABIL Mohamed Amine Comment générer la documentation ? Placez vous dans le sous-dossier src : pour générer la documentation d

Mohamed Amine SABIL 1 Jan 4, 2022
Snake-Game - A simple snake game written in java.

What's this? A simple snake game written in java. How to play Download the latest release. Ensure that a compatible java runtime is installed (optimal

Patrick260 4 Oct 31, 2022
Othello PvP (2-Player) Game Application created in Java using Swing and AWT, for playing the Othello game

Othello PvP (2-Player) Game Application created in Java using Swing and AWT, for playing the Othello game, a simple game that played on an 8 by 8 checkered board with 64 double-sided black and white discs. The game is easy to learn, but it takes time to master and develop winning strategies.

Soumyadeep Pal 1 Feb 28, 2022
The game is a 2D side scrolling system, where a player moves left, right, vertically or diagonally to traverse the game.

The game is a 2D side scrolling system, where a player moves left, right, vertically or diagonally to traverse the game.

Ravi Mandal 7 Sep 11, 2022
A simple puzzle game made with Unity to practice the game engine

A simple puzzle game made with Unity to practice the game engine.

Eyüb Salih Özdemir 1 Mar 30, 2022
A basic representation of the 0-player game, "Game-of-Life", a simple example of basic cellular automata

Game-Of-Life-Basic A basic representation of the 0-player game, "Game-of-Life", a simple example of basic cellular automata. A cellular automaton is a

Nikhil Narayanan 5 Oct 27, 2022
A Java Swing based game engine

faypixelengine A Java Swing based game engine What is it? A Java game engine that uses swing and can be used to develop interactive games. The idea fo

null 9 Aug 26, 2022
console-based netrunning game

ALT.NET The build is still in semi-active development ABOUT Alt.net is a netrunning CLI game made for fun. It combines cryptocurrency concept and adds

null 0 Nov 7, 2022
Kingdoms Wars - a turn-based strategy game created with Java.

Kingdoms Wars is a turn-based strategy game created with Java. The game is loosely based on the Punic Wars.

Sharvai Patil 4 Feb 7, 2022