Hey everyone, and welcome back to another devlog for Assembly RTS!

Main Capsule 010

First of all I have to mention something unrelated which I’m very excited about…

During the past two weeks, the Unity Asset Store finally published my first commercially available development tool – Eddie A.I. 🙂

Eddie A.I. is a powerful ChatGPT integration for Unity. It can automatically analyze your code for mistakes.

The tool was published about 1.5 months after my initial submission and I spent a decent amount of time on giving Eddie A.I. it’s finishing touches, getting rid of the last, newly discovered bugs and improving the documentation. I even created a short video demo for Eddie:

Additionally, I spent a few days enhancing the prompts for GPT-4 and GPT-4 “Light Mode” as I call it.
Light Mode keeps API costs down while still offering valuable feedback.

Having released my first commercial software product feels exhilarating. Here’s to releasing many more software solutions and of course most importantly: Assembly RTS – Unleash Your Forces! ☕

Code Optimization and Open Source

As you may remember from my last devlog, I’m quite fond of the Hot Reload tool for Unity. It can save me a lot of development time and mental energy by drastically cutting down compilation time.

There is a major caveat in the case of my Assembly RTS however:
Hot Reload isn’t compatible with Unity ECS code.

I rely heavily on Unity ECS for my gameplay logic and physics- If I could find a way to write most of my code without using Unity ECS, that could save me a lot of time!

There’s dozens of different approaches I could take here, so I decided to get my hands dirty and created a series of tests to determine what would suit my situation best. Additionally, I was doubly motivated to discover that IL2CPP can offer massive performance benefits, potentially making my life as a developer even easier!

Quick Aside: IL2CPP is transforms IL code (the stuff C# normally compiles to) to C++. In theory, the code can then be compiled into more efficient Assembly.

So let’s continue, there are two aspects of game development which are very important to me in this case:

  • Code architecture that makes fast progress possible, ie. productivity
  • Code architecture that enables great performance without much extra work

These are the points I centered my tests around.

To offer the same insights to other Unity developers, and to potentially get valuable feedback I made my tests publicly available on GitHub. I’m pretty sure that there are more developers out there who would be interested in this topic and could even expand and improve upon my efforts.
(If you are one of those people, please take a look at the project’s issues page)

And by the way, about those IL2CPP performance benefits:
In these aforementioned tests, IL2CPP is actually only marginally faster than Mono, so IL2CPP performance benefits seems to be very situational. Before I actually created my tests, I spent about two days on making my project compatible with IL2CPP. Looks like this was a waste of time- lesson learned!

I didn’t do anything artistic during the past two weeks but I’m looking forward to doing some more of that soon. Thanks for reading and let me know your thoughts down in the comments section!

Click the follow button in the top right If you don’t want to miss it any future devlogs:

firefox SHC6ML0VQp

You can also follow me on YouTube where I will be posting an animated devlog soonâ„¢
Thank you for reading!

Source: Indie DB