Hey everyone! I'm back with another set of developer standup blogs from my discord. Posts have been less frequent because of College. I'm about 2 weeks away from graduating! Anyways, I present you the last 14 episodes!
*Looking at the earlier posts now... wow, do I love to change shit all the time haha. Just let me cook :)
Episode 2 - Posts XI-XIV
1/30/25-4/29/25
Dev Standup 11.0: Boring Day - Water Pipeline Map Validation & New Water Features
Nothing super exciting to show off... But I am writing unit tests in game development for the first time ever! Basically I have it set up to check for mistakes in the maps I make. In this case, I'm missing 3 drains that spawn on the map by default.
Additionally, I have set up basic configurations for the new 12-13 water features, that's quite a bit :o
Demo still not approved, not looking too good. On the bright side, I'm already on making the start of the game 10x better

TLDR;
Dev Standup 12.0: Water Inventories & New Water Currencies
Water is now entirely managed by Water Pipelines... So all of the previous features will be accessed on this map (I haven't made that yet). Each block will have a water inventory with all of the above currencies. Debuff ones are bad, bad news!
Dev Standup 13.0: Secret Map
Dev Standup 14.0: Water Drains New Look
Made the Water Drains prettier and matched the colors with the right water resource. On top of this, I will being implementing the new features, start with Water Filtration!
Dev Standup 14.1: Renewed Feature, Water Filtering
Previously Hydro-Pollution Analysis, this feature converts Polluted to Filtered Water. All the different processes will have a unique look to them.
Dev Standup 15.0: Ugh... (The Paradigm Shift Post)
Basics
Slowly upgrading current codebase to an even cleaner codebase, which will make it easier and more fun for me to work on Idle Research 2. It will make creating new features so much easier too!
Center is the Distilled Water Drain. Left is what the setup was before the cleaning. Right is after.
Technicals
So I have encountered a major design problem with IR2's code and prefabs. I've been using something called "Inheritance" and it's a long story on why it's not going to work long term. I will be converting most things to something called "Composition" which will allow me to make customizable features much much faster. I will be utilizing both Inheritance and Composition.
For example, this Distilled Water Drain prefab is made up of 2 components. If I were to make 100 more of these drains, I would have to readjust a lot of these drain settings and it's a ton of manual work. That's the problem with Inheritance and how I have these magic prefabs set up.
Composition essentially splits those 2 components into many, but a lot of these more broad components (such as Cards and Dialogs) are already dealt with and assigned at more broad levels of the Drain prefab (such as Card prefab, Dialog Card prefab, ... eventually Distilled Water Drain prefab).
When making new drains, all I need to do is:
Copy the parent prefab: WaterDrainDialogCard
Change the colors (which can also be done in the code)
Add the new Drain script, such as Distilled Water Drain
Add other scripts that are needed for this drain
Done
Previously:
Copy the parent prefab
Change the colors
Add the new Drain script
Hook up the close button and distilled water chip
Jerry rig setting up the main drain views (the drain effects and the chips)
Add other scripts that are needed for this drain
Copy and paste a new prefab for the Pipeline Config view
Other BS
[strike]Death[/strike]
Done!
Each of these scripts are also very small and reference each other in a chain. Card shouldn't have access to Dialog, but Dialog should have access to Card. It is the Dialog's job to set up Card and maintain its' lifecycle.
The Ughs
I have spent to past week trying to figure out why Water Pipelines was having issues displaying the Water features using Dialogs. This solution will completely solve all the problems I am facing and make my life much easier, and it will feel like the past week has been a waste.
I have a ton of components, so it will take a long time to transition. Fortunately, I can do it one item at a time as I work. I wish I went with this system earlier, but it is very good that I have noticed this issue now.
Game Developer Takeaway
Relying on Inheritance is amazing with web applications, but terrible in Unity. Use Composition if you plan on using prefabs with lots of extensions that add new configurations/features to its parents. I will likely make a video covering this later down the road
Dev Standup 16.0: Back to Features - Water Purifier Concept
Finished most of the annoying stuff I had to redo, but we are so back! I have most of the remaining water features planned out, now I just gotta design them.
Dev Standup 17.0: Getting Busy Again
I am currently in the process of moving apartments, so development has been taking a toll this past week. Here are some more screenshots on Water Purifier and the new neighbor feature Star Collector Lab.
I'm mainly in the process of designing as much content as possible instead of implementation, before I lose that creative momentum
Dev Standup 18.0: The Fog (Is Coming)
Despite the exciting title, I unfortunately do not have anything interesting to show, even though it's been over a month. I do have a bit of yap in me today, so let's do this!
I have been really stuck on a project migration, primarily reworking buttons and game navigation. Buttons have been moved over and they are great. Far easier to customize animations and button effects.
While I have been working on this, a lot of code has been moving around. I have started to use an assertion pattern to make bugs easier to find in case I fuck something up :goofyblob: . This will hopefully make it easier for me to test in between updates so I can run the game and make sure all the assertions pass. I was inspired by Lex Fridman and ThePrimeagen discussing the satisfication of getting all of the asserts to pass in a codebase. Fridman says, "I get to see the payoff of the mindfield of asserts I've laid out before me in my kingdom", which I thought was funny. "Discover errors before they become real bugs". I highly recommend chiming into the interview they had, very inspiring story to new devs or people in tough places. Anyways I called it THE FOG because idk. It's alright.
Here is a picture of the reworked buttons as well. (While I am editing this, I want to mention I hate the fact that pictures don't embed in text on here anymore. Bad discord!) A lot of this UI library bs I've been working on is basically investing in the future. Whether it's for my current and future projects, moding support, etc.. I'd rather redo stuff a few times till it's perfect than rush something mid. Plus I always learn new things :)
Stay on the look out for live streams in social. If there's advice to get more of y'all to attend, please let me know! :KekYOU:
Dev Standup 19.-1: It's Big Brain Time
Reworking on Research again, adding actual game play rather than standalone research theories (unlocks)
Involving a library and reading books
Dev Standup 19.0: It's Big Brain Time
After a few hour livestream and some time off, here is the UI for the Library for Research. This will be the new very beginning of Idle Research! You earn knowledge from books and it will be a new cost for research theories (unlocking features).
Dev Standup 20.0: Hired AF!, Context Switching, & Color States/Themes
Hired AF!
> You read that right, I recently accepted an offer as a fulltime software developer :hmmyes~1:. **How will this effect development?** Since I will be out of school, I strongly believe I'm going to have more time and motivation for Idle Research 2 development! I think the reason why I'm struggling is because of a combination of senioritis and rapid context-switching.
Context Switching
> I've learned over the past few weeks that rapid context switching can be disruptive to programming sessions. Since I have multiple responsibilities (work, school, life, etc.), I'm stuck with this environment, hence the struggle. It's important to take breaks though :heart:. When I graduate, that's 1 less dimension I need to worry about. I'm hopeful for the future of Considera + Idle Research.
Color States/Themes
> Ok ok here's the actual update. I streamed a little bit of this on YouTube, but I struggled to finish this button color situation during those sessions. Today, I'm happy to wrap up this mini-project! All buttons can be assign a "Color State". So in Unity, their buttons have 5 different colors, for each of the states: Normal, Blocked, Selected, Holding, Hovering. My color states allow these button states to change the color of buttons, either with a single controlling color, or colors for each state.
> This is probably not making sense, but essentially I have complete control over button colors, and it's automatic **= LESS MANUAL/REPETITIVE WORK** :psychedelic_pray: . With a factory, I'm able to create buttons, here's a code snippet:
// Factory method
public static ButtonSingleColorState CreateButton(
ButtonData data,
Color core,
Func coreFunc = null) =>
new(core: core,
stateFunc: () => data.State,
coreFunc: coreFunc);
// ButtonData states
private void VerifyState()
{
if (Blocked) State = ButtonState.Blocked;
else if (Selected) State = ButtonState.Selected;
else if (Holding) State = ButtonState.Holding;
else if (Hovering) State = ButtonState.Hovering;
else State = ButtonState.Normal;
TriggerChange();
}
> ...an example color state for the FAR LEFT button drawer in the picture:
public static readonly Color WaterColor = "#1CB7FF".ToColor();
public static ButtonSingleColorState ResearchSparkyButtonColorState = new(
core: ResearchColor,
normalAlpha: 0.050f,
selectedAlpha: 0.100f,
hoveredAlpha: 0.025f,
pressedAlpha: 0.010f,
blockedAlpha: 0.005f);
> With thanks to @CreeperKing for the hex-to-color converter!
> Additionally, I touched up the animators and now the main drawer can collapse/expand. Very pretty too. @podrik is working on sound effect for me. Collapsed is second picture (next post)
Dev Standup 21.0: Finally working on features again
Now that I have the color themes and the button states all figured out, I finally have made some progress on the Library functionality. More details in the meantime.
Dev Standup 22.0: Working on Library functionality
This has been a pretty rough week since I have many essays due. On the bright side, I had a solid session working on the gameplay for the new research library. Not much to show this time, hopefully next post!
Dev Standup 22.1: Working on Library functionality II
I'm not working on my essays like I should be... But Tasks and Jobs are mostly complete, next is the IQ prestige, IQ tree, and then back to Research Theories. Please motivate me to work on my stupid essays tho :(
Dev Standup 24.0: Working on Library UI - IQ/Lift Prestiges
Howdy lads! Today I present you some new UI I've been working on today. This will contain 2 simple prestige systems for the library. For context, this will be BEFORE Theories, which is also before water... Lots of depth is going on already!
IQ will be the standard prestige, you gain IQ and unlock new levels of the library. Each milestone will have unique titles displaying in the UI (though I have a goal, I'll explain), and rewards such as new features and multiplicative boosts. There will be a maximum of 7 levels, the last two are named respectively: "The Einstein Memorial Museum" and "The Library of Singularities". The first level is "The Empty Droid Library"
Lift to Experience is the name of one of my favorite post-rock bands, and I mention this because it sounds cool to me. This button will reset everything except your milestones and their rewards, but in exchange get Research XP (counted as Lifted XP). The XP counts towards your Research skill, which is vital for the Library Job. I'll also have an upgrade section for lifted XP, but I don't have plans for that yet. So yeah, that's pretty chill :hmmyes~1:
If you can't tell already, my favorite color is purple haha. My apartment is feeling a purple RGB for today
About Me
For those who don't know me, I am Zach. I am the only developer for Idle Research 1, Idle Research 2, and other Considera games. This is more of a free-time hobby, so development can be unstable. Outside of Idle Research, I am a part-time (soon to be full-time) Software Engineer, and a full-time senior in uni. I greatly appreciate patience and understanding for the slower development these past few years =)
Are ya winning?
If you are reading this, then YES!!
1. Join the Discord: https://discord.gg/9A9CjrSxeu
2. Wishlist Idle Research 2: https://store.steampowered.com/app/3420280/Idle_Research_2/
3. Lastly: Thank you! Have a wonderful day/night :)
[ 2025-04-30 03:19:30 CET ] [ Original post ]