[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip / qa] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: firefox_a1g0BqQzWX.png (271 KB, 646x355)
271 KB
271 KB PNG
/gedg/ Wiki: wiki.installgentoo.com/wiki/Gedg
IRC: irc.rizon.net #/g/gedg
Progress Day: rentry.org/gedg-jams
/gedg/ Compendium: rentry.org/gedg
/agdg/: >>>/vg/agdg
Render bugs: renderdoc

Requesting Help
-Problem Description: Clearly explain the issue you're facing, providing context and relevant background information.
-Relevant Code or Content: If applicable, include relevant code, configuration, or content related to your question. Use code tags

Previous: >>101723669
>>
File: Moises_Arias_2010.jpg (274 KB, 965x1103)
274 KB
274 KB JPG
>>101792815
godot won so just delete the thread, thanks.
>>
Should I really make that Odin + GLFW engine?
I don't even like programming anymore.
>>
Can someone give me a brief explanation of hashing and some common use cases?
>>
>>101792887
>Should I really make that Odin + GLFW engine?
yes, but make a game instead of an engine.
>>
Do any of you guys have experience with the Irrlicht engine?
I've been looking at it and it seems pretty straight forward.
Does it have any weird quirks or anything I should look out for?
>>
Lads, if I make a game engine, will this help me get a qt gf?
>>
>>101793247
Creator of Soldat tried to use it, eventually moved onto Unity.

The iteration speed of compiled languages, except for maybe Go or Jai is going to suck.
>>
>>101793465

Note: to anyone disregarding this-- the whole reason Jon Blow is bleeding a ton of his life into a language is because of this one issue.
>>
>>101793374
the qt gf is the engines we make along the way.
>>
>>101793374
boy yes girl no

its like going to the gym, only other guys will be impressed
>>
>>101793465
Fair point, but I'm not planning on really doing anything productive with it, it's just a learning / messing around exercise on my part.
>>
>keep making minor changes to ImGui and ImPlot, but do them as new classes and functions that plug into the existing libraries without altering the originals
>starting to think I may as well just bite the bullet and do a small standalone UI library
>>
>>101793207
yes i want to make games out of that engine
that's the first usecase of it, i don't wanna use godot or unishit
>>
>>101792829
Godot is a ponzi scheme
>>
>>101793977
the downsides of godot are nowhere near on the same level as the downsides of unity desu.

the brain drain at unity is very real. seems like every feature is alpha or deprecated- not even considering the licensing schemes.
>>
File: 1587331091980.jpg (59 KB, 655x527)
59 KB
59 KB JPG
80% of the usage of scripting languages in game engines is just a band aid to have code be packaged as assets because the native language doesnt offer reflection natively to do so.
If you make a class system in C++ that reflects all types (and be able to query subclasses to make interfaces), you effectively get most of the benefits of a scripting language while getting all the benefits of C++: debugging, performance, and not having to maintain engine bindings. Make a reflection system for your engine!
>>
I see odin shilled here. Is it even that good?
>>
>>101792829
Godot's creator advocates for faggots, and I hate faggots so I will continue building and improving my engine thank you very much.
>>
>>101795044
obviously if it's shilled then you'll only hear positive things, but since I'm a shill myself it's honestly great, almost zero friction and it's a real delight to use
>>
>>101795335
good luck making the next fortnite, dumbass.
>>
>>101795027
Please direct me to an easily digestible tutorial series on how to create a reflection system for my engine that doesn't exist yet. Thank you in advance reflectionfrog
>>
>>101792907
its basically used for creating an unique identifier for a piece of data, which can be a string or a binary or whatever. it can never be converted back to that data.
its used alot when storing passwords, as when the database leaks, the passwords arent exposed. the service just compares the hashes, not the actual password.
git also used it to identify a commit, so it can compare just the hash and not the entire contents of a commit
>>
>>101795027
it prevents build step
it prevents build pipelines to ship different platforms
>>
>>101795433
Thanks for the wishes, I don't want to make gay slop anyway.
>>
>>101795433
You say that like Godot could do it kek
>>
>>101795433
Bait used to be believable
>>
>>101795027
An interpreted language, like Lua, lets you adjust minor shit like UI layouts without having to recompile significant portions of the program, while letting C++ handle the bulk of the heavy lifting. You COULD put everything right in the exe, but you'll spend more time waiting on compilation if you do.
>>
>>101797501
Why would adding a single C++ class cause recompilation of significant portions of the program? Your engine just sux if thats the case. It should be as simple as adding one C++ source file and adding your reflected class in it, only one file needs to recompiled.
UI events makes some sense for scripting, but its totally possible to do that all in C++ with an interface class which then hooks up the delegates
>>
>>101792815
is learnopengl still the best opengl resource? i know vulkan is cool but i don't have a vulkan driver
>>
>>101797653
Yeah pretty much. Maybe there are better, but it's good and will teach you well.
>>
>>101797631
not him, but how do you let people use your engine and script in c++ without distributing the source? do you just ship the .o files and make them compile their portion and use a linker?
>>
>>101795027
I used an engine that went down the reflection rabbit hole and imho there was no perceivable benefit, it just made things slower to compile and tricker to debug.
Its better to keep things small and sweet unless you have a real practical need for something more complicated.
>>
>>101795027
Scripting languages are used to provide a sandboxed enviroment where you can write code in a language that is simpler and more dynamic than C++, not whatever you're thinking of
>>
File: 1723035785393869.png (150 KB, 483x470)
150 KB
150 KB PNG
>>101793374
No, but lifting, a job and getting confidence to talk to girls while outside of your bedroom, will. Trust me, its been working for decades in the past, it works now and it'll work in the future you pathetic bedroom dweller.
>>
>>101799764
This but also using Vulkan or DX12. Women don’t like guys that use meme APIs like OpenGL or make 2D shitter games.
>>
Games have been homosexual since the 2000s. Has anyone considered downloading the old PlayStation SDK and making low-ish poly games the traditional way?

Maybe gaming wouldn't be pozzed beyond belief if games weren't all like reality simulators now.
>>
>>101799873
>>>/lgbt/
>>
>>101793574
Write it in C99 for maximum portability
>>
>>101795027
Modding is also a bonus
>>
>>101795335
holy based
>>
found a really cool game called barony and apparently it's open source the code is horrible but the game is amazing
https://github.com/TurningWheel/Barony
>>
File: 345455.png (82 KB, 1038x581)
82 KB
82 KB PNG
>>101792815
>Use generator make up goblins names
>There are 21 consonants and 6 vowels
> 21 × 6 × 27 = 3 402 possibilities
And off the bat, one of them is called:
>"Cock the Goblin"
>>
>>101799844
>Women don’t like guys that use meme APIs like OpenGL or make 2D shitter games.
Huh...
>This but also using Vulkan or DX12
Let's have a look at your non shitter 2D games, faggot. I'm guessing you like complexity.
>>
>>101792887
>>101792887
Neither did I. Now I'm balls deep in a c++;project that's won't let me go
>>
I'm using orthographic projection. I'm just gonna place the sprite in the middle of the screen and translate everything around the sprite.

Is this right? Sounds like if I made my engine multiplayer this would be hard to get other players movements to sync up right.

Ideas?
>>
Yes, let's turn "Game and Engine Development General #192" thread into another "Which Language(s) Should I Use to Start Something I'll Never Use #192"...
>>
>>101800095
>Is this right?
no
give things an absolute position in the world
>>
>>101800043
Working on a Vulkan path tracer is way more masculine and professional than some 2D normie pixelslop
>>
>>101800144
I'm sure working on toy projects you never actually finish is very masculine
>>
>>101800144
>Working on a Vulkan path tracer is way more masculine and professional
Cool, let's see it, champ.
>>
>>101800039
blessed rng
>>
godot bros?
https://github.com/godotengine/godot/issues/53288
>>
>>101800817
No use case for pixel perfect occlusion. Closed.
>>
>>101800799
I wonder if I should implement auto-filter, so there won't be "Nigger the Goblin", though the chances of that are pretty low.
>>
>>101800856
Only if it's off by default and the user has to enable the "bitch baby retard" setting
>>
>>101800856
Filtering that would be racist. Leaving it in acknowledges black plight. In fact you should up the odds of it appearing.
>>
>>101798926
My engine is FOSS
>>101800817
The godot disaster show continues. Cant believe their new and shiny occlusion solution in 2024 is to fucking raytrace a depth buffer on the CPU instead of doing the sane thing and using Hi-Z on the GPU (and their solution isnt even functional lol)
>>
>>101799873
>targeting EOL hardware
extremely gay + autistic anon
>>
>>101800842
ebussy would be proud
>>
Raylib for 3D games, yay or nay?
>>
>>101802340
Stop with the pussy raylib garbage. Use either Vulkan or DX12. If those are “too hard” then use an already established game engine because you’re not ready.
>>
>>101802514
Nice bait retard
>>
>>101802340
glfw + opengl
>>101802514
waste of time
>>
>>101802340
Raylib's not ready for 3D
>>
What's the most fun console to make homebrew vidya for?
>>
>>101802995
Game Boy Advance.

Games died after PS2 era and became vehicles to bilk children for all their parents are worth.
>>
Say I'm making a Windows game that's only for Windows and using the Win32 API. Should I use Direct3D 9-11 for renderering, or OpenGL3?
>>
>>101803054
whatever you want
>>
>>101803075
That isn't helpful advice
>>
>>101802340
Maybe with OpenGL or Vulkan.
>>
>>101803090
It doesn't make a difference
OpenGL is has better online resources for learning in my experience
>>
>>101803054
You should use SDL instead of win32 specific functions and OpenGL
>>
>>101795335
What is the most anti faggot anti pedo game engine? Search engines just give me typical lgbbq shilling and drama
Any of you have an engine far enough along?
>>
>>101804526
wrong board, retard
>>
>>101804553
Continuing the directly thread relevant conversation, you unbearable kike. Hang yourself.
>>
>>101804526
>What is the most anti faggot anti pedo game engine?
ahm. your own.
>>
ded
>>
Is Randy one of us?
>>
File: gridtest.png (42 KB, 584x416)
42 KB
42 KB PNG
I got a 2d grid going.

Each square is 1x1 so it'd translate well into a viewable map that the player can look at.

In reality I'm going to have to scale it to something a sprite can move around on. I'm still figuring out what scale I want the sprite and grid to be. I like ultimate online's.
>>
>>101797631
if you add it in a header all the source files have to recompile. that's why you put the declaration in the ".h" and the implementation in the ".cpp".

when you use templates i don't think you can do this.
>>
>>101800138
i read something along the lines of that this would cause everything to re-render everything in the clip space with every movement. i'm not that far into it yet so i can't really argue this point but it makes sense?
>>
>>101806865
It makes no sense
Everything in the world has an absolute position, you also have a camera, when you render an object to take the object's transform and multiply it by the inverse of the camera's transform to get it's screen position
>>
>>101792815
Why the FUCK doesn’t UE5 export to web
>>
>>101806904
Ok big headache but ok yeah ok I guess.

Is this the m in MVP? Is that the absolute thing? Pls no mad I'm learning
>>
File: 1710578700802803.jpg (56 KB, 500x500)
56 KB
56 KB JPG
>>101802340
>tfw I have no idea if all the replies are memeing or not
>>
>>101800095
You can use the orthographic matrix to do that automatically, thats what every game does.
Not sure what libraries you are using, but you should send all of your sprite data in worldspace. Then just set the orthographic matrix to be the rectangle around the 2d rectangular region you want the camera to focus on, it handles the shifting and scaling for you. So if you want the character to be centered on the screen, youd have the orthographic matrix centered on the characters 2d coords. Then the vertex shader internally essentially shifts the character to the origin, but you dont have to worry about doing any of that yourself.
>>
>>101795335
I don't care about gay people, their penises their dirty anuses, have fun
>>
>>101793207
Wtf is this? Are you remaking The Sims or something?
>>
File: 1722943227457911.jpg (611 KB, 1500x1500)
611 KB
611 KB JPG
>>101802340
Yay. Just use this if you need skeletal animations: https://github.com/raylib-extras/examples-cpp/tree/main/interpolated_animation_gpu
You get a bunch of vidya relevant stuff in the library ready to go and you can touch the opengl stuff anytime. It's great for getting up and going.
>>
>>101803054
DX11 should have better performance than opengl, at least from one example I've seen.
>>
>>101807354
It seems like my first step is to get everything from local space to world space on my tile map. Things might make more sense then. I'm a bit of a perfectionist so most of this is planning ahead and getting opinions of where I'm going so I know how to shape things

I'm using pure OpenGL which is making things harder but I'm going to be using it for things other than games so it's good to get to know
>>
>>101798926
You use dlls
>>
File: Untitled.jpg (259 KB, 1366x768)
259 KB
259 KB JPG
This is pretty cool.
https://youtu.be/E38e_M5mdVY?t=5363
>>
File: 1717289561138349.png (18 KB, 987x732)
18 KB
18 KB PNG
Small progress. Started coding the basic data structures for the game and you can move around a ship with the WASD keys. Hopefully tomorrow I can figure out how to drag move the camera and click of different ships and have them auto move to wherever you click for them to go
>>
>>101807932
Orthographic and perspective cameras are similar in their handling, just the projection matrix is different.
>>
I heard the owner of Godot wore a trenchcoat to the kindergarten and then he exposed himself at the kindergarten and then a dog came into the kindergarten and bit him on the testicle and then he exposed himself to the dog and then the dog ran away. That's what I heard
>>
>>101802340
glfw + glad + opengl
>>
mipmaps are a pain in the ass in vulkan since you pretty much have to make them manually
>>
>>101814348
Vulkan loves making you do pointless work, it doesn't compress your textures for you either
>>
File: 1702996455615463.png (673 KB, 1272x1080)
673 KB
673 KB PNG
Is Ebitengine good?
>>
>>101814348
glGenerateMipmap
(you) don't need more
>>
>>101803054
On Windows, definitely use D3D11. The DWM is a lot more performant with it, especially when you start using things like flip-model swapchains. IMO the API is nicer than OpenGL anyway, since you don't have to consider as much global state when writing a renderer.
Use com_ptrs to hold D3D objects if you're using C++. The D3D API makes them dead simple to use properly without having to write cleanup code.
>>
hello, passerby here

can you guys tell me what gamedev will look like by, say, 2030? The 3D object generation, skeleton animation from prompt etc etc are really impressive to me. I pine for the good ol days of 1999, before boomer CEOs took over gamedev. I want tiny teams or even individual autists to take over again. Games suck now.
>>
>>101815110
>The 3D object generation, skeleton animation from prompt etc etc are really impressive to me.
"AI" shill or just a retard?
>>
>>101815110
Humans will notice AI generated slop. AI is good for mass-produced assets you need that mostly get ignored in moment-to-moment gameplay, like ground or vegetation textures. Anything viewed under any scrutiny (character models, animations, etc) will still be made by humans.
>>
>>101815110
Predicting how AI will impact the game industry depends on where AI is going to peak. I can't see it ever allowing small teams to do the work of hundreds though
>>
>>101815144
>Humans will notice AI generated slop.
Even if a modeler has to come in and clean up or slap some elements together or handhold the AI to a spot he want to add a specific facing to... isn't that still a massive 10x improvement to every kind of asset?
>>101815164
Really? I can't see why. Rigging, sculpting and animating are massive time sinks and all of these will be heavily impacted.
>>
>>101815267
AI can do animation well but animation is not a big workload in the first place, motion capture exists
At the moment AI art is generally not high quality enough to use in a real game
>>
>>101815110
the sloppiest of the slop
>>
>>101814348
ok but you do it once and then you have a GenerateMipmaps function that you can call for the rest of eternity right?
>>
>>101815300
>animation is not a big workload in the first place, motion capture exists
I think you underestimate that for larger projects.
>>
>>101815440
You're saying things like 10x improvement
>>
>>101815144
>Humans will notice AI generated slop
Correct. Implications are, I won't buy it if there's little effort put into it, AI artifacts make that noticeable.
>>
I wanna make an RPG, either in the style of GBA/NDS rpgs or using a "cartoon in action" art style like how the south park RPGs replicate south park's animation style.
This would be my first game.
Should I make my game 2D, 3D, or "2D on 3D"?
>>
>>101815876
However you like, anon. Follow your dreams!
>>
>>101803054
I am also making a windows only game but I use linux for valgrind (checks uninitialized memory access, asan does not) and ubsan (mingw has ubsan but does not have asan, clang-cl has both but your debugger won't stop when a asan/ubsan error happens, also clang-cl won't work with vcpkg with asan because unlike msvc you can't mix asan with debug mode aka /MDd on clang-cl).
>>
So what does Vulkan indie deving that openGL is missing? Is it worth the extra effort to learn vulkan instead.
(and which one increases my chances of getting a job if I decided to career switch to software?)
>>
Do you see the issue?
   ...
if (axis == "X") x = -1, y = 1;
if (axis == "Y") x = 1, y = -1;
...

I hate when signed numbers do not align perfectly. How can I handle this perfectly? Do guys have solutions for this? I have OCD and use nvim AND manually fixing this is so troublesome.
>>
>>101819246
>Is it worth the extra effort to learn vulkan instead.
No
>and which one increases my chances of getting a job
Vulkan sees more use than OpenGL but if you get a job programming for games you're unlikely to be using either so it's moot
>>
>>101819263
>Do guys have solutions for this?
try pressing space bar
>>
>>101819299
(((you))) should read the entire thing.
Sometimes when I have to type a good sum of digits manually it gets hard to follow the spacing.
>>
>>101819263
It would be kind of nice if you could use a + sign to explicitly state a number is positive desu. Time to mod your compiler?
>>
>>101819349
>It would be kind of nice if you could use a + sign to explicitly state a number is positive desu
you can
>>
>>101819332
Still not seeing the issue, if you want things to align vertically use spaces
>>
>>101819263
https://github.com/tommcdo/vim-lion
>>
>>101815466
have you not seen the animation from prompt??? The literal bones on a 3D model just fucking build a whole animation cycle for you in couple seconds. Wow, you'll need to tweak it maybe, so it's le useless.
>>
>>101820623
I agree that AI animation is very useful, it's just that the work required to build animations is pretty small in comparison to everything else
>>
>>101819246
Vulkan can do hardware ray tracing and proper mesh shaders.
>and which one increases my chances of getting a job if I decided to career switch to software?
Vulkan
>>
File: gnome.png (16 KB, 225x259)
16 KB
16 KB PNG
Has anyone done with making 3d models extremely small? My goal is to fit an entire character within 1 MTU (~1450 bytes). I don't think it's possible. 2-3 MTUs will have to do.
>3 * 8 bits / vertex, 256 values in each direction
>flag for how many bits per index, depending on number of verts (certainly no more than 10 bits per index)
>stripify indices to bring count of indices closer to count of verts, instead of 3 * count of verts.
>since each bone will have 0 effect on most verts, weight paint with a special utf-like number bit which if 1 indicates to read next 4 bits. Who needs more than 32 values per vertex per bone?
>flag for number of vertex colors
>gzip everything for good measure
Nevermind how it's actually rendered or cached/stored, this is over the wire.
>>
>>101822559
why
>>
>>101822758
The idea tickles me and gets me excited.
>>
>>101822559
Why not have the 3d model data on the client side and just transmit the rotation/viewpoint data or something? Similar to runescape
>>
>>101815110
>The good ol days of 1999, before boomer CEOs took over gamedev
And just who do you think was in charge of video game corporations before 1999 retard?
>>
>>101825118
Gen X
>>
>>101825264
you know gen x is younger than boomers right
most of the seniors in the game industry are gen x now, there were some boomers in the 90s but not really anymore
>>
>>101825299
>were some
So you admit it was mostly not boomers and therefore you are retarded for sperging out
>>
>>101815110
Hyper-capatalist business-oriented CEOs gave developer teams the freedom to make anything which made the most money. Any whackjob idea was one that could have caught on. Back during the days of retail, interest in the product sold the box. These days, microtransactions make the most money, and influencers are more effective to buy off than game mags.

But nevermind that. I agree with the premise of AI opening the door to highest-quality small-talent creation. I pine for when a 3-man superteam can make a hollywood-quality movie, or a cartoon series, or a AAA game in 6 months.
>>
>>101825264
>Nintendo was founded in 1889 as Nintendo Koppai by craftsman Fusajiro Yamauchi and originally produced handmade hanafuda playing cards
>Sega was founded by American businessmen Martin Bromley and Richard Stewart as Nihon Goraku Bussan[b] on June 3, 1960
>Namco was founded by Masaya Nakamura on June 1, 1955, as Nakamura Seisakusho,[b] beginning as an operator of coin-operated amusement rides
>Nolan Kay Bushnell (born February 5, 1943) is an American businessman and electrical engineer. He established Atari, Inc. and the Chuck E. Cheese's Pizza Time Theatre chain.
> Activision, Inc. was founded on October 1, 1979, in Sunnyvale, California, by former Atari boomer game developers upset at their treatment by Atari
>William Murray "Trip" Hawkins III (born December 28, 1953) is an American entrepreneur and founder of Electronic Arts, The 3DO Company, and Digital Chocolate.
>Midway Mfg. Co. began in November 1958 as an independent manufacturer of amusement equipment founded by Henry Ross and Marcine Wolverton.

You're nostalgic for an era that didn't exist. Game dev has always been dominated by corpos and boomers.
The only thing that changed is that nowadays promising young game devs waste their lives making pixelshit farming simulators and making their own engines instead of getting real jobs in the games industry
>>
>>101825306
No. Boomers have been phased out of the industry
>>
>>101825411
Woah bing bing slop and literal shovelware. You sure showed me.
>>
>>101825411
OK but what about richard garriot?
>>
>>101825443
stop posting zoomer
>>101825444
>born 4 July 1961
boomer
>>
video games
>>
>>101825862
hate them
>>
>>101825908
live service experiences
>>
>spend all day trying to fix a problem
>pull an all-nighter
>at a random second come up with a solution
>it works perfectly
any other anons know this feel?
>>
>>101826208
same but
>waste all day trying do something
>give up and sleep
>wake up and suddenly figure it out
>>
>>101792887
>>101793207
>>101795044
>Odin mentioned
>>
>>101795044
>Is it even that good?
its one the best you got atm actually desu
>>
anyone tried making an engine in haskell?
>>
File: has_skull.jpg (2.3 MB, 2207x3531)
2.3 MB
2.3 MB JPG
>>101826797
Iirc some anon did
>>
>>101795027
or you can use a language with good performance and reflection instead of having to create an abomination
>>
has anyone ever thought of making a game engine that isn't gay?
>>
>>101827078
does Odin fall under that category?
>>
>>101822559
What about using 7 bits per axis? This way you can use the remaining 3 bits as an index to a palette for the vertex color
>>
>>101826614
it's okay for game dev. I've tried it. It had minimal friction. Most things just werked. Would recommend if you're building some games for learning.
>>
>>101826797
Not Haskell, but you might be interested seeing https://github.com/bryanedds/Nu
>>
>>101831978
>it's okay for game dev
its okay for everything. Its sad that the toolchain is not as vast as huge as Rust or Zig but the language itself is very capable and simple.
>>
>>101832286
>game developers are liberated from the snowballing complexity of overly-imperative game programming styles.
lol
>>
>>101822559
>Has anyone done with making
>>
File: setting.jpg (2.98 MB, 3400x2100)
2.98 MB
2.98 MB JPG
>>101792815
Why is it so hard to make an interesting strategy game setting?
My humble goal is to make a more interesting setting than Warband's setting.
>>
>>101834222
I think the gameplay matters more than the setting
>>
>>101834222
No one really cares about an interesting setting. See total warhammer, star craft, total annihilation, etc
>>
Why are you autists still playing click on map games? It's 2024

Oh no Baron Von Knifenback wants a tribute of 3 goats or he'll raid Liguria?
By the gods I need to pay 5 denarius to Maximus Snivellus or he'll tell my mistress about my other mistress? Who fucking cares? If I wanted to sleep I'd watch tv
>>
File: 1704828450657472.jpg (138 KB, 981x719)
138 KB
138 KB JPG
>>101835621
Look man, you just dont get it
>>
>>101834222
Seeing this map makes me want to play your game
>>
File: kings_of_ecusveth.gif (2.81 MB, 2607x1447)
2.81 MB
2.81 MB GIF
>>101836507
why? are those not just boring blobs?
>>
File: multiselect.png (217 KB, 1010x797)
217 KB
217 KB PNG
Reporting progress
I've got selection, and multiselection ready, some background work done, and finally am doing placement of new bricks / voxels / shapes.
>>
I've been doing some digging on bitsquid/stingray/our machinery, from the blog posts, it seems that our machinery guys basically replicated code from stingray which led to its demise.
What I don't understand is that the architecture itself is simple, it's literally object oriented C with manual vtables ala microsoft com interface, SDL/opengl/any DLL vtable interface. I guess they must've reused some more specialised code.

Fun fact, Hellrisers 2 was made in Stingray, which was discontinued like a year before it went into production, which forced the devs to do almost everything. It seems stupid and the definition of sunk cost.

If anybody else is interesting in Our machinery engine, there's this project based around the blog posts. https://github.com/imgeself/imge
>>
why would anyone make their own engine from zero rather than just modifying the godot engine to suit their needs?
>>
File: diagram.png (4 KB, 426x414)
4 KB
4 KB PNG
I need a bit of help with collision detection. Currently, there is a circle around the player and any time a line intercepts the circle, the velocity changes in response to the collision.
This works as expected; if the circle is moving towards and collides with the blue line, then it will be pushing against it and sliding along the line.
The problem arises when the circle slides near to the red line while still moving along the blue line. The red line intercepts the circle which is incorrectly treated as a collision.

How do I detect if the red line is something that should be ignored?
>>
>>101838214
Godot isn't very good
>>
>>101838240
Need to know what your collision algorithm is to answer
>>
>>101838266
The gist of it is that the new velocity is set as the current velocity reflecting off the vector of the line that intercepts the circle.
https://en.wikipedia.org/wiki/Reflection_(mathematics)#Reflection_across_a_line_in_the_plane
>>
>>101838214
>2024
>coding anything in C++
>>
Frens, sorry for the noob question & blog post but where do you even start with proper game development? Game modding is an autistic hyperfixation of mine since the beginning of this year. I have been writing server plugins for Source engine games since then, but I'm seriously starting to get frustrated at the limitations that come with it and I'm 99% about to cancel my project that I have been working on for 6 months now. That and the fact that I have so many more ideas that just simply do not work as mods in Valve games. I need to start building shit myself, but which programming language do I use for that? Do I build an engine myself or not? How do you go about designing gameplay that isn't shit, a visual style that isn't shit and level design that isn't shit??? And I have so much more questions than that. I only really know how to code in python and SourcePawn, but I don't actually understand any fundamental computer science concepts, I'm just a code monkey.

So yeah sorry for the inappropriate rant on this beautiful thread but can anybody point me in the right direction?
>>
>>101838241
thats why I said *modifying* it to suit your needs, retard
Godot is also good enough for like 90% of indie games that you could reasonably make as a solo dev and is on track to compete with unity
>>
>>101838481
Modifying Godot won't make it good
>>
>>101838530
godot is good
btw, would you mind showing me your game?
>>
>>101838555
Not good enough to the point it's worth trying to modify it instead of just making your own or using something else
>>
>>101835621
>Oh no Baron Von Knifenback wants a tribute of 3 goats or he'll raid Liguria?
kino

>By the gods I need to pay 5 denarius to Maximus Snivellus or he'll tell my mistress about my other mistress?
Yeah, I hate how CK3 treats bastards as scandalous, when the mistresses and bastards were the norm, and didn't become scandalous until the 19th century.
>>
>>101838240
Make collisions possible only if vector of velocity goes against normal of the wall. Essentially collide only from the front, not the back
>>
>>101838679
I can't do that because I'm allowing collisions from within the box as well. It works fine if the circle is colliding with the concave corner, but if it's approaching a convex corner like the one you saw in my diagram then it will clip the other side (red line).
>>
>>101838350
>>101838820
You should be doing swept collision detection, not detecting overlap
>>
File: WarcraftIII_meatwagon.gif (157 KB, 103x120)
157 KB
157 KB GIF
>>101795027
I've seen enough WC3 JAZZ to see.... that its not the scripting performance that is the issue
Its always the engines core performance vs computer vs scope

You attach whatever compatible whatever to your engine, because somebody has unintentionally worked out the bugs..
Its the same reason you don't hardcode the graphics.
>>
>>101838588
wheres your game?
>>
File: 33434.png (12 KB, 100x59)
12 KB
12 KB PNG
>>101792815
What is the point of a corruption mechanic if the game tell which characters are corrupt?

Isn't the whole issue with corruption that it's hard to know which officers are corrupt and which are not?

Personally, I want to make a political game where de facto corruption is hidden and a corrupt reputation is public, but the latter might be false and could be fabricated.
>>
>>101839319
on my hard drive, where's yours
>>
>>101839332
what game?
>>
>>101839637
Imperator: Rome
>>
>>101792815
How do I do cient side prediction?
>>
File: 1707095117007004.gif (3.84 MB, 480x269)
3.84 MB
3.84 MB GIF
>Running into weird problem in Odin
>Figure I will make a small example program to showcase my issue and ask here
>That version works fine
Well crap I though I was misunderstanding how it works but clearly I am actually just doing something dumb somewhere
>>
>>101839332
Depends what you are making, but I think the concern is it can become too much micromanagement. You dont really want to spend all your time trying to back calculate from your real tax income vs expected income if some characters secret corruption state is too high
>>
>>101838457
C++. You can the either move onto more extensive Source modding (not that I’d recommend that), Unreal, or your own engine.
>>
File: file.png (116 KB, 1872x965)
116 KB
116 KB PNG
>>101837731
See this is what I don't get about ECS crap. In this specific example, anytime you need to run a system, you have to loop through all entities, run the filter function on it, which is a pointer function and not a function call, add entities that pass the filter to a newly allocated array, then run the system update. These are multiple allocations per system in a hot loop. What a mess. I don't know why you even need to filter in update loop when you can do it at entity component creation/modification. It's not like a system would change their required components mid update.

Same issue exist in other frameworks. The worst offender was when they use macro magic to make entities that end up fixed at compile time, it's literally a type system built on top of another system except you don't even get the benefits of runtime dynamic components.

So far I only know exactly one successful game that uses ECS system, Noita, which is for a good reason because it's a simulation, and even it has some retarded decisions where there's an HP component and multiple Damage components interacting in a complicated way, when there's exactly one known player anyway.
>>
>>101840358
>, anytime you need to run a system, you have to loop through all entities, run the filter function on it, which is a pointer function and not a function call, add entities that pass the filter to a newly allocated array, then run the system update.
That's a terrible way to implement ECS
>>
>>101827983
Yes but not here, this thread is better named gay engine developer general
>>
>>101840426
It's a pessimistic implementation. It assumes that entities gain/lose components every frame. Which isn't a bad assumption by any mean.
For example, most ECS videos/articles, for some goddamn awful reason, start by implementing Gravity as its own component that is different from the Position component and the Velocity Component. So you end up having to add/delete at least 2 components depending on if the entity is moving or is affected by gravity.

They also tend to use empty components as a tagging and grouping system too. I think it kinda works because somehow everything still end up fitting at least in L3 cache, so modern CPUs can bruteforce it anyway.
>>
>>101840657
Proper ECS systems know the mappings between systems and component arrays at compile time, that's kind of the entire point
>>
>>101840091
Figured it out. Turns out you need a "&" in front of your map variable if you want to change the value inside of it
>>
>>101840684
That's only the static implementation of ECS. Typical implementations tend to lean towards runtime dynamic components.
One of the selling points of ECS is that you can shift components dynamically and the system handles it just fine.

I forgot which game implements scripting through a lua components. That wouldn't be possible if you cannot attach new components freely.
>>
>>101840792
>That's only the static implementation of ECS
That's the proper implementation of ECS
Iterating over every entity to find the systems it's in is a junior programmer level of pessimization
>>
>>
I want to make a game similar to AA2 or daigaku gurashi what engine should I use? Unity, Unreal or Godot?
>>
>>101841245
>/gedg/
you make your own engine
>>
>>101840657
>Gravity as its own component that is different from the Position component and the Velocity Component.
Holy crap I knew ECS was a meme, but are people are unironically teaching that position/velocity/gravity should be seperate components? WTF.
These people arent even making games. The "component" should just have a handle into physx/bullet/whatever which handles all that crap for you. If youre manually integrating gravity into velocity and velocity into position with gameplay components and systems you are just fucking lost and have no idea what you're doing. Thats insane.
>>
>>101841389
Most people who talk about ECS don't even know what it is and have invented their own definition for it
>>
>>101841389
>are people are unironically teaching that position/velocity/gravity should be seperate components
seems reasonable if you're writing your own physics
>>
>>101841449
Why does it seem reasonable? Because it's not
>>
>>101840931
What is FP?
>>
>>101838214
nodes/oop sucks
sepples sucks
>>
Is ECS even worth using?
I like the idea of compartmentalizing certain utilities that not all entities would use, but I can't help but wonder if the implementation is flawed.
I can't really think of an alternative that would be useful for what I am working on.
>>
>>101841389
They're reason is that static objects would only use the position component, moving objects would require velocity components, and gravity just just velocity 2.0.
It's an exercice on abstraction and how granularity is too much granularity. In reality they end up doubling the transform/position component because the rendering component require its own transform, that may or may not be in sync with the base transform.
The real shit starts piling up when you reach animation and you realise that you need a hierarchy of entities and parent/child relationships, at that point it's all spaghetti.
>>
>>101802340
yay, but eventually remove its renderer and add your own vulkan one
>>
>>101841498
female penis (tranny)
>>
>>101793207
do you need some sims 1 style 3D character?
>>
>>101841700
>In reality they end up doubling the transform/position component because the rendering component require its own transform, that may or may not be in sync with the base transform.
Nigga why don't you just double up, it won't matter with memory usage unless you have millions of entities.
Plus it makes serialization easier becuase you just discard the DrawComponent's data.
>>
struct Vertex
{
glm::vec3 pos;
glm::vec3 clr;
glm::vec2 tex;
};


You may not like it, but this is what peak performance GPU data-structures look like.
>>
>>101841691
>Is ECS even worth using?
no, regular OOP works better
>>
>>101842048
No, regular boring data with composition is king. ECS and OOP Nerds forget that you can have normal structs and compose them the same way you'd make objects or compose "entities" in ECS. And you never need a special architecture for it, no multi inheritance that's more than ten levels deep, no "getComponent" function calls.
>>
>>101842101
Same thing
>>
>>101842101
What are you doing that you need inheritance 10 levels deep?
>>
>>101842175
Building a strawman
>>
>>101841981
Why not use a 4-tuple with unions and anonymous structs?
Admittedly, I'm not a retard and can into vector math so I don't know about this glm garbage.
>>
>>101842216
>I'm not a retard
Are you sure?
>>
>>101841700
Double or tripling up the transform is good design. If youre using physx you have to double it anyways. In my engine, a mesh component has 3 transforms kept in sync: the component one, the physics one, and the rendering one. A lot of Ecs feels like people afraid to have data copied so they try to do this global database thing which just falls on its face.
>>101841691
IMO: mimic Unreals actor+component model. It's a hybrid of OOP for entities and components for shared stuff like renderables or physics. It's very ergonomic and it's proven to work. Also just a tip that kept my design clean: you should have a handle layer for all your systems. Treat systems as PUSH and not PULL. Ie the renderer should have zero idea of components or who owns the handle, all it has is a list of things to render that components (or anything with a render handle) pushes data into. Use the same setup for everything else like lights, particles, sounds, UI etc. I found this design super clean. It also lets you store internal state separately from public state. Ie lights might internally store their shadowmap atlas index, the public light interface doesn't need to know anything about that.
>>
>>101842232
I don't know.
So you'll have to spoonfeed me like you're grooming a five year old in one of your discord servers.
>>
>>101841449
Not really, its pretty stupid actually. "position_component += velocity_component * dt" breaks beyond any trivial BS example. Components are for gameplay layer stuff, its never been used otherwise. A physics engine needs tons of internal state like spatial caching etc. Are you saying there needs to be a "InternalPhysicsCacheComponent"?
Physics engines get speedups by sleeping objects that are stationary. Do you now need a "InternalPhysicsAwakeComponent" that gets dynamically added/removed when a physics object needs to be simulated? Youre just making a massive cluster fuck by tying everything to the ECS.
Do you think physx/bullet arent already using Data Oriented Design for literally everything internally already?
>>
>>101842641
>Do you think physx/bullet arent already using Data Oriented Design for literally everything internally already?
Physics engines don't really benefit from it, Bullet doesn't I know that
>>
>>101841981
*compile time interleaves in your're path*
struct basic_vertex
{
vec3 a_position;
vec3 a_normal;
vec2 a_uv;
struct position
{
static constexpr size_t size = sizeof(a_position);
static constexpr size_t offset = 0;
static constexpr size_t count = decltype(a_position){}.size();
static constexpr size_t index = 0;
};
struct normal
{
static constexpr size_t size = sizeof(a_normal);
static constexpr size_t offset = position::offset + position::size;
static constexpr size_t count = decltype(a_normal){}.size();
static constexpr size_t index = position::index + 1;
};
struct uv
{
static constexpr size_t size = sizeof(a_uv);
static constexpr size_t offset = normal::offset + normal::size;
static constexpr size_t count = decltype(a_uv){}.size();
static constexpr size_t index = normal::index + 1;
};
static constexpr size_t size = position::size + normal::size + uv::size;
static constexpr size_t count = position::count + normal::count + uv::count;
};
static_assert(sizeof(basic_vertex) == basic_vertex::size);
>>
>>101841862
you have some? CC0 if possible
>>
>>101843098
Thanks for this not many people have shared what they're doing
>>
quake approach is best
>>
>>101815110
people are going to be making 3ds games in godot, and it will be comfy.
>>
>>101832691
What do you mean by >the toolchain is not as vast as huge as Rust or Zig
because if you're talking about package managers then you're just plainly wrong. I'm so fucking glad Odin doesn't have a retarded package manage so A) it doesn't attract baseddevs and B) it doesn't suffer from retarded dependency abstraction and management.
>>
>>101822559
Can you make your character with 17 polys?
>>
>>101839422
on my ssd
>>
>>101842273
>handle layer for all your systems
can you elaborate, do you mean a layer thats used when systems need to communicate with each other (I havent needed this yet)
>>
>>101845457
Tbh not sure the right term but like this
virtual handle<Render_Object> register_obj() = 0;
virtual void update_obj(handle<Render_Object> handle, const Render_Object& obj) = 0;
virtual void remove_obj(handle<Render_Object>& handle) = 0;

virtual handle<Render_Light> register_light(const Render_Light& l) = 0;
virtual void update_light(handle<Render_Light> handle, const Render_Light& l) = 0;
virtual void remove_light(handle<Render_Light>& handle) = 0;
...

Where those are all functions in the public renderer system interface. handles are just a template wrapper around a uint32. So when you want to render anything you take a handle and push data into it. Render_Obj has a Model pointer, a transform, an animator pointer, etc. I really ended up liking how it all works, anybody can take a handle to render stuff, so you arent tied to iterating over MeshComponents or a scene graph (the renderer has no idea about any of that). Usually I make a component that wraps a handle, but its cool cause one component can wrap multiple handles (my MeshComponent has both physics and rendering handles).
Internally you can store handles to the data however you like (I use one layer of indirection to a contiguous array), maybe separate static/dynamic stuff too.
>>
File: OcclusionCulling-0.jpg (78 KB, 550x342)
78 KB
78 KB JPG
what are some good occlusion culling techniques?
chatgpt says bvhs, but i can't understand how the two are related, outside of frustum culling
>>
Any Godot 3D resources you guys recommend?
>>
>>101846172
so you reinvented pointers and called them handles?
>>
Would you start a project like Dwarf Fortress on your own, using a custom engine, in 2024?

https://stackoverflow.blog/2021/12/31/700000-lines-of-code-20-years-and-one-developer-how-dwarf-fortress-is-built/

>700 000 lines of code
>"I'm not sure if I'd use something like Unity or Unreal now if I had the choice since I don't know how to use either of them. But handling your own engine is also a real pain, especially now that I'm doing something beyond text graphics."
>>
>>101852188
If you're making something like Dwarf Fortress, which has either no graphics or minimal 2D graphics, there's no reason to use an existing engine
>>
>>101852188
Unity can't even handle the spaghetti mess that is dorf fort
>>
>>101848697
You use BVHs for culling because if you can't see one BVH node, then you can't see all its child nodes (presuming its children all fit inside the bounds of their parent)
>>
>>101852188
I would definitely not use an off the shelf engine for something with graphics that simple and simulation that complex
>>
>>101841700
wow it's like OOP brainrot 2.0
i'm surprised this kinda stuff still perpetuates given how derided that level of abstraction these days

>>101841981
>ignoring hardware reqs for code aesthetics
at minimum those vec3s should be vec4s
>>
File: 1723261829551963.jpg (95 KB, 750x1000)
95 KB
95 KB JPG
I am too scared of getting scrolling right on the NES so I decided to go for a single screen game with 8x8 sprites.

Is it good to finish that or should I go back and do it properly?
>>
https://youtu.be/utUc71lEm8c

why is source engine codebase so insane and inaccessible?
>people used to code like that
it just looks so ridiculous. massive mess of macros and polymorphism. it's like each game codebase exists in its own little universe, quake is different yet
>>
>>101852762
>massive mess of macros and polymorphism
That's every large C++ program
>>
>>101852762
how would you write it?
>>
>>101852762
devs were smarter back then, no need for stupid conventions
>it just works
>>
>>101851230
>https://floooh.github.io/2018/06/17/handles-vs-pointers.html
Not him but check the link for explanation. Handles are "better" pointers, they have builtin generation counter, so even when two "pointers" are pointing on the same data, it checks if it is really the "same" object. By design it prevents use after free.

The biggest advantage of these handles is that they're literally an offset to an array, so reallocating the backing array, saving it, loading it, or doing anything with it would never break any handles. Now try to do the same with raw pointers without losing your mind syncing all pointers.
>>
>>101852983
That actually sounds pretty useful
>>
>>101853076
If you're on Windows look at VirtualAlloc/VirtualFree. You can get the OS to check these "use after free" bugs by setting some flags when you allocate/free the memory. I can't remember what they are though.
>>
>>101852848
well I don't really have any macros (and I'm also doing a multiplayer fps game).
I dunno, maybe it's because of the naming convention that feels weird to me with the ridiculous class names and prefixes, like also in Unreal, etc. just feels dirty. apple development is the peak oop insanity, they have so many virtual functions and classes just for managing one button. I mostly just have a class that implements everything, it feels clean and comprehensible, but maybe that's cause I see the same code every day. I mostly use structs and functions, but 'Entities' in the game are implemented as classes like so:

class Transform : public Game_Object {
public:
void set_position(Vec3);

private:
Mat4 m_local_transform;
Mat4 m_world_transform;
std::vector<Transform*> m_children;
}
class Character_Controller : public Transform { ... }

class Player
: public Character_Controller,
public Updatable {

public:
Item* get_item();

private:
std::vector<Item*> m_inventory;
int m_current_item;
}

int main() {
Scene level;
level.insert(new Player);
level.each([[](Player* player) {
// do something i guess
player->set_position(...);
player->set_item();
});
}
>>
>>101853172
That's a natural function of what happens when programs grow large
>>
>>101852762
If you think that code is messy you haven't seen anything, looks very readable to me
>>
>>101853172
speaking of oop insanity
>>
>>101853172
>class Player
> : public Character_Controller,
> public Updatable {
>public:
> Item* get_item();
>private:
> std::vector<Item*> m_inventory;
> int m_current_item;
>}
Nigga wtf is this
Just have a pointer to a controller with a nullptr check,
Why isn't inventory a seperate struct?
>>
>>101854394
well that's pimpl and seems kinda needless since a character controller is always part of player, and I'm not trying to hide anything behind an extern class in an api.

also scene queries won't work, how would you do level.each([](Character_Controller* cc){ }); ?
you'd have to manually generate type information and offsets and have macros to fill out the final type info in each derived class. now it just magically works since C++ does it under the hood.

I don't see the point of separating out the inventory, what needs an inventory but is not a player?
>>
>>101854617
>what needs an inventory but is not a player?
an enemy dropping loot
>>
File: placement.png (241 KB, 1019x801)
241 KB
241 KB PNG
>>101837426
Placement of elements now works, undo/redo works. Now going toward brick color dialog
>>
File: packed_af.png (26 KB, 474x897)
26 KB
26 KB PNG
>>101841981
>You may not like it, but this is what peak performance GPU data-structures look like.

>using classes as struct members
>'peak'

Get on my level.
>>
>>101855034
m_fucking m_stop m_doing m_this m_shit
>>
>>101855095
Any reason? Other than your clenched buttocks?
>>
>>101855095
seeplesples brainrot is uncurrable.
>>
>>101855034
What is the purpose of using vertex colors anyways, if you will be sampling UVs and applying lighting to create the albedo? Frankly the overhead does not seem worth it to me.
>>
>>101855034
the glm vectors are actually annotated properly and set up for compat with shading langs, direct gpu usage through hip and cuda and simd so you're actually missing out
the real answer is
typedef float vec4 __attribute__((__ext_vector_type__(4)));
typedef float vec2 __attribute__((__ext_vector_type__(2)));
typedef /* some uint */ uint4 __attribute__((__ext_vector_type__(4)));
struct Vertex{
vec4 Position;
vec2 TextureCoord;
vec4 Color;
vec4 Normal;
uint4 Effects;
};

because that's what most of that stuff is using behind dozens of wrappers
>>
>>101855288
They have a variety of uses but most models don't use them these days, so it's a bit wasteful to include them in a general purpose format
>>
>>101855288
My engine does not use many textures - I use them only for UI ( fonts and icons ). All the rest use a vertex color mixed with a shader-generated pattern - serialized parameters for these patterns are passed in the 'effects' field.

At some point I probably will bifurcate this to UI vertexes which omit the texture coords and all the rest, which don't use textures, but for now I have a common vertex data serializer for uploading stuff to the GPU.
>>
>>101855335
Interesting. Although I rolled my linear algebra library, so it's not relevant to me. But cool nonetheless.
>>
>>101855338
>>101855345
I see, thanks for the responses.
I personally like vertex-color shading, but my idea was to pass the vertex colors into a texture or similar structure, so they don't have to be stored per-vertex, and can be sampled via a single vertex-indice.
Idk just an idea I had for a while
>>
Anyone has some 32 bits float lights stuff in their game that he wanna show off? I like digital light
>>
>>101852762
Macros just make it so that you don't have write everything by hand, my language doesn't support macros so I just write code generators instead.
>>
>>101853172
>Quick, change the networking behaviour for the 100 custom entities you have written
easy I just change the macro

>Quick add another custom entity that needs an Id to tell the networking layer what it is and where to write the syncing data to.
Easy, call this macro and it adds all that automatically.
>>
>>101844398
He means no wasm emscripten support or bare metal targets. I like Odin but the fact that I cannot get raylib to run on the browser makes me want to leave it.
I was working on my space shooter thingy game to publish it on itch and I expected it to just werk in the browser but I realised a bit too late that Odin didn't support emscripten wasm. I lost interest in the game after that.
>>
>>101856821
>on the browser
Just use Unity
>>
>>101856853
>use huge bloat engine instead of minimal library
If you have nothing useful to say, shut your mouth
>>
>>101857228
You're deploying on the web, that's bloat, embrace it
>>
>>101857256
antichrist
>>
>>101857299
It's not THAT bad
>>
>>101855034
what's the effects field for?
>>
>>101852983
so just an ECS entity int?
>>
>>101855034
so you copied the post you replied to minus all the math functions, sounds fantastic anon
>>
>>101858311
Yeah, in sane implementations it's just just an index key into a database of components. In the retarded implementations it's an array of indexes with a unique index per component, but we don't talk about those.
>>
>>101855288
Theyre sometimes nowdays used for material painting and blending. So each model instance can have a unique vertex color stream and have, lets say, a sand material blending over the base material of certain parts of it. In the level editor you would paint stuff. But yeah, if you just want the old school look, using texture coords to reference a texture that just has solid colors would be easier.
>>
>>101829334
yes. Odin has a very simple, straight forward reflection package. JangaFX products serve as proof that Odin delivers good performance
>>
why not just use a uniform for color?
>>
>>101844398
I meant the language has very few libraries, compared to the heavily marketed Rust and Zig counterpart. Not the package manager.

>>101856821
did you take a look at this?
https://github.com/thetarnav/odin-wasm
>>
the ratio of hype and evangelism vs actual usage doesn't really look favourable for ECS
>>
>>
>>101859957
Maybe you want to render two things at the same time, a red thing and a blue thing, instead of rendering a red thing then changing the color then rendering a blue thing
>>
>>101856821
tbf it's only 8 years old and the team said again they would like to avoid emscripten because it's not necessary, but you can still do wasm as pajeet pointed out.

>>101860006
>very few libraries
I agree with you there but I also think it's a "good" thing that it doesn't. I don't want the jsbros to shit up the ecosystem with their is-even libraries.
>>
>>101861488
WUNDERBAR get

https://www.youtube.com/watch?v=pM80bQi2IKU
>>
>>101799901
>write it in shitlang
No.
>>
>>101795335
Name one open source project that doesn't advocate to faggots....I am waiting, anon.
>>
>>101852686
>at minimum those vec3s should be vec4s
You don't know what you're talking about, 8 floats is fine and will be aligned automatically.
>>
Is a simple Vampire Survivors clone a good first 2d project to dip my toes into making a game?
>>
>>101862277
unless you're using the explicit aligned vector types or define a preprocessor symbol glm doesn't align its vec3s properly
similar deal with the clang extended vector types here >>101855335 except on top of explicitly aligning them you might also need to pass -Xclang=-fpreserve-vec3-type to the compiler options
>>
>>101862809
oh and i'm talking about compat with GLSL, not it being fine on the CPU
3 component vectors are aligned up to 4 component vectors
>>
>>101862722
Sure it basically has nothing going on and 99% of VS is flashy slot machine shit
>>
File: 1716010498893177.png (721 KB, 1920x1080)
721 KB
721 KB PNG
>>101793374
Yeah, it shows you're passionate about something and you have the drive to build stuff. Girls would like that because it shows you have character. I mean, would you fall in love with a girl if she was just a flat social media drone?

Still, you have to like talk to girls in the first place so you can show your engine/game. Hardest part is just having a reason to talk to them in the first place. You know just compliment her, ask her about something, or if there conversation sounds interesting literally just interject yourself into it. People strangely have not much of an issue with me doing this before and I've made friends by me doing this or someone doing this to me.
>>
Day 2 of learning C# and unity. Wish me luck frens
>>
>>101860006
no emscripten though which is what raylib uses.
>>
>>101863722
>unity
my condolences
>>
>>101863722
have my condolences too
>>
>>101863722
I hope you're ready to die for Isreal (fine print when using jewnity)
>>
File: low calcium.png (52 KB, 1084x154)
52 KB
52 KB PNG
Am I going to get sued?
>>
Reworked the way the walls are rendered and move them from inside the tiles like the sims to be on the border of tiles.
All this to get ready for the objects to be 3D. Gone are the billboards, it's no longer 1995.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.