Comment by vivzkestrel

8 hours ago

- as a non gamedev i keep asking this question since i dont get a satisfactory answer like ever

- if i want to make a 3d third person tactical shooter from scratch) without unreal, unity, godot etc what is the exact flow

- i know c++ and have a decade of programming experience. i am revising 3d math from that awesome 3d math primer book

- what are the steps?

if you asked me to write a program to take a postgres backup i would say, the steps are

- spin a docker container for postgres 18.1

- perform a pg_dump using directory format

- take a tar archive out of that directory

- create a brotli archives out of the tar archive above as it doesnt work directly with directories and gives better compression than tar

- copy the file from container to host

- shut the containers down

- can someone give me an overview along the above lines for gamedev?

There is an ocean between the level of complexities of the examples you gave. For the database side, it would be the equivalent of "write postgres from scratch", not "how do I take a postgres backup", assuming you want to do no frameworks at all (like you qualified for the game side).

Sure, here are the "steps" for creating that from scratch:

1. Setup lighting 2. Create a mesh importer system 3. Create an animation runner system 4. Create your 3D models + all animations needed (walk forward, crouch, run, jump, death, etc.) 5. Setup a camera system for following your character 6. Setup a physics engine for your character 7. Add support for collisions and high speed elements (i.e. Bullets) 8. Setup an AI system 9. Setup a particle system 10. Setup a player input system 11. Setup a save/load system

Follow those and you should be able to get from 0 to hero in a few years. Or you can use an engine and do it in a weekend.

I might have missed a step or twenty but people who want to avoid engines usually end up spending most of their time building an engine, and basically re-doing all things engines already provide.

And yes, making a postgres backup is orders of magnitude easier than making "just" a game, even the most basic one.

Are you interested in the graphics (how to render 3d, opengl/directx, shaders etc), in the “game engine” aspect (all of the various parts of a game coming together), game design, networking, or something else? All of it?

As people used to say on stack overflow - what have you tried so far?

Also - this might be a good starting point: https://www.gameenginebook.com/

  • - i have started brushing my c++ and learning 3d math for now

    - i am interested to know for starters what does the 10000 ft landscape look like

    - what are the major steps involved?

    - what have I tried? I spent a lot of time looking into what kind of libraries exist. Rust has something called bevy which I would not touch given it is new and I dont want to work with double unknowns

    - C++ has a library called raylib that seems to have a lot of functions for basic stuff.

    - There seems to be a library called jolt which claims to handle physics well

    - how is rendering / graphics pipeline stuff handled in c++. what libraries do we have for loading models, working with shaders, handling networking for gaming etc?

    - the thing is i need to get a complete picture inside my head of how a 3d game is put together like how this https://visualrambling.space/neural-network/ gives you the picture you need to understand how a neural network works