Just signed up on handmade.network, see that I'm supposed to use Discord to communicate, but can't find handmade on Discord. On handmade, how do I upload a photo of myself? Don't see anything in settings.
When I read your manifesto I just about fell out of my chair! It was like I wrote it! I was sure I was the only programmer left on earth who felt that way! Like living on a planet of zombies and someone walks up who can think, listen, come to conclusions and speak in whole sentences. What a relief!
I see where I'm supposed to upload a project. I'll do that. I've got a doozie. Been working on it for years. Windows using Win API in CodeBlocks. Have been looking everywhere for help, and on GameDev.net got comments like this:
You are re-inventing the game engine. There is nothing wrong with doing that for learning exercises. Everyone needs to know how the basics work. If that's your goal stay on that path. If your goal is to make a modern game don't reinvent everything. Use a major engine (like Unity, Unreal, Godot, GameMaker Studio, RPG Maker, HeroEngine, or on and on) that have already written the standard parts. You don't need to program low-level graphics, low-level animations, low-level audio, low-level networking, low-level input, low-level timing, low-level game scripting, low-level task scheduling, math libraries, data processing libraries, etc. All of those pieces are created already, they have been debugged, and you don't need to worry about them. Use these to actually make a game rather than spending your time making an engine.
Welcome.
Our discord is at https://discord.gg/hmn (link also on the top right of the page here).
You can upload an avatar in the user settings https://handmade.network/settings
When nobody else reinvents game engines, you soon realize that it's not that difficult to do better than the mainstream engines. Their size is mostly made up of bloated legacy code and a clean engine can do the same modern features using 100000 lines of code and some editors, significantly reducing the learning threshold and amount of bugs.
You are re-inventing the game engine. There is nothing wrong with doing that for learning exercises. Everyone needs to know how the basics work. If that's your goal stay on that path. If your goal is to make a modern game don't reinvent everything. Use a major engine (like Unity, Unreal, Godot, GameMaker Studio, RPG Maker, HeroEngine, or on and on) that have already written the standard parts. You don't need to program low-level graphics, low-level animations, low-level audio, low-level networking, low-level input, low-level timing, low-level game scripting, low-level task scheduling, math libraries, data processing libraries, etc. All of those pieces are created already, they have been debugged, and you don't need to worry about them. Use these to actually make a game rather than spending your time making an engine.
This is something I've struggled with for a while. Believing in the fact that a lot of code out there is pretty bad and bloated and that in the long run your better off just writing your own code. However when this belief is juxtaposed against the reality that programming and learning EVERYTHING is pretty overwhelming, you end up having to find a middle ground between writing your own code and using others code to actually create something complex within a reasonable timeframe. I'm not quite sure what my final analysis is of modern game engine and when you should use them. Something like Unreal is definitely useful and is a way for you to get up and running quickly and run initial prototype concepts. UE5 is particularly impressive with everything it has and the new ground it's breaking.
However, in the past I have found that this initial jump in productivity quickly comes to a halt later in the project when you have to get into the nitty gritty of things. For example, say you run into a particular bug with the rendering or animation system. To try and debug it yourself can be a monumental task given the shear complexity of the unreal engine. This can be quite demotivating (at least for me). Also, sometimes you might want to reinvent how you think and program a particular system and if this system is implemented in a certain way within an engine, there might be a lot of friction just to get your code to work with the engine's code. It's like the production bell curve is flipped in your favor at the beginning of the project but then sharply reversed at a certain point.
Currently, I'm trying out the ourmachinery game engine. It's built in a more modular way and I'm actually using some of its components (ui, rendering, platform, threading) as a base to build my own engine. So far I'm liking the results but we'll see how things shake out in the long run. Though I don't say these things with any sort of complete certainty. I can still be convinced that using an engine like unreal is still the way to go. I could also just be that for me those barriers I spoke of are just to demotivating and frustrating.
I tried one of those game engines; it started me out with a single mesh island where I could drag the terrain higher or lower. How in the world I would get from there to the games I have in mind, I have no idea! Even learning my way around an IDE is time consuming enough; I don't want to spend the time to learn how the game engine wants my game to work. I just need the basics of drawing screens and animating objects. The guts of the game have to be hand-coded as far as I can see.
Art work is my main problem! I use a paint program, IrfanView, to draw bitmaps, which I think is great, but I can barely draw! My character looks like a stick figure a third-grader drew; my deer you would recognize as a deer, but that' about it. And then I have to come up with multiple frames to give it motion. I spend a ton of time on that, with disappointing results!
I do enjoy it, though! I love bringing my ideas to life! And I'm finally making some progress. Hopefully there's an easier way to animate than I'm doing, and I feel that using the Windows API is wrong, but I've had no luck with any alternatives; hopefully I can find something better there, too!
Art work is my main problem! I use a paint program, IrfanView, to draw bitmaps, which I think is great, but I can barely draw! My character looks like a stick figure a third-grader drew; my deer you would recognize as a deer, but that' about it. And then I have to come up with multiple frames to give it motion. I spend a ton of time on that, with disappointing results!
It sounds like you're trying to do some 2d animation stuff. I'm not exactly sure what you're going for but a pretty good program I've found is spine2d (http://en.esotericsoftware.com/). It also supplies c and c++ (as well as many other) runtime libraries.
Yes, I'm sticking to 2D because 3D is completely over my head. Everything is made of triangles? How do I create an object with millions of triangles? Light sources? Shading? I have no idea. It seems like my program would be a million times bigger if I tried to do it in 3D. Hopefully I can learn how it all works, but it seems like a huge leap; I've got enough to figure out already!