#I love game engine development
1 messages · Page 1 of 1 (latest)
I'll be posting stuff here as i go
for now, shader and mesh systems are somewhat working + dll loading is under works
OpenGL
Why is your pfp a purple 3d screw attack
Screw attack does not look good 3d
ok.
Metroid is cool tho
ye

Why didn't you save a backup in such a large project?
it wasn't done
it slipped my mind ig




Wait... what???
How did you do that?







based
magic
Rn i am working on fixing up a file format i made called bpf. I am using it to pack files into a single file
not too interesting output
ig you've got this
what does bpf stand for?
binary packing format
Why not use a tarball?
following up we've got textures(i am using LearnOpenGL as i for the love of god cant remember everything)
did you start with the renderer?
Alr added entities to the thing, going goldsrc style. The cube is now an entity with a model and for some reason the transparency is extremely janky lol
This channel has good videos about game engine dev: https://www.youtube.com/channel/UCQ-W1KE9EYfdxhL6S4twUNw
thanks you
you can add at least compression to the file
use zlib or something is very easy to setup
i could do that ofc
Need to sort your triangles by depth. Also are you rendering backfaces?
Nah transparency isn’t my biggest priority rn
Cos I doubt I’ll use it to any greater extent
Update: Currently procrastinating lol
working on a custom format for file storage
*model storage
ig models are files tho ¯_(ツ)_/¯
Alllrighyyyy! New progress!
After a ton of working on stuff i've gotten some proper macros up and running for model loading and that kinda stuff + a new model format!
just look how clean that is!
Actually, i'll do 2 side-by-side ones
discord couldnt fit the old code
It is all compressed together in a file format called qmod
Short for quiver model
I also renames assets.bpf to assets.qdir for naming consitency
And for the few who want to see a spinning cube with a lot of code, go ahead!
More precisely, 12317 lines of code
All written by me
heads up that the build contains GL memory leaks that wont be cleaned up by linux lol
just realized the first one isnt all the code lol
tried to reconstruct it
alr
so i can now build headless builds of the game
They arent too interesting, but they take up a couple megabytes less so ig that is nice
now
My model format seems to have some serious issue
As it has big chunks of just zeroes lying around, which i suspect is some mathematics issue in my code
since a cube lies at around 1.6 MB for barely any data lol
Been working on levels for some time now, and i got rendering and everything up and running, just need some time to fix UVs and brushes.
Meanwhile i implemented ansiotropic filtering, and put it behind an extension flag. Here's with it enabled(at 8, i use the system max divided by 2)
and disabled
Allrighty, here is a major one! I've been doing some work using wxWidgets and got some UI up and running for a development suite(you need to make dem tools)
I am almost finished with the frontend for a program called bpfpack which is used to compress a directory into the bpf format
is it on github
when / if it is ping me
I'll be granting early access to people once i feel like it is ready so i'll try to remember you :)
thanks
Oookayyy. This only took a lot of work, but now i got a model compiler up and running
I am using a special binary format because
- I can
- I make the rules
Here's a decompiled version of a basic cube(not full file but anyway)
Basically there is the .qmod which is the binary model file, and then the .mdef which is the OBJ-like model format which easily can be compiled into a proper model
I can give ya'll full docs here!
# MDef file format
it is very basic, and takes around 100 lines MAX to implement!
So, basically, it is divided into lines, and is very space sensitive.
Each line starts with one of 4 data flags:
1. "#" - Comment
2. "v" - Vertex
3. "i" - Triangle
4. "t" - Texture
This is then followed by a space and then data.
Comment doesnt matter and should be ignored.
Triangle should be followed by 3 integers, each being an index to a vertex.
Texture should be followed by a texture name
Vertex should be followed by 11 space-seperated(only one space) numbers(with or without decimals). They are in this order:
Pos.X Pos.Y Pos.Z Norm.X Norm.Y Norm.Z UV.X UV.Y Color.R Color.G Color.B
No trailing spaces. Never any trailing spaces.
I'll prob be writing a blender addon or something to export mdefs or convert OBJs into mdefs
oh and yeah
I decompiled the cube model i've been using into mdef, and compiled it back into qmod
Same algorithm, yet the new qmod is 1.8 kB and the old qmod is 1.5 MB
oh and i may or may not have mixed up the Import and Export labels, but those are fixed now
you should use lua for scripting the engine
@zealous schooner ik you love lua but are you sure lua is the answer to everything?
welp you never deceived me before so I believe me
yes lua is amazing for scripting
i wont support scripting tho 😳(depends on how you look at it)
It'll be an .so/.dll file, so really any lang works here, but i've been focused on C++
aight, time to get my events system up and running once i've restructured
😭
if it goes open source I'll try to make bindings for others langs
@uneven herald any updates
coool
Happy to say that level loading almost works again! Some small things todo then i'm done with that and can move onto making some basic game elements
I've got more progress that i'll show you in a mo i think
might not look like much, scene is familiar, but basic entity loading is now implemented! We've also got basic materials. The wall brush(tiled one) is a material defined in libclientgame.so
quiver
It was originally made for a game called "crossbow", which I've barely touched
I'm also planning on a rewrite 😔
Isn't "quiver" as an engine name taken already by a source engine fork?
@uneven herald progress?
uhm
I restarted again because dumb bad codebase
And currently focus is on something else
Because I can't finish projects
very relatable
@uneven herald any updates?

