How We Came Up With Craftomation 101


Hi all. Oleg from Luden.io is here. Our new game Craftomation 101 becomes available as a free alpha (you can play it in your browser and wishlist on Steam). Scroll down for the long story about development, big ideas, huge plans, and tiny robots.

What is Craftomation 101

It is a craft automation game about funny programmable robots CraftoMates who can move, eat, and craft things needed to terraform a frozen planet.

With this game, you can learn or teach programming and system design basics in a fun way. You can play the game for free in your web browser and add it to your Wishlist on Steam. Chromebooks are also supported.

We release an update every 2 weeks and host an informal stream with developers every Friday on our Discord. Stop by and say hi, we’d love to chat and read all the feedback you want to share.

How it started

Technically, it all started when one of us (not me) tried to create a piece of javascript to try all the craft combinations in one really nice web game. But it’s too silly to be the reason for creating a whole game (okay it was me and I was kinda close to succeeding with this javascript).

The other piece of this puzzle was in a huge spreadsheet with feedback from players of our previous game while True: learn(). A lot of players asked us to add more “real programming” in our next games.

Another thing we were inspired by was an amazing article Artificial Living Plants by Edward F. Moore (1956). It was dedicated to using self-replicating machines for resource mining and production (not just on Earth, but on other planets as well). Additionally I was shocked by the idea of Freeman Dyson who proposed using self-replicating machines to deliver ice from Enceladus to Mars to help with terraforming.


It all lead us to brainstorming: what kind of game could demonstrate all those amazing concepts, while showcasing programming as a really useful tool for automating various systems, small or huge?

To be honest, “self-replicating programmable robots used for terraforming” sounds really charming, inspiring, and awesome to us. We simply had to try and make this concept into something playable!

Self-replication

The work began in early 2021, as our artist Alex started making sketches, while Dima and Ivan were getting familiar with the Defold game engine (read below) and how it works with Spine animations.

But the real push for us was Ludum Dare 48, which happened in April '21. This online event suggests participants to develop their games in 48 or 72 hours sprints, and we at Luden.io have a long lasting tradition of participating in it.

After a short brainstorm, we decided to make a game about mining resources and investing them into something - something cool, like building a rocket! So we’ve piled up some premade art assets, ideas that could be implemented in a short period of time, and a lot of coffee - and made it into a prototype.

That was a glitchy, but fun little game. After reading 30+ cheerful comments with tons of kind words and meaningful feedback, we thought that the concept was worth working on.

Development

As you might already know, our studio is focused on educational games, which implies lots of discussions with educators. You wouldn't believe how many times in the last 8 years I had to tell educators that, alas, they can’t use our games with Chromebooks (the most popular computer in the classrooms of the US), because our game engine doesn’t support them.

That’s how we ended up with a new game engine - Defold - which is super fun to use and supports web platforms, including Chromebooks.

We’ve launched a pre-alpha on itch.io which was quite helpful because players could instantly start playing the game and providing lots of feedback, ideas, and unexpectedly good ratings (which was tremendously inspiring for us, thank you!)

The game is growing on itch.io

We wanted to an intuitively comprehensive game, which is why the crafting system was extremely simple - you just combine two objects to produce a new one. Hit Stone with another Stone to get a Spark. Hit Spark with Coal and get a Fire. Fire and Water make Steam…

But what about that automation part? We needed someone who would clash the objects together for us. It would have to be able to pick up an object from a particular place, hold two objects in two hands and combine objects to create the new one. We've asked our artist to try and envision such a creature. The first results looked… peculiar:

One of the first working prototypes

Another challenge for us was to make it easier for players to select a particular place on the map for programming purposes. So we’ve started with chess-like map visuals.

Don’t even ask…

Command Stack

The first implementation of the programming part was inspired by Assembler. Adding commands one after another, executing them one by one - that was quite playable.

Command stack on the right

But as the game started growing, it became much more complicated to create loops and if statements keeping all the code in stack format.

Command stack with a cycle (oh it’s getting much worse with 2 or 3 of them)

Visual Programming

By the summer of 2021, we decided to make an experiment with visual programming. We’ve already worked with systems like this in Unreal Engine's blueprints and that was really cool. That was one of the main reasons to make visual programming systems the base for while True: learn() but… But it wasn’t an actual programming environment, more like a sandbox for puzzles.

When our programmer Dima uploaded the very first version it became clear that visual programming was much better than the command stack format. What was even cooler, it allowed us to expand the coding part with functions, libraries, custom nodes, and all the stuff programmers like.

Visual programming system

The Goal

With the concept, the workfield and the character in places, our next question was: what is it all for? We started with resource mining cycle: load a bunch of elements into a rocket and it will return with a reward - new programming modules for your robots.

Getting the cargo rocket full

Later, when we implemented all the basics we finally got to the initial idea of using robots for terraforming. So now your goal was to terraform the planet - melt the ice, create an atmosphere, plant trees and set up the production of food and water to make the planet habitable.

Producing mushrooms to be used as human food

Trees, food production, and buildings - were to be created the same way as basic elements or robots: by clashing the basic elemets. It could be done manually or by programming a robot to do that.

Oxygen, water, and temperature buildings

Melting The Ice

Eventually we eneded up with a concept of melting the ice on the planet's surface. In the beginning, the rocket melts snow and ice around the landing zone, but after that the players were on their own… well, almost!

Rocket melts the ice

In order to expand, players must place fires and keep them alive. If they went out, the land around them would start to freeze back. Should the players decide to stick to manual crafting, the process would quickly turn into micromanagement hell. Not good… Enter the CraftoMates!

We designed a robot upgrade to make it able to move through the snow.

In the current version of the game, you start with only one robot because the rocket can’t carry more. But once you get around the crafting system and the basics of visual programming, you'll be able to build a gang of tiny workers! Heck, you could even make robots make more robots, if you're smart and patient enough!

Starting with only one robot… or two

Future

The game is coming to Early Access later in 2022. Our roadmap is public and waiting for your suggestions, you can find it on our Steam page. We release an update every 2 weeks and host an informal stream with developers every Friday on our Discord. Stop by and say hi, we’d love to chat and read all the feedback you want to share.

You can support us with this limited-time Pay What You Want offer and buy the soundtrack and exclusive art pack for any price you want from $0.01 to $99.99+.

Other than that... have fun!

Best wishes,

Oleg Chumakov

Luden.io

How to get more involved

  • It probably sounds silly but - play the game and share your impressions with us.
  • You are always welcome to share your feedback, bug report, or feature request via the form.
  • Here is a limited-time Pay What You Want offer for early supporters of the game. Any price you want from $0.01 to $99.99+.
  • If you want to talk please join our Discord. We all are online most of the time.
  • Here is our Twitter with regular updates on development status.
  • If you want to help with translating the game - please drop us a line at info@luden.io and we’ll share the spreadsheet with you.
  • If you are an educator - let me know how we can make your game-based classes better and class preparation easier. My email is oleg.chumakov@luden.io

Files

js-web.0.37.3.147.zip Play in browser
Jun 02, 2022
x86_64-darwin.0.37.3.147.zip 32 MB
Jun 02, 2022
x86_64-linux.0.37.3.147.zip 30 MB
Jun 02, 2022
x86_64-win32.0.37.3.147.zip 31 MB
Jun 02, 2022

Get Craftomation 101: Programming & Craft

Leave a comment

Log in with itch.io to leave a comment.