Skirmish is a complete, full-stack real-time card battler in Java. Two players drop troops, buildings and spells onto a 3D field, and the first to topple the other’s towers wins. Around the battle is everything a live game needs: accounts, decks, matchmaking, challenge links, replays, a training battle, levels, quests, chests, a shop and a console for moderating players. Use it to build your own game with Codename One, or to see how a Codename One app and server share one codebase.

Generate your project · Read the guide · Browse the source

In the Initializr, choose the Skirmish card-battler template, set your application name and package, and generate the project. The application source is licensed under MIT-0: you can modify it, use it commercially and keep your changes private without royalties. The characters and buildings are KayKit models by Kay Lousberg, released under CC0.

What comes with the application?

PartIncluded workflows
BattleA 3D field drawn with com.codename1.gaming and glTF characters, drag-and-drop cards, elixir, overtime, particle effects and a finishing camera sweep
Shared rulesOne deterministic Java module, with no floating point, that the app, the server, the replays and the tests all run
Online playTrophy-banded matchmaking, challenge links, server-authoritative lockstep over WebSocket, spectating and replays with seeking
ProgressionA guided training battle, levels, daily quests, chests and achievements, all granted by the server
MonetizationGem packs and a season pass through the platform stores with server-side receipt checks, rewarded and interstitial ads
EngagementPush notifications for chests and challenges, and opt-in analytics of the player funnel
AdministrationLive matches, automatic and reported flags, player lookup, and audited warnings, mutes, suspensions and bans

The menus are ordinary Codename One components styled through CSS into carved wood and stone, and the same client project targets iOS, Android and desktop.

Skirmish home screen Skirmish battle Skirmish finishing camera Skirmish training battle

From first run to customization

  1. Run the project. The development profile needs nothing installed: an in-memory database, demo accounts and a simulated store, so you can play the bot, or a second simulator, straight away.
  2. Tour the game. The guide opens with a screen-by-screen tour of the training battle, the deck, battles, replays, the shop, the Forge and the admin console.
  3. Make it your own. The same guide then covers adding cards and their models, balancing, re-skinning, store products, ads, push and moderation.

What does a live game still need?

Skirmish supplies the game and its source. Publishing one also requires your own hosting, store products, ad units, a push key and balancing.

Development uses a simulated store and Google’s test ad units. Before taking real money, configure your products in App Store Connect and the Play Console and the server’s receipt settings, and test purchases with sandbox accounts.

Looking for a business app?

Savor and Wayline are the sibling samples for food delivery and ride hailing, on the same architecture.