Rogue-like game for android using SDK and written entirely in Go


The first ever application using native android SDK and written entirely in Go.

It demonstrates how to use our framework to write Go android apps, go-android-rpc.

A lot of time during hackathon was spent to extend the framework to make this game possible.

Tlen is a rogue-like game. You are flying on a space ship as a son of two crew members. The crew is trying to find new planet to live. But tlen follows the expedition...

The project's code can be used as an engine to create your own rogue-like games.

How to use

You should have go-android-rpc framework. Installation instructions is in framework's repo.

Then, get the game code and build apk:

go get -d
setup-android-env ./all.bash

The process is a little bit difficult, so we prebuilt an apk and place it here: get prebuilt apk.

Just download and run it on android device. Tested on android 4.2 and 4.4.

Story behind the code

It was chilly in Siberia. -30°C actually. Four people went to one place at 5am local time. It was predetermined.


We like hackathons. We like to code, to make something non-usual.

It was disappointing that Go can not into android SDK. One of our previous projects, cryptobact, used android NDK when no official android support announced. Such pain.

Everybody loves Go. Everybody loves nifty native UI components. The only choice was to create android SDK support. And we made it.

Target user

  • Android users can play our game and use applications built upon go-android-rpc framework.

  • Go developers interested in android SDK can use our game as a start point to create their own games and applications.

Key features

Framework features:

  • buttons, text fields and the rest of SDK elements available in Go
  • dynamic SDK elements creation from Go
  • callbacks for SDK events (onClick, onTouch etc)
  • callbacks for sensors events (accelerometer, touch events etc)
  • no need to write java code

Game features:

  • demostration of framework' power
  • non-linear plot

Built with

Try it out