• Register

Star and Serpent is an indie game studio from Finland.

Add job Java/Kotlin programmer for a voxel game at Star and Serpent

This job was posted over 30 days ago. This means the position is now most likely filled & no longer available.

Programmers located Anywhere.

Posted by Ritualsoftheold.com on

Note! Unpaid volunteer position!

Hello everyone!

I'm the project leader of Rituals of the old. We are looking for Java/Kotlin coder(s).

The game

Rituals of the old is a multiplayer sandbox RPG voxel game of crafting, building, survival, and adventure in an open random generated world.

Check out our web page to get the mood of the game (the screenshots are a bit out of date and might not represent the current state of things accurately, sorry. It's going to be updated when we hit the next milestone):


Our lead dev is starting his military service next year and we need to find more talented people to patch the hole he's going to leave behind. We're currently pretty much down to one coder + I'm trying to brush up my Java/Kotlin skills to be of more use with the code base in addition to everything else.

- Hobby project, doing this on our free time (reserving the right to go commercial in the distant future if it looks like it might make sense).
- We're going to open source most of the non-game specific things which might be useful to other game devs (voxel engine, etc) under MIT license.
- There are currently 11 people on our international team (https://www.starandserpent.com/team/) - coders, animators, modelers, etc.
- Over two years in development (on our free time). Before that ~4 years in planning in my desk drawer.

The game is going to be hard, aimed at an adult audience, and focused on the sandbox aspect. Support for roleplaying a character is designed from ground up. Heavy focus on all things multiplayer, and comes with a modding support out of the box.


First of all, we try to leverage available libraries when it makes sense and when the licensing permits it (basically any permissive licenses like MIT, Apache, etc which are not viral/copy left licenses are fine). We also try to make use of well documented industry standards and methods which have proven effective. What I'm trying to say is that we're not trying to reinvent the wheel if we can avoid it.

We're using JavaMonkeyEngine as a base to build on. Although when working on a voxel game it's usefulness becomes a bit limited, but it's still a good foundation and the community is very nice and helpful. JME helps us especially with importing the 3D models, animations, controls, etc.

For those who are not familiar with JavaMonkeyEngine (http://jmonkeyengine.org/), it's more like a collection of tightly integrated libraries as opposed to a comprehensive development environment. Although it does come with some tools - which may or may not be useful.

For AI we were thinking of starting with the excellent LibGDX-AI (https://github.com/libgdx/libgdx/wiki/Artificial-Intelligence). It showed the most promise over anything else we encountered. The AI is going to be using behavior trees, which personally I find really fascinating and cool. I love logic. Implementation has not started yet.

We were already building our own UDP networking library, Venom, but then decided to ditch it in favor of Aeron UDP library (https://github.com/real-logic/aeron/wiki), which admittedly is primary meant for streaming originally, but streaming has so many overlapping characteristics with what we need for voxel data that we decided to use it. The implementation is not finished and is currently on pause due to lack of proper dev time.

Existing physics libraries have very limited use for us unfortunately because, well, voxels, Java, and all that. So we were thinking of building our own library from scratch. Planning phase was started, but it's currently on pause because the coder who was working on it became too busy with his personal life.

We considered several Entity Component Systems, but eventually our lead coder decided that they were all a bit too complex for our needs and we simply implemented our own. Currently it's a frame to build on the actual logic. All the basic functionality is there, but it doesn't really do anything, yet.

World generation has been in planning phase for quite some time, but our focus has been so far more on the features and how things could possibly be implemented rather than doing any design work on the code. However, we were planning on building a similar system that has been described in Thomas W├╝rstle's excellent master's thesis "Realistic Biome Generation for Procedural Maps using Essential Climate Principles" (https://tenjix.de/projects/climate-based-biomes/)

Oh, and of course we have been working on our own voxel engine, Terra, for quite some time. We're going to open source that under MIT license when it's in a condition that we don't embarrass ourselves. Currently we have infinite world. We're going for round planets with torus mapping, most likely. It seems like the best option right now. Mega texture support is working. Modifying the voxels is not supported yet. It's kind of hybrid between octrees and chunks where we use octree node to either contain chunk data or as a reference node which basically says "this whole thing here contains 100% block type X". RLE compression. What else...

Current status is that we're trying to get all blockers out of the way so we can get the test game running again (no game content, only engine at the moment). For that we need to finish networking support, add in physics support, and a few other minor things.

So why would you want to do this instead of working on your own projects?

It's a very common and valid question and deserves a straight up answer.

Game development alone is hard. Most people dream about it, dabble in it for a bit, become disillusioned, and fail to produce anything tangible for their efforts.

We have a serious project going on that was in pre-planning and testing as a mod on another game platform for 4 years. We have been in active development now for over 2 years.

As a part of our team you would be one step closer to realizing your game development dreams. With us you will gain insights into game development and into working in a small/medium sized group (11 people currently, international team). You will gain experience and practical skills about the inner workings and challenges of voxel engines, multiplayer networking, world generation, networked physics - and many other aspects of game development - in a supportive group environment.

That's my sale speech. If you're not interested for any myriad of reasons, I totally get that.

To Apply

Note! Unpaid volunteer position!

Email your questions, applications, and portfolios to info@starandserpent.com and let us know a little bit about yourself.

Hoping to hear from you.


Poika Pilvimaa
Star and Serpent