Blog entries (2022)
Adaptory Alpha 1 is now live and free to play!! 🥳 You can download a copy on itch.io, or by using the embedded link below:
This is a first alpha that anyone can download and play for free. It’s got about 15 minutes of gameplay – it’s mostly showing off the core systems and gameplay mechanics.
If you get a chance to play it, I’d love to know what you think! I’m particularly looking for bugs, crashes, or anything that doesn’t make sense.
This is the first release of many – next up I want to add... read more
I’ve been adding lots of cool new things to Adaptory as we ramp up to the alpha release! 😊
For the alpha release, there will be a simple goal; you need to send a distress signal using your transmitter. In order to do that, you’ll need to collect the brand new resource transmitite and supply it to your transmitter.
There are now doors as well. When closed, doors are impervious to gas and liquids. You can place them as blueprints in the... read more
(Warning: technical gamedev post)
One of the reasons I started making Adaptory is that I wanted to try making a game that has multithreaded simulations. Most simulation games have a loop similar to:
- Take current game world
- Apply a bunch of simulations
- Save the changes
- Go back to 1
Generally this loop is done on a single thread, meaning the update performance is limited to the processing power of your CPU. I like playing huge game worlds and I’m always frustrated when a game I love starts hitting limits.
On the other hand, most computers these days... read more
A nice short update! Pawns now wield magical multitools that they use to do things like digging, building, and supplying errands.
I’ve also added a little animation to show when they’re sleeping, as opposed to dead:read more
I’ve been such a busy little beaver this month! One of the two major branches I’ve been working on is now complete… pawns now have hair styles, thanks to @careously!
You’ll see the pawns’ hair at the start of the game, and also when they’re not assigned to a specific job. At the moment, the hair style (along with pants and shirts) is assigned randomly, based on their gender (m/f/x).
In this update,... read more
We’ve finished up the initial character art for clothing, skins, and expressions. and I think the pawns look great. They have a lot more personality now, and it should be fairly easy to add more options.
I’m still hoping to release a public alpha on itch.io this month, however the timing might be a little tight. Wish me luck!read more
Which meant I had to rewrite the graphics code. That was three weeks of work I wasn’t expecting!
But – Adaptory now plays on Mac OS! The game is unoptimised and the builds are unsigned, but it’s a start.
Very excited to be finally sharing this news! Adaptory is getting new art by @careously!
Over the last few months I’ve been exploring these new styles with Care and I’m really happy with where we’ve landed. It is quite a change – the new style is less gritty, and more playful – but I think it’s going to look awesome once it’s finished. Seeing the new art come to life was incredibly rewarding.... read more
Over the last week I’ve been revisiting the story/setting, the high-level development timeline, and the marketing plan. Today, the plan is still to go via Itch, then Kickstarter, then Steam/Epic. I think it might be a good idea to get an early copy on Itch ASAP so I can start collecting feedback and ideas, and then gradually publish new features every 4-6 weeks.
(And a quick reminder that if you’re on Patreon, you can download a playable pre-alpha of the game today!)
In the meantime, work on the user interface bits and pieces continues:
It’s been a while since the last blog, probably because there’s a lot of stuff happening in the background! While I’ve been waiting for these moving pieces to land, I’ve been spending more time – again – on the user interface.
Since this game is designed to have playtimes of 10-40+ hours per session, the quality of the UI is important. It needs to feel comfortable, pleasant to use, and fast.
So I’ve fallen back to my design library roots and I’m putting together a simple UI kit. Despite being constrained by an incomplete CSS 3 specification and a few layout bugs, I’m pretty happy with the results so far:
I think tooltips are going to be important to be able to display context to the player without overwhelming them with text:
Over the last week, I’ve been improving how to give orders and errands to your pawns. While they’ll normally be autonomous, sometimes you might need to help them get out of a hole. Which they may have dug themselves into.
So, I’ve added a “move to…” command:
You can also now cycle through all of the things present on a tile. Each selection dialog shows you more information, such as what the thing is made out of, what... read more
After the last post where I talked about adding spatialised sounds – that is, sounds that feel like they exist in a two- or three-dimensional world – I continued looking into adding reverb to the sounds, to make the game world sound more real and alive.
Originally I thought the best solution would be to pre-compose sounds with reverb at different distances, but because the game camera can move so fluidly, it didn’t work. If you moved the camera, sounds became choppy and uncomfortable.
So I’m happy to have come up with a solution using the native OpenAL bindings, where I can add any number of filters and effects to playing sounds:
I’ve spent most of the last week on budgeting and applications, but in between the spreadsheets and the writing, I’ve been working on a framework for creating in-game events. I’m planning to use this to help deliver the story and setting for the game world, to create tutorials, and so on.
At the same time, I’ve also been revisiting the sound engine. I’m adapting gdx-sfx that provides 3D spatial sounds. When you zoom in, nearby sounds get louder, and when you move the camera, far-away sounds get quieter:
In the future I’d love to extend... read more
Very excited to announce that the game now has a name!!
Adaptory is a riff on a couple of themes that form the core of the gameplay:
- adapt, because you will be challenged to adapt and thrive to a deep and changing world;
- story, because I’m hoping that the game will help you to create your own stories; and
- factory, because deep down, I love base-building games that include setting up production industries and automation (like Factorio).
📆 Release schedule
The game will be... read more
This week, I’m focusing on my application to Kiwi Game Starter 2022, which “is the NZGDA’s annual game development award and startup programme for interactive games businesses and startups.”
The submission involves lots of business and marketing practice, which is really good for me. But more excitingly, the submission requires a playable demo of your game!
Which means that next week, I’m going to be releasing a very early pre-alpha to my $10 Patreons. The pre-alpha is very short, and only on Windows, but it is playable.
So if you’d like to... read more
It’s been a good week. I’ve implemented sleeping/passing out, updated some icons, cleaned up the animation machine logic, and added more depth to the element simulation.
(Now, pawns will gain – or lose – heat from their surroundings. This doesn’t have any immediate impact, because they don’t feel hot or cold or pain yet.)
I also spent time revamping the sound effects, which was actually a lot more fun than I expected. Pawns now make footstep noises when they walk around, making the game world feel more alive.
That means I’m happy to now share the first unedited demo video of the game, complete with sound:read more
For the last week, the most interesting things I’ve been working on have been the pawns – your friends that have found themselves in this awkward base-building situation, and with your help they will survive, build and thrive.
Previously if a pawn was running low on oxygen, it wasn’t very obvious; they’d become sad, and eventually run to somewhere that did have oxygen, but that was it.
Now pawns will show you that they’re running out of oxygen with a helpful bubble:
It’s... read more
(Warning: very technical gamedev post)
I did some quick testing on the performance of Java and Groovy (my preferred scripting engine), to see where various game logic should occur, if it’s being called potentially tens of thousands of times per second.
Using Java 1.8 on Windows, Groovy 3.0.8, for 300k iterations of a simple
a < bcheck. I ran the benchmark five times so that the JVM and... read more
Over the last week my focus has been on the physical materials that are present in the game.
The first task was to select which elements and materials I actually want to be present. One day I’d love to support as many materials as possible; but for now, focus is necessary.
I’ve identified 43 elements and materials that I’d like the game to support. These include your standard water, ice, steam, and oxygen, which I’ve already demoed so far; but I also want to support some slightly more esoteric ones, including molten plastic, concrete, and super-heated gold. I’d like... read more
I’ve continued to focus on user interfaces for the last week, and I’m happy with where it’s at now. I’ve finished a lot of things that should form a stable foundation for all my work going forward:
👍 Debug console
There’s now a debug console, which you can access with the tilde key
(Internally the console is using Groovy, which means the console has access to all sorts of amazing features. You can even do math with it.)
👍 Better sandbox... read more
I’m deep in user interface code again.
My previous approach was fine, but it was a quick and dirty implementation. I knew I’d need to clean it up before I can start adding more complex interface elements (like dialogs, menus, events – all the things you need in a game).
It’s been a long time since my last post where I wrote about the first liquid and gas shaders in the game. Since then, I have been deep in the weeds with two deeply interwined challenges, so it’s been difficult to write about them separately!
The first challenge I tackled was having variable liquid levels; a tile of 1000kg of water shouldn’t look the same as 1kg of water.
For now, I’ve implemented this with a fairly basic tileset. It’s better, but I’d like to revisit it at some point in the future. I have an idea of doing... read more
(Warning: technical gamedev post)
I noticed the following tileset layout is quite popular in asset packs:
But at first glance I couldn’t work out how you could display ostensibly 28-1 different possibilities (since each tile can have eight neighbours) with only 47 tiles.
Being stuck in the weeds continues, with great success! Over the last two weeks I have focused on the rendering code for the game, to make the game more pleasant to look at.
Using a concept I’m calling “texture offsets”, tiles keep track of their relative movement, which allows the illusion of gas expanding:
I’ve been deep in the weeds of the physics/element simulation, which I think will be a big part of the game.
Hoping to have a bit more to show off next week, because there’s still a few bugs I’d like to iron out first, but here are two shots of the simulation in action:
Happy new year! 🎉
I had a refreshing break with lots of games, including discovering Timberborn, which is a great base builder with a novel scarcity/weather mechanic. And beavers!
I used my first week back as an opportunity to reflect on my progress to date and where I’d like to go. As part of that I fleshed out my very first game design document.
And whoa, there is a lot that I’ll need to implement in order to achieve my vision for this game.
I then attempted to capitalise on my experience and skills as a software developer/team... read more