AlderAutomation

Pillage and Plunder Dev Log #1: Welcome

Pillage and Plunder Dev Log #1: Welcome

Context

I am working on building a game in C++ and SFML, and I figured that it would probably make good blog content. However, I am going to have to catch you up on my progress and thought processes. Therefore, this post covers a lot, but each topic will be kept brief, to get to what we're currently working on.

Planning and Analysis Phases

The plan is to build a game using SDLC project planning paradigm as taught in my comp sci degree. SDLC has five main phases (as per my course, differs depending on website); Planning, Analysis, Design, Implementation, and Maintenance. I started the planning phase by listing all the functional and non-functional requirements that I wanted to see in a game. Things like needing to run on Linux, no monetization past the initial purchase, lots of systems, action RPG like Diablo or Path of Exile.

Next, I brainstormed and made a tools and systems document to list out all the tools that I planned to use for development, promotion, and everything else I could think of. I can see some tools have changed and I need to update the file, these files aren’t be-all and end-all, just a guideline while working on the project. Some tools that I listed: C++, SFML, SQLite, Figma, Gimp, Gitea, Discord, etc.

I then put all those functions, tools, and systems together into a project planning document that outlines the whole project. I also made a Gantt chart timeline doc, which I also need to update because the project has been sitting for almost a year while I humoured a World of Warcraft addiction.

Design Phase

During the design phase, which I am still in, I have been building the ERD, DFDs, UMLs, and the database schemas. This is probably my favourite phase. The more effort that gets put into this phase, the less we have to think in the implementation phase. If done right, we can program without having to think about the details. Basically, we are building the programming templates right now.

Right now, I haven’t thought about visuals or GUIs of this game because I am in need of an artist for this step. I have been solely focused on systems and functionalities; how the game plays. I will likely start working on this soon using Figma for wireframing the GUIs. But the art of the game is beyond me, I am not an artist. If you or anyone you know wants to volunteer, please contact me. :)

I also still need to work on story lines. I have a couple of people that said they would help but I haven’t heard from any of them in quite a while (and they haven’t heard from me either). I have been getting more into creative writing, so I may do it myself unless my people are still on board and then I may just help out and let them run with it.

Implementation Phase

This is basically my next step at this point and I have started programming. I am starting with what I am calling an Entity Editor. This is going to be a helper program that I can build and save entities to the database or load and edit entities from the database. But this also means that I need the SQL tables loaded and working. I also need objects to move entities around. Therefore, I have been focused on getting the database and DTOs set up properly to move entity data from system to system.

After the Entity Editor, I am going to build a level editor. The levels are going to be procedurally generated ... now that I type that I may have to reconsider. If levels are generated, then why do we need an editor? I’ll make an update post about this at a later time.

Then I’m going to build a Voice Actor System, and this is where I will be using some AI. Basically, since I am poor, I’m not going to hire voice actors right now. Instead I am going to build a system that I can use to generate AI voice actors for all the characters. If this sells and makes money, I intend to go back and get proper voice actors to redo the AI acting.

And on a side note about AI, it does not touch my code. I will use AI for the Voice Actor system, and I will use it to consult with, but it will not touch my code, art, or story. I firmly believe in crafting this as a human to show off my skills, rather than AI’s.

Finally, I will build the game itself. By that point, I should have so much fleshed out that the game itself builds fast and effectively (I hope).

Conclusion

This is a massive project that I am working on. It has so many systems and helper applications and just a ridiculous number of features. But that is intentional to show off skills, generate blog content, and practise. I don’t actually believe that I will ever finish this project, in the sense that I will be working and adding to it for years to come (kind of like Dwarf Fortress), but I do want to get something playable within the next two years.

If you want me to elaborate on anything, please message me on Discord, Mastodon, X, or email me. I’ll be happy to go into more detail one-on-one or to create more posts.

#c++ #devlog #gamedev #pnp