[Libgdx][Akka] TAnima- mmo rogue-like



After long time of TAnima alpha version development, it is open for testing now:

Now I am starting to work with content (quests, enemies, graphics, audio etc)
Let me know if you find any bugs or you see something that could be done better.

I will be glad for your comments :slight_smile:

Alpha teaser:


TAnima is a mmo-action-roguelite game placed in s-f world.
[b]Plot[/b] Long time ago, humanity left earth in order to discover new worlds. It took so many years to explore and conquer entire space. It took so many years to drive first human to the Karmin moon. Karmin moon had one thing that nobody ever seen before.

The crystal. Biggest crystal in the entire space.
Imperials found out that it can be used as the fuel for their starships
They built a mining tower surrounding crystal in order to get it.
It got it’s name: TAnima.
But the crystal wasn’t just a stack of rocks…

Some time after first colonials arrival it started to live.
It killed everyone.
Imperials decided to turn mining tower into a prison to get fuel by all costs.
But after some time contact with prisoners has been lost.
You are the one who wakes up in the TAnima.
And you don’t know why…

[i]"There are only few of us now, who remembers what happened here. It was just a normal prison.
Everything turned wrong when we got closer to the crystal’s core.
Tower started to evolve. It started to spawn monsters. It started to talk to us in our mind
It wasn’t angry for us. TAnima was curious.

First time, it wanted volunteer to talk with. We got one. He went to the room and closed the door.
After some time, monsters disappeared. When we came into the room, we saw our guy turned into crystal.
Sitting on the crystal throne. With no vital signs. We didn’t even know his name…"

  • The Diary of Elders

“TAnima stopped attacking us only near the crystal throne. We’ve built The Bastion around it.
But it was only beginning. We’ve discovered that when we die in TAnima mines, we are revived again.
We don’t remember what happened in mines after resurrection. But it’s still better then nothing.
A lot of us lost their minds. A lot still believes they return home.” - The Diary of Elders

“Some time ago, we’ve discovered new people in mines. They aren’t prisoners like we are.
They don’t know how they came here. They only remember their past. TAnima talks to them as well.” - The Diary of Elders

"It’s hard to understand what TAnima wants from us. Everytime it speaks, the meaning of his words is weird.
It doesn’t have any feelings. Only because of that, we know that it’s not keeping us here for fun.’ - The Diary of Elders

“Why do you hate me, human? I gave you everything you always wanted…” - TAnima

“I still have to learn more about you. Sometimes it’s hard to believe that you still exist.” - TAnima

“I am your friend. Your best friend…” - TAnima[/i]

[b]Technology[/b] Client - Libgdx/Java/Scala Server - Akka/Scala/Java/Libgdx-AI

I’ll be really thankful for your comments and support in development. It will be really helpful! :smiley:

Very nice style, I like it 8)
How long did you work on this game until now?

Thank you :slight_smile: It is about a month of development after my working hours.

Looks very nice :smiley:

You only needed 1 month for this, even if you only work on it after working hours?
I am currently working on a little game too, however I can’t motivate myself to work on it every day, so the progress seems to be very slow…
So respect for that!

Thank you :smiley: At start, the progress was rather slow. I didn’t know how to find motivation. That was the main problem. In my job I’ve found out agile patterns really effective. I wanted to use something like this but dedicated for one person team.

So I do following sequence every day:
1 (BEFORE SLEEP). create short backlog with few features to add (if exists, add few more). Features has to fit one day long work and can’t overwhelm you. So they should be easy. Never let your backlog be empty. Don’t waste to much time on thinking about design. It’s always changing and you will get better idea later,
2. at the end of the day, get something from your backlog and decide to do it tomorrow. It’s important to not do this at the day start. At the end of the day you are tired enough to make quick decisions and in the morning you already know what you have to do.
3. go sleep,
4. wake up, work on game for few hours (feature selected yesterday from backlog)- you are very effective in first hours after waking up, don’t waste it,
5. go to job/life,
6. meet friends/free time,
7. work on game (you have to finish your task before end of the day),
8. document and publish your work. Videos are fast and easy.
9. watch a video with a result of your work (and comments if there are any). Game is not satisfying for you, but you see it going better everyday. That gives you motivation.
10. Back to 1


  • User some version control (I use git). Do commits often. Always after finishing atomic change. Your game has to compile and run on each revision. Sometimes you need to just drop for example 1 hour of your progress to go other way
  • If clean coding takes too much time somewhere, do it dirty. You will refactor it later (when you need it or when you can’t look at your ugly code anymore)
  • Make use of TODO comments in code. It’s easier to find what you need to do. Usually your IDE is supporting searching of todo comments
  • Don’t waste to much time on graphics/view but don’t forget to work on it over time. At start I was working with just rectangles with text describing what it is. It’s not that good because you are losing motivation if you watch only the placeholders for a long time.
  • Always have fun. I’ve spent 15 minutes yesterday to set animation speed of main character to fit shopkeeper from crypt of the necrodancer. Why? To watch them dancing together xD

Maybe it will be helpful for someone. Finding motivation is a hard thing :slight_smile:

Maybe some of you got more tips and would like to share it? :smiley:

I started using a Todo-App, in which I write down some kind of backlog.
As you said, it is important to keep a backlog, because if not, you have to think about what to implement and that causes your motivation to go straight down.
Working on the game in the morning sounds like a good idea, but I don’t think I could keep that up :smiley:
My biggest problem is, that as soon as i face a problem, which takes some time to fix, I loose motivation and go back to play games instead of making games.


Looks beautiful:).
I like the rocks on the ground which move when you shoot.

It’s amazing that you could done it within only one month!

I’m also developing a game after work hours, but the progress is very slow.
I can only spend less then an hour a day late evening, so I am tired and not very creative.
It is better to say how many hours did you spend working on your game.
In my case, I started around 4 months ago, so here are my calculations

122 (days) * 1 (hour a day) * 0.7 (not every day I can work on the game) * 0.7 (some preparing issues)

So it gives roughly 60 hours.

I think your rules are really helpful. I have to try them once. Maybe my progress will speed up.

Thank you guys :slight_smile:

Skillful dirty coding is helping with avoiding stucking in hard problems. Next morning, these problems seems to be trivial and it’s easy to fix/refactor it.

Working on game takes me around 4 hours daily. Exception are lazy weekend days (without any distractions like life or something) where it looks like 8hour (1 md). I take breaks often to regen. These breaks cannot be like watching tv because it is making me lazy. There are many little things that are helping in long working (like looking through the window from time to time to avoid headache). The most important for me is to always achieve my daily goals. It helps a lot with motivation problem.

Thanks and let me know if it was helpful :slight_smile:

Added multiple things (see devlog):
-shop, equipment, torch, health potion, secondary item
-npc and text messages
-jumping, abyss (instadeath floor which you can jump over)

What do you think? :slight_smile:

Game has been splitted into server and client. It’s possible now to run multiple players :slight_smile:

Added local objectives (video :))

Guess you have to be quite experienced in libgdx and networking? To pull all this off including multiplayer within one month must require some experience :smiley: . Good job, thanks for sharing this with us.

Thank you! That means a lot :slight_smile:

I am working on networking all the time as backend developer in my job. Few years ago I was making some simple games in libgdx so I knew this lib a little :smiley:

I've just added in-game tutorial along with NPC scripting. It will be launched at start for new players. (see video :))

Hi, maybe I missed something, but where can I find a playable version of your game?

Hi. For now it’s not released. Waiting for more content. I think that it will be good enough in 3 weeks for early demo :slight_smile:


I’ve started making town (per floor hub for all players). Today:
-shop- shopkeeper filling empty item slots in his shop according to actual item pool
-junkyard- where you can sell your items and donate for better items in the shopkeeper’s pool

(check video in presentation)

What do you think? :slight_smile:

Trashy added :smiley: (see video in my post)

Would you mind telling a little bit about your netcode (client / server interaction)? How do you handle client side prediction? Is there a certain reason you decided to use Akka and Scala and what parts of your server are in Java and what in Scala? Are you planning to release a master server or will every player be able to host their on games? In case everyone is able to host their on games how are you going to deal with portforwarding? Sorry for all this questions, I’m just curious :smiley: