NOKORIWARE is bad at hiatuses | Update on Robot Farm
Hey guys, longtime no see! How about we do some catching up?
Where have you guys been?
Well, the thing is, we never announced it, but Robot Farm has been on a hiatus for a few months. This is due to my personal health situation getting worse. I tried to restructure the team a bit to make it work, but ultimately I decided to put the brakes on for a bit. The good news is that as the title implies, I’m not very good at taking hiatuses. Sitting around all day waiting for doctors appointments isn’t very fun.
And don’t worry, I’ve received some good news and managed to get into a more prestigious hospital system, so I’ll be on the mend hopefully sometime this year.
So beginning this month, I began working away at some general housekeeping that NOKORIWARE has needed for a long time - and have completely overhauled NNGINE with the latest technology.
So give us the deets!
There’s a lot actually. We’ll get to them one at a time. Most notably, NNGINE is now NNGINE-L, or NOKORI ENGINE Lightweight. Powered by LWJGL3 and a new rendering engine called Voxoid, which I’ll get to in a bit.
Why the name change? Well… NNGINE is very old, and there are very many ancient parts in it that have existed since literally 2012-2015 and haven’t even been used since we were working on We Shall Wake. NNGINE-L takes NNGINE and strips it down to the essential newer components and makes a lot of major architectural changes that makes it easier to work with. Additionally, our rendering engines are very outdated and even clumsy in some ways, so those were updated.
I thought you guys switched to Unity?
We tried Unity for Robot Farm since NNGINE was having the aforementioned problems, but we found that it was too limited or hard to work with when it came to some very specific features we need for Robot Farm - most notably in areas where modding and world creation are concerned. We’re not saying Unity is a bad engine by any means; in fact, it was a pleasure working with it and I greatly enjoyed the fact it had so many tools right out of the box. We just have very specific things in mind that may take a more personal touch, and taking the time to master Unity would take way too long.
So once again, NOKORIWARE comes crying back to ol’ reliable, NNGINE. She’s getting frustrated that we only come back into her life when we need something…
Can you be more specific about what NNGINE-L is?
So as we’ve promised for years, we will eventually be making NNGINE open source. NNGINE-L is one more step in that direction, as it’s been cleaned up and further documented to make it easier for end-users in the future. NNGINE-L is comprised of a bunch of modules that are entirely optional, but each powerful in their own ways:
NNGINE-L Core
The core is the beating heart of NNGINE-L. This contains a simple but powerful LWJGL3 display solution, a GameCore, which allows you to make a running game loop program with a plug and play class, and full OpenGL and shader integration which can get you drawing stuff within minutes. Overall, you can make a basic program that renders a shader within ten to twenty minutes.
Below I’ll explain a couple of the modules we have for it. These are attached to NNGINE-L Core to extend functionality, but are completely optional. NNGINE-L Core is entirely functional by itself as well:
NNGINE-L Sound (Module)
We have a full OpenAL implementation that allows you to set up a sound system and start playing SFX or music within minutes. It can be used easily with 2D or 3D games - also sporting a simple but powerful design, like all code made by NOKORIWARE.
NNGINE-L GLGraphics (Module)
This isn’t really designed for major use anymore, but this is the 2D rendering system used to make the original 2D Robot Farm (wait, originally 2D, what does that mean?!). It’s been restored and updated to work with NNGINE-L as a proof of concept of OpenGL functionality. However, you can still make a lot of simple 2D games with it since it’s essentially just a fancy wrapper for OpenGL’s 2D functionality.
JArcweave Importer
This was built over the last two days. This API is an implementation of Arcweave, a program designed for making long dialogue trees. So with this, you can import its JSON dialogue exports into any Java project, or use it as a learning tool for learning how to make your own importer in your language of choice.
Final Notes on NNGINE-L
From here on forward, we’ll be using NNGINE-L to make our games and programs. When I feel it’s ready, I’ll also be making it open source and finally sharing it with you all, after all these years. But you’re probably wondering on what our rendering solution is, since we mentioned that NNGINE-L GLGraphics is an outdated system meant more for educational purposes and experimenting.
Voxoid by Puppygames
These days, our graphics programmer works with Puppygames, another team that specializes in Java game development. I’ve been friends with them for a long time now; and when they heard that I was looking for a new rendering solution, they offered to let me use Voxoid, their 3D rendering solution powered by MagicalVoxel and LWJGL3. It’s actually built off of a lot of the old tech used in NNGINE3D, which is what we used to call our own 3D rendering solution used in We Shall Wake. It’s essentially NNGINE3D, but upgraded, and on steroids.
Weather today... changeable #indiegame #battledroid #magicavoxel #voxels pic.twitter.com/3bDFLPOhT4
— Puppygames (@puppygames) June 7, 2021
So that’s right - we’re switching Robot Farm’s rendering system to 3D. We’re hoping to upgrade it to look something more like Octopath Traveler. I’ll talk more about that in a minute.
In the meantime, here are some more cool screenshots of Voxoid in action from the official Puppygames Twitter account, for their upcoming game Battledroid. They also have a lot of cool videos of it as well on there. And be sure to check out their website and buy some of their games - they make some good stuff. They’re very good friends to us, so buying their stuff will make us happy too.
Can you tell us a bit more about the Robot Farm hiatus?
I’ve tried not to go into too much detail, but the longer I have this illness, the more I come to terms with it, and the less I feel ashamed of it slowing me down. Essentially - it causes me to be in extreme pain at every waking moment, but it also interferes with my sleep and eating, so I’ve also felt very weak. At the moment, I still don’t have an exact diagnosis, but I recently have qualified for one of the top hospitals in the US, so I’m hoping to get to the bottom of it soon. All of my doctors think they may have pinpointed it down to an extremely rare disease, but fortunately that disease has a cure - if that ends up being it.
So between the physical exhaustion and the mental exhaustion, and the fact it’s been getting worse, it was becoming harder and harder for me to develop Robot Farm at full speed. The issue is that I have to manage both the business and development sides of the project - including managing the team and making sure they’re on track, and also producing all of our custom tools and the game programming of Robot Farm itself.
I think it was around January or February that I realized I wasn’t able to keep up with things as is, so I informed the team we’d be going on a hiatus until I could recover. I didn’t want to announce it on our Twitter, Website, or YouTube quite yet because I didn’t want players to think the project was over or lose interest (normally when an indie-dev team announces a hiatus, they never finish the project).
However, I’m not very good at sitting around and doing nothing. I’ve taken a few months to step back and re-evaluate my approach to things, and I’ve begun programming again with this new mindset and have found that I think I can continue in this fashion.
I want to prove to myself and others that I can finish something, sick or not. The illness is debilitating, but I also like to think I’m strong enough to fight it. And game development is very important to me, I’ve used it as a way to cope with life’s struggles since I was ten years old. I’m twenty-four now, and I need it more than ever to make it through this.
So where is Robot Farm now?
Part of the problem with Robot Farm’s development was also how stressful it was to work in 2D considering the scope of the game. 2D assets take very talented artists to make, but the moddable nature of the game also makes this very technical. I’m more comfortable working in 3D, so I began to consider the approach of replacing our rendering engine with one that could make my life a bit easier.
Initially we tried to move the game to Unity, but faced development troubles again with its limitations concerning moddability. However, I couldn’t quite just use NNGINE because our 3D renderer was severely out of date and no longer being worked on. Fortunately, I’ve obtained permission to use Voxoid, which will solve this problem, since it’s actively being developed and updated. Again, big special thanks to Puppygames and their team for reaching out and helping me like this.
On the gameplay side of things, I should be able to reuse around 50 to 70% of 2D Robot Farm’s gameplay programming. However, the world editor will need to be redone, along with some of the logic concerning world traversal. That said - using 3D tools opens up a whole new world of things we can do with the game for release and down the line of post-launch support.
For now I have nothing to show, as I still need to learn how to use Voxoid completely. However, as things progress, I’m going to try and start posting more updates and keeping people posted on how development is going. I somewhat miss We Shall Wake’s approach of regularly making demos and videos, and might start trying that again. Perhaps I’ll look into making Robot Farm early-access - however there will be some difficulties there considering that Robot Farm is very story-centric.
Anyway, that about covers that for now. I’m sorry I don’t have more to show in this department, but please bear with me.
Oh, some legal stuff too.
On the legal side of things, we’ve been getting all of our contracts updated and also tucking away some annoying business stuff (and are continuing to do so). What this means is that when Robot Farm is done, I won’t have too much trouble getting it ready for the final release. We’re also hopefully going to have some interesting news soon on the side of publishing/cross-promoting, so stay tuned for that!
I’d like to give big special thanks to my lawyer Daniel Koburger and his entire legal team. They’re very friendly, patient folks and they’ve been a key factor in helping me get all of my headache inducing legal matters fixed up. If you’re in the market for a lawyer that specializes in indie development, look him up and give him a ring!
Goodbye for now!
I think that just about covers everything! I know it’s been awhile, and I know it takes me forever to do things, but hopefully this all clears some things up and explains why. I ask that you please continue to be patient with us, and keep your seatbelts fastened on this wonderful ride we’ve been on together! To those of you reading, I want you to know that I truly appreciate you and I promise that this project will be completed eventually.
As always, take care, and we love you all.
See you again!
♥ NOKORIWARE
Give us some love on Twitter! Likes and Retweets help a lot!
Hey guys. We wrote a big post on what we've been up to lately! Check it out.#gamedev #indiedev #magicavoxel @puppygames @arcweave https://t.co/0m1IhidE6M
— Robot Farm Game by NOKORIWARE (@RobotFarmGame) June 14, 2021
Stay updated!
Check these out too: