Meet Learning Factory
Hi all. Oleg from Luden.io here. We are a small game development company, focused on educational video games. Thank you for stopping by…
Hi all. Oleg from Luden.io here. We are a small game development company, focused on educational video games. Thank you for stopping by, happy to see you here :) What a year for self-aware learning and educational video games! This story is kind of about that.
Actually, this story is about machine learning, educational video games, automation, and cats. It all started with our crazy idea of combining machine learning and video games in our new project called Learning Factory, which is now in free alpha. You are definitely invited to play and get more involved by voting for features and sharing feedback — Discord is the best place to start.
It’s all about amazing players
As you may know, we’ve started Luden.io with the simple idea of making video games a good tool for learners. Just because we love video games and to learn new things ourselves. Why not combine them?
A couple of years ago we decided to do an experiment and to put machine learning basics into a simulation game about one surprisingly talented cat and a programmer. Long story short — unexpectedly for us the game exploded and a lot of super sharp and friendly people landed on our Discord. At this moment we understood that we are not alone in being big fans of combining video games and learning new tech things like machine learning. You can read the full story of while True: learn() here.
Why Machine Learning?
Machine learning is a super mystified theme and a lot of people are interested in it but afraid of taking the first step because all those things like artificial intelligence and data science etc look extremely complicated.
As developers, we know that the basics of machine learning are far from dark magic and we can show how it works and also support curious players with additional educational materials. Some of while True: learn()’s players even got hired as machine learning specialists! These stories are inspiring us like hell.
Consequences of the too-careful design
During the pre-alpha development of while True: learn() we designed everything super carefully, especially parts with complicated machine learning topics (like reinforcement learning) and complex systems (like startups).
To be honest this approach was based on a hypothesis that we and our friends are the only people who will like machine learning, cats, and an educational game combined :) We now know that it was the hypothesis that was invalid.
As a result of this approach, we’ve cut off a number of interesting but complicated topics. Also, we have a number of weak motivations for some technologies, like recurrent neural nets (RNN). Those parts are still fun to play but players don’t really need RNN to solve in-game problems because RNN is real but in-game problems for RNN are a bit far-fetched.
But most sadly, we’ve found ourselves with quite an interesting puzzle/programming gameplay which is hardly extendable with new machine learning stuff.
To better understand what our players want, we continually ask them a number of simple questions. One of them is whether they want to go deeper into machine learning tech.
In 2019 based on those answers and a hardly extendable architecture of while True: learn() we decided to start prototyping a new game.
How Learning Factory works
At Luden.io we are big fans of having the real world as the main reference because it’s cool to be able to solve real-world problems with solutions tried in video games.
We wanted to design our next game upon real machine learning and real problems to be solved with it. It means the same scenarios as in the real world. The same places where we can meet machine learning in our daily lives. And that’s a lot of places in 2020!
If you are an educator or a curious engineer you should be able to apply your own machine learning tech to the game’s data and then use the results to succeed in the game.
We also wanted to make this game mod-friendly to meet the needs of educators from all over the world. We received a lot of emails from educators who use while True: learn() and they have been asking us to modify the game a bit in one direction or another to make it more comfortable to be integrated into their curricula.
And finally, we wanted the game to be extendable as hell. There are so many interesting aspects of machine learning people want to learn about. And engineers keep inventing new things like Transformers, Reinforcement Learning, Convolutional Networks, Generative Adversarial Networks, and much more.
So we decided to act as closely to the real world of machine learning as is possible. Here is the basic cycle:
You are flying to an old factory because it’s the only place where you can find the answer to one of the most important questions — what cats really want (maybe you heard about the famous entrance issue — when they really want to enter and when they don’t?).
By renovating and automating a lot of things, they set up the production of different goods. Yes, we are huge fans of Factorio and Rimworld games, you should definitely check them out!
All produced items could be sold in Cat Stores. Customers (who are cats) come to the shop and if the price you set for the desired item is okay for them, you will do a deal.
Cat Stores collect data about customers and deals.
Machine Learning is used to analyze the generated data and personalize prices for customers to maximize income.
And finally, you can hire researchers (who are surprisingly also cats) and pay them salaries. Using the data and different experiments they can invent new things for players to use. And even general artificial intelligence which is… nobody knows what it actually is :)
But wait, why the hell are the customers cats? I don’t want to drop a spoiler but it’s a really funny story of how cats came up here. You can discover it for yourself in the game :)
Answering one of the upcoming questions — yes, you will have a Turing-complete system to program any stuff you want. It’s based on Conway’s Game of Life.
Pre-Alpha
In April 2020 we complied all ideas into the very first prototype during Ludum Dare 46. Later we sent the game to our friends and fellow players in our Discord (you can join so you don’t miss anything).
The game was super early with tons of bugs but players gave it a shot and even shared more than 60 comments with feedback.
Thank you all very much for sharing the feedback, please keep doing that in Discord❤️
Some players were spending really long hours building unexpectedly huge factories full of cats. But there was nothing extremely unusual at this stage, just a regular development process. We were focused on two things — building the game and talking to players.
Steam Game Festival June 2020
Things became much more interesting in June 2020. It started with the idea of participating in the online showcase — Steam Game Festival (which is the real deal, thank you Valve).
Maybe you’ve noticed that Steam now has a video player at the top of the page if developers are streaming. According to the guidelines of the Steam Game Festival, it’s highly recommended that developers stream during the festival. That’s why on the first day of the festival, we decided to give it a shot and to stream for 1–2 players who would stop by and say hi.
I made a cup of tea and set up the stream. I was playing, making changes in the game, and talking about our ideas, goals, and dreams about educational video games future. After 20 minutes of broadcasting, the chat remained silent and I was curious if everything was ok.
I opened the game’s page on Steam and saw that 1008 people were watching the stream. Refreshed the page. It became 1043 viewers. So even if those people were just curious about the game and opened the game’s page with no intention of watching my stream it was a lot for the game at the pre-alpha stage. Therefore I spent the last hours of the stream pretending to be a really popular Twitch guy (haha, I think that was truly miserable)!
When the broadcast ended I decided to find reasons for those surprising numbers and opened statistics. Ba-dum-tss. As far as I know, I’m restricted from sharing exact numbers from Steam stats publicly but that was the same wishlist/players numbers we reached in the first year of while True: learn(). But that was only the first day of the Steam Game Festival. Please don’t ask me what happened in Discord on this night :)
We learned two things:
Somehow a lot of folks shared the super early pre-alpha version of the game with their friends, others with their friends, etc.
Players loved the additional educational materials about machine learning from the game, they still want to go deeper which is wonderful.
Free Alpha of Learning Factory
Since Steam Game Festival we have been collecting tons of feedback, putting it into our task lists, releasing updates, and repeating again. If you will keep sending feedback to us in Discord we’ll be the happiest developers in the world. Feedback is vital, it helps us keep going :)
At the moment we’re adding new buildings, resources, automation mechanisms, and of course new machine learning tech. The alpha of the game is free for everyone, you can find it in Discord and in Steam. We do weekly updates in Steam and in Discord, daily highlights on Twitter.
Keep up with the development, it will be an interesting journey and we will be happy to share it with you! Early access is coming in 2021.
How to get more involved
Play weekly updates.
Vote! You can vote for features, art, and design decisions in our Discord every week.
Share feedback! During the development of while True: learn() we’ve collected more than 14547 feedback messages from players and spent months of our lives reading it and turning it all into game updates, let’s beat those numbers!
Vote and comment on plans in the public roadmap.
Links
Twitter: https://twitter.com/learningfact0ry
Discord: http://discord.gg/ludenio
Learning Factory on Steam: https://store.steampowered.com/app/1150090/Learning_Factory/
Newsletter: http://ludenio.substack.com/
Public Roadmap: https://trello.com/b/dn9tVQik/learning-factory-roadmap