Author's note: fuck- this took eternity to write- I hate existing with ADHD .w.
A story: game development.
Back when I was a kid(think 10-12 years old), and I was on primary school... I was obsessed with the idea of becoming a game developer. I had a few ideas, but it was mostly horror and zombie games lol. I remember being completely oblivious and clueless as to how games were made, and then teaming up with my equally oblivious and clueless classmates to make a videogame together. Nothing came out of that, obviously; eventually we gave up on the project, there was (unrelated) drama in the friend group, and the group got dissolved.
But anyway, somewhere before all that, I had already began learning programming from Youtube. I did some (questionable) research, and reached the conclusion that C++ was the best language for game development🐱. So, I looked up some Youtube videos for learning it- and found a channel in Spanish: Programación ATS (Rest in peace, Alejandro Taboada). I would spend not more than a few minutes every day, learning coding piece by piece. Eventually, I learned the basics of C++, and then kept using it till I had a solid grasp of programming.
Time-skip of several years... In January of 2024, I finally decided to get into game development- the original idea was to make a Civilization-like game, but much simpler, and with some Minecraft elements. So, because of my idea being making a game like Civilization but simplified, I gave it a provisional name; "Civilization Lite", or "CivLite" for a shorter alternative. Eventually, with the intent of giving it a definitive name and also of avoiding copyright issues, I shortened the name even more into a unique one: Clite.
I didn't know jack-shit about game development at the moment, and I was working with just a C++ compiler (VS2017) and a text editor (Notepad++). It was a very bare-bones setup, yes, but it's what I've always used, so it felt natural. Also- I wanted to prove that I was capable of creating a videogame with the least amount of external tools... The good news is that I was capable of it; I was both UNHINGED and DETERMINED enough to pull it off. The bad news are, that the process of making the game burned through my sanity quicker than my sleep-deprived ass gobbling down cookies ._.
In short, what I did was: import DirectX, read the Microsoft guide on how to make graphics with it, and while learning I did the coding on the go. Before figuring shit out, I didn't even know how to make a window with the Win32 API. I didn't bother to actually sit down and learn anything before the project, I just jumped head first into concrete🐱 (also known as: brute-forcing the project through sheer luck and some deduction).
On top of using the most bare-bones setup in existence (instead of just using a game engine, like any normal person), and speedrunning my way through the development, I had yet another variable stacked against me: the DirectX documentation- provided by Microsoft- FUCKING SUCKS. It is THE most horrendous piece of documentation I've EVER read. Just to give a few examples of the capital sins committed by this unholy software bible:
- Incomplete: most of the time, many ESSENTIAL parts of the instructions would be missing. For example: in the code related to initializing Direct2D before rendering anything, there were many objects you had to declare and define (usually shit needed to define buffers, and render targets and what-not). Well, for some fucking reason, the how to define those objects, was just SKIPPED.
I had to go back and forth, reading the documentation over and over again, and also use a lot of intuition and deduction, to figure out the most basic stuff, that the guide should have just fucking told me ._.
- Wrong instructions: sometimes the instructions would just be plainly WRONG. At times, it was variables/objects having the wrong name or type. Other times it would be far far worse TwT
- Unrelated: this isn't about the documentation, but rather the APIs themselves; sometimes- certain things would just not work. And I have no fucking clue WHY. It was usually Win32 being weird.
- And... I cannot remember anything else. But let it be known, that I know in my soul, feel it in my bones, that there was much much more worse than THIS. I cannot remember, no. Perhaps my brain decided to clear cache and get rid of that useless data, but I KNOW that these 2 issues pale in comparison to the SATANIC, ELDRITCH monument of utter HORROR I found within those wicked pages.☠️
Anyway, I lived.
I worked around the flaws of the documentation, overcome a very shitty learning curve (because I decided a command-line compiler and Notepad++ was good enough to make an entire game🐱), and had to deal with several-months-long breaks because of ADHD- but eventually I managed to code the basics of my game.
I'm not going to lie to you, it ain't much at all, but I'm proud of it -w-
Here's more or less what I managed to do:
[Twitter redirect].
Btw, no, this ain't an ad for my Twitter account, it just happens to be that the suckers of Neocities don't let me host video files on my own storage. Yes- ik there are ways of including files from third parties, but I'm too lazy for that and I've already been delaying the posting of this entry for far too long-...
Just kidding, this IS an ad for my Twitter, and I'm also employing my gay evil-ass powers to manipulate you into following my account🐱
Yes, that is all.
Fuck my life.
Anyway, I am wondering what to do with this project, since, well; all the files are raw C++ code, using the Win32 API for input, and DirectX for output- well, let's just say there's no way in hell I can actually port this to Linux(current OS I am using) or any other platform for that matter. I'd have to replace like half or more of the code.
So, what I'm investing on now, is learning game development with Java, which
is cross-platform. Going to use OpenGL for the graphics, which is platform-independent, for a change. I am currently doing some experimentation, because I don't know shit about Java, let alone OpenGL: I will
actually take my time to learn before diving head first into a new project.
BUT- let it be known that I am not giving up on Clite: the name is unique, the idea is cool, and I've grown attached to it-. I will take my time on resurrecting that project though opqekfpeofk
Anywayyyy- thanks for reading this shit, see ya! -w-