Dumb Gamedev Advices Nowadays there are a ton of these "10 advices to the beginning game developers"
They usually go like this:
1. Start small. Make Tetris, don't go immediately for your dream game.
2. Don't overextend. First do the minimum viable prototype (MVP), representing the vertical slice.
3. Perform market research. Create what people/clients need.
4. Specialize in one area, don't try to do everything by yourself.
5. Use existing game engine, don't reinvent the wheel.
...
10. Stay hydrated.
Well, my dream project was Master of Magic meets XCOM/Lords of Chaos.
And I pretty much followed the main advice.
My first project was the Warcraft II engine re-implementation.
But Warcraft II game logic is really primitive.
Doing it hasn't taught me the methods required to build my dream game.
In fact, it set me in the wrong direction.
I used the classic OOP architecture for the Warcraft II clone.
That is completely inadequate for anything more complex.
And both MoM and XCOM style games are exceedingly complex.
They have multiple systems interplaying in a holistic way.
So I built the MVP,
https://nancygold.itch.io/spell-of-mastery-demoYet when it came to scaling it, I found it really clunky.
Every unit was defined explicitly, down to the sounds it makes.
Now imagine creating and maintaining 200 units!
That is the number required for a Master of Magic game!
And since I wanted to improve on Master of Magic,
I wanted to give player ability to create their own fantastic beasts.
Just like MoM allowing forging artifacts.
But with the existing system even basic RPG elements were difficult to maintain.
Same with the site map grid format.
It was totally okay for Warcraft II engine or simpler RPGs.
But when I need moving floating islands and physics, it falls apart.
The UI was not good enough either, requiring to lay out everything manually.
And the layout was hardcoded inside the game code.
In the end I had to rewrite the entire prototype from the ground up.
Starting with introducing ECS and basing everything, including UI, upon it.
But first I got really depressed, almost giving up and abandoning the project.
So advises 1 and 2 are absolutely harmful, despite being repeated ad nauseam.
Advise 3... well, if you want to make money, it makes total sense.
But you can't make money in gamedev, because competition is just too fierce.
And people want AAA games, which you don't have money to produce.
So there are better venues to make money in IT, like AI scam ponzi schemes.
Or just the plain old hacking and extortion. Or getting hired by AAA
So only do gamedev if you're passionate about your dream project,
treat it as art and don't care about anyone but your own vision.
I.e. you are your own client.
Advise 4 is solid if you want to work on somebody else's project for a salary.
Then you need to specialize and create a portfolio.
But that works only if you already have a university degree.
And you're not a crazy unemployable lunatic, like me.
Obviously it won't help you produce your dream project.
You do need money for that, but leeching welfare while working on your project
is a far more reliable way than being fired from one job after another,
while still having no money.
Following advise 5, you will be depending on other people's work.
And you will be incentivized adhering to best practices and what engine offers.
If you're that kind of person who believes experts blabbing aboud covid19,
then that is good for you.
But each new Unity version breaks everything and changes license.
I personally only use SDL. When I began SDL was version 1.
Now it is SDL3. And I currently use SDL2.
I would be calling GDI32 directly, but it tends to change too.
IIRC, Negrosoft even made GDI32 obsolete.
Unfortunately, I changed several operating systems during these years,
going from Linux to OSX to Windows.
I'm not using any of the SDL features, beside
uploading the already rendered frame to the video DAC.
Yet even that feature gets broken between versions.
Now imagine some trash like Godot and Unity, with all its drama.
I don't even want associating with their communities.
Kinda miss the times where one could write directly to video memory.
If my game wasn't that resource intensive, I would be using DOSBox.
Since DOS is set in stone forever.
Current Mood: contemplative