← All posts

Project archive

One full day of project development

I wondered whether I should describe exactly how one day of project development went.

So. I started at 12:00. Until about 15:00, I prepared the groundwork for the task: small interfaces, passing variables between components, and adding new database tables. I also wrestled with workarounds. Then, until roughly 17:00, I worked hard on the process's core logic and all its nuances. From about 17:00 to 21:00, I wrote the main part, tested it, finalized it, and corrected problems caused by the workarounds as they surfaced. From 21:00 to 22:30, I prepared the server code, its groundwork, processing and correction, and the AI integration.

The result today is a client-and-server process with an interface: when a ship sitting on a planet carries the appropriate cargo, that cargo disappears and an expedition station with geologists appears in its place. I didn't have time to verify it and will test it tomorrow, but everything will most likely be fine. It all works on the client. During the workday, I took a half-hour lunch break and made several trips to the kitchen for tea. Oh, and I cooked for half an hour in the evening. That makes nine hours of actual work, plus one more mechanic for the collection.

More about the workarounds. In a project this complex, where everything interacts with everything else, they're unavoidable. For example, testing the flight mechanics requires a ship. But what if the ship doesn't exist yet because it depends on other unfinished elements? You make a dummy or placeholder that supplies the most basic functionality. The processes can then operate, and you can improve and debug them.

Quite a few such placeholders accumulate and become buried deep in the surrounding code. Later the time comes to replace them with the real thing, and that's usually when incompatibilities surface. With the dummy, the information was ready immediately. In reality, it first has to be obtained, which is a process. If you request it before it has appeared, loaded, or arrived from the server, you get an error.

Now make all of that ten times more complicated, and you'll have a rough sense of it.

In short, today I finally switched the little ship to retrieving its data properly, from the right place, rather than from a placeholder. It took some awkward work, but everything worked. I spent about an hour on it, perhaps more. It's very difficult to keep track of the time.

All of this happened in parallel with, and in addition to, the work described above.

That's what the day was like.

Project Facebook profile ↗