Real time software raytracing edition
/gedg/ Wiki: https://igwiki.lyci.de/wiki//gedg/_-_Game_and_Engine_Dev_General
IRC: irc.rizon.net #/g/gedg
Progress Day: https://rentry.org/gedg-jams
/gedg/ Compendium: https://rentry.org/gedg
/agdg/: >>>/vg/agdg
Graphics Debugger: https://renderdoc.org/
Requesting Help
-Problem Description: Clearly explain your issue, 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:
>>105752892
Anyone have any old freeware devs' sites from before 2010? Particularly those that hosted their freeware games
I'd like to look at their sites and games for inspiration (since I might end up just being a freeware or FOSS gamedev)
I'm writing something to convert audio assets from FLAC to Opus for my game engine.
>>105797871Isn't that like a 2 line shell script?
>>105798095Only if I used some external program.
>>105798200FFmpeg is not a part of my engine.
>>105798244Ah yes, the excitement of spending days, or even weeks for something you have to do maybe a couple of times and can be easily achieved by a 2 line shell script.
>>105798266I enjoy programming.
>>105798338I mean sure, but engine is a big enough project that you shouldn't need to make detours like this to find something to do.
I've made a physics engine, a rendering engine, but writing file format converters is peak stupid
>>105798634The way I see it using FFmpeg would be making a detour to avoid implementing support on the engine for the media formats that are essential to its functioning. It could make sense if I was under some urgent time constraint to get the audio system working but that is not the case.
>>105797658 (OP)>webmHoly shit, that is cool. We really are living i the future.
>hlsl tool still hasnt been updated to hlsl 202x
im so tired of it not recognizing templates
>>105797658 (OP)any tips on how to learn vulkan?
can AI help? usually with libraries it just hallucinates details and seems to be stuck in a few versions from the past
>>105801613Just Vibe code it via gemini-cli.
But desu don't do it. on yt channel ogldev you have whole seriers about vulcan
Sup /gedg/. Currently struggling with 3d object picking. I have workable, but not perfect.
That's all. Also - 105k LoC.
>>105801821i would not let any project I write get past 20k loc
and 20k still feels obscene
>>10580189820k isn't all that impressive. I push something like that at work every month if there is major implementation going on.
Granted - these days I mostly replace 100k of old code with 25k of new code, but still.
>>105801898While I do agree with the sentiment that less line of code is generally better, 20k is not "a lot" for that kind of thing, and arbitrary limits don't really help.
I render my scene as trillion of microscopic spheres with full ray tracing in software
https://github.com/nvpro-samples/vk_minimal_latest
Thoughts?
>>105797658 (OP)I love this aesthetic
>>1058029644000 LOC + 6 dependencies for two triangles
i don't think about you at all
>>105803587write a hardware accelerated graphics application for windows and/or linux with no dependencies
>>105802964Iโm it as one of my references
graphics sounds easy compared to writing an audio engine from scratch
>>105803873Audio is literally just a simple bytecode interpreter
does it make any sense writing a game in C ? seems that games are one of those use cases where it makes sense to use OOP 100% of the time
I need actual serious advice.
I am making a 3d mmorpg in c++, Should I care about optimization before the bottlenecks start to appear, or should I only care about it when they show up?
obvious optimizations like broad and specific collision and heightmap interpolation are already at play.
>>105804537honest question how do you know where the bottlenecks are if they haven't appeared yet?
>>105804629Looking at the complexity of the problems, collision is likely the biggest cpu user and the heightmaps are the memory one.
Considering the experiences I am having now it's clear that looking at the problem before taclking it gave good results, but at the same time I fear I might be losing too much time with ECS, FP + OOP problematics and coding less.
I think in the end of the day I just need to optimize where I know I will have gains, then just rework what gets problematic.
Something obvious I am doing is making sure the systems can run in parallel in the future (damage and collision being calculated by a sole core)
>>105804192lol maybe in commodore days grandpa
>>105804708As an example, right now I am thinking that reactive collision instead of predictive collision could save a lot of memory
>>105804828so you already wrote one algorithm that you don't need and you want to replace it with another algorithm because surely this time it will be worth it. do you see what they mean by root of all evil?
>>105804887I guess at least I learned a lesson.
Anyone else feel like naming their vulkan wrapper/engine after a star trek character?
that or a volcano
>>105802964What are you looking for in particular?
>>105804537bottlenecks are the last thing for you to worry about because a real MMO is all about scale.
but obviously you should expect that your first game (that you actually put years of effort into) is going flop with a few downloads, unless you have a really easy way of getting exposure (like embedding yourself into a existing community, such as just copying the community / game and leaching from them). Generally at your second game you either give up or actually get the exposure you need for the next game because it turns out that most games look a lot more fun and interesting when it's not released.
Anyways, ignoring that, the big problem is that all mmo's are free and hosting on the cheapest piece of shit that can survive with like 100~ users concurrently (depending on your game, assuming not an FPS, simple movements) is like $4~ a month. That's not bad but we are talking about like 2 cores + 1gb ram (cores and ram can be upgraded), and optional very, very, very slow storage that is $5 a month for each 1tb (1tb minimum) and I don't know how much a speedy database would cost, I was assuming you would just be OK with the data loss from a crash since it's going to be cheaper and 100x faster & the reliable way of doing in game purchasing would be with steam's inventory SDK.
Also if you were doing an FPS, the cost of the server isn't the only issue, it's the cost of the bandwidth, 1gb upload costs like $0.001 or something, and 1 user could download 100mb in like 1hr in a FPS, so 100 users playing 2hr every day would cost 50 cents in one month, CHEAP, but when you scale the numbers and remembering that 90% of the money comes from whales, it's rough.
Also to scale you need an API that can scale the server instances, you can't use C++ on Oracle (which has a generous free tier which doesn't work when you need it + some free bandwidth + auto balancer + linux), but you can use C++ with AWS I think.
The only true DDOS protection is cloudflare which is web only.
>>105805799actually 1tb of storage costs 10x more.
and 1gb of egress is actually 100x more as well.
But it depends, I haven't actually looked it up and if you hosted it yourself, I believe you hard lock yourself to like 200 maximum, and chinese VPS or whatever you call it services are cheaper but I don't know if you can scale up and spin up new instances using an API.
Also there was the European service I forgot the name of that's cheaper than everything else but nobody can get access to it or something because it's business only.
>I'm gonna make a mmorpg!
no, you aren't
People who have never made a game speculating about making an MMORPG takes me back to the 2000s
dx
md5: f24f7383c8fb7f7ccf8abc6833cda004
๐
Yeah, I'm basically 99% done with my game engine.
>>105806134Wow, just realized that either the Windows screen clipping tool or Chrome or something else really fucks with the blues.
>>105806167D3D12. Honestly pretty simple so far considering how people hype it up as some impenetrable API. I'm sure doing insane 3D effects and optimizations gets complicated, but I don't think cranking out a 2D game with this would be that bad.
>>105806180Nigger use Vulkan
>>105806180well, getting a triangle to render isnt hard, the hard part comes when juggling resources, descriptors, synchronizing multiple queues, and async resource creation
>>105806215Most of that stuff is verbosity a rather than difficulty. Like knowing when and how to add a sync barrier is straightforward. The genuinely hard stuff is memory management which is mostly handled by VMA if youโre using Vulkan, dx12 has an alternative but I donโt know how popular it is. The problem is modern graphics APIโs are already outdated. They were made in 2016(9 years ago) and built to be backwards compatible with hardware tracing back to like 2012. GPU hardware is completely different today, more unified and simplified than ever. Synchronization is different. Descriptors are a thing of the past, all GPUโs deal with pointers now. Layout transitions are also no longer necessary. Ironically dx12 is the longest surviving DirectX version, Vulkan is the same age and also committee driven. They definitely need new whole versions asap but companies being retards probably wonโt come around until 2030. Metal is the ideal modern api but alas itโs Apple only.
>>105806327doesn't matter in 2 years we'll just have real time generative ai and 3d programming will be dead
>>105804537Fix problems you have, not problems you _might_ have. There is a finite set of problems _right now_ and an infinite set of problems that might arise.
As such, a heuristic is to always assume that X will not be a problem until it becomes one.
t. 20 years of experience haver.
gpus should just be tiny game consoles you put inside your computer and the rest of the computer just acts as a hardware abstraction layer
>>105806327hardware might have changed, but if the apis are old, we cant really do anything about that
>GPUโs deal with pointers nowat least we've gotten bindless resources a while back, despite how little material covers how to transition from bindful to bindless
>Layout transitions are also no longer necessaryyou mean in hardware right? apis still need to transition afaik. at least my debug layers scream at me that i cant present a render target
>They definitely need new whole versions asapagreed, i do hate how the apis have moved to "just keep downloading our latest vendor extensions / agile sdks" instead of just making a good new full release. dx 13 and vulkan 2 cant come fast enough, but i dont think we will ever see them do that
if something seems complex just think about it in the stupidest way possible and then you'll understand it
>>105806327>They were made in 2016The 1080 was released in 2016 and is still in common use. Even if DX13 dropped today it'd be 10 years before you could just assume everyone was running hardware to support it, in the meantime you'd be forced to write DX12 and DX13 implementations for everything.
>>105806462>you mean in hardware right? apis still need to transition afaik. at least my debug layers scream at me that i cant present a render targetUNDEFINED and PRESENT are still necessary but everything else is getting phased out in favor of general. https://www.khronos.org/blog/so-long-image-layouts-simplifying-vulkan-synchronisation
>>105797658 (OP)>Real time software raytracing editionhttps://youtu.be/cNwEhqbn5-g
how's raylib for enginedev? everything in one package without having to piecemeal a bunch of libraries sounds convenient
>>105807147raylib is just a kinda buggy wrapper over SDL
if you're planning to 3D dev it's not a good idea
something like raylib for common lisp would be good though
>>105806632if im not mistaken those are the "enhanced" barriers in dx 12 right? they at least sound sorta familiar
I don't care, I will keep using DX9 and OpenGL 3.3
Vulkan extensions I'm looking at to make writing a renderer as simple as possible:
Dynamic rendering (+ local read)
Synchronization 2
Shader objects
Push descriptors
Descriptor indexing
Buffer device addresses
Dynamic vertex input state
All of the maintenance and extended dynamic state stuff
Is this a good list? Am I missing anything big?
>>105809621>Vulkan extensions I'm looking at to make writing a renderer as simple as possible:OpenGL
>>105809657Not being able to do something as simple as selecting the graphics device you want to use makes OpenGL kind of unattractive to me.
>>105809762that is some supreme bikeshedding
>>105804444I'm working on a game in UE5 (don't tell /gedg/) and OOP makes me want to ACK.
Depends on what you're doing. For stuff like a standard FPS it's ok, anything else and it's a pain in the fucking ass.
I want to make a MUD engine for erotic roleplaying. I want the game to have it's own client so players can add and share artwork of their characters. I want it to play kind of like a multiplayer VN with some form of matchmaking I guess. My question is would it be better to make it a desktop client, a mobile client, or a web client? I have experience in system and network programming only so whichever I go with will be new to me. I find learning frameworks to be more work than simple libraries so I would like to avoid bulky frameworks if possible. It seems like the VN crowd prefers desktop so I'm leaning toward that but I was hoping to find a solution that would be easy to port to mobile at a later date if one exists. I hope to play in bed or the bath without electrocuting myself with a laptop. Thanks, /gedg/!
>>105809762>selecting the graphics deviceThere's only one in 99.99% of cases. The user sets their OS to use the GPU they want to use and the OS passes it on to OpenGL. The idea that any players are choosing from a wide selection of devices like a mafia don choosing cigars is just silly.
>>105809993Can you describe game idea for this engine? How the potential game could look like? Its like MMORPG where you can talk to other players with VN ui or what?
>>105801821Looks nice. What is the game about?
>>105797658 (OP)What is the required topics you must learn before learning OpenGL , I know basic C++ , College maths and physics
>>105810285I don't know if you ever played old MUDs over telnet but that's all I want to make for the most part. I just want a client that displays things more similar to a VN than a chat room.
>>105810484trig and linear algebra will help but honestly you can just look up what you need to do and copy paste from a tutorial or something.
>>105810562Fuck just now i realized what do you mean by MUD. nevermind
>>105810461OTTD and classic Transport Tycoon inspired railroad game with crippling autism level of mechanical detail. Think "Dwarf Fortress" but about running a railroad.
Creator of Diablo made his solo game It Lurks Below https://store.steampowered.com/app/697550/It_Lurks_Below/ using a custom engine in C/C++ written from scratch, no frameworks used. Brevik said he wrote 90%+ of the game in C and the tiny bit left in C++ because of some shortcuts in it.
Brevik's own words the code consists of "tens, hundreds of thousands lines". I guess it means the code is more than 100k lines. What's funny is he said the art took most of his time. Not programming.
>>105810562people didn't write muds from scratch, they just configured open source mud servers and added custom scripts/content
>>105811084doesnr look very good desu
>>105811084This might shock you anon, but if you actually have decades of professional game programming experience, it's not exactly difficult to shit out a indie tier game engine. Also that looks like shit.
>>105810484You can learn a lot from just doing 2D, 3D isn't the problem, there is so much 3D open source code out there that you can borrow and use, going from nvidia examples to random MIT licensed game engines, even like the physics SDK libraries have their own example vulkan / etc demos that aren't very complex at all.
Raylib for example just draws 3D models, it doesn't need to be more complex than that, you don't even need LOD levels or frustrum culling if your models are low poly / good retopology (but it's a huge FPS benefit if you did).
You are more likely to be filtered by game code, because it's a trade secret.
Good luck finding good game code in the world where google sucks, AI content farms from india are everywhere (Indians LOVE C++), and reading open source projects requires a huge amount of skill (reading other people's code is a skill you need to develop, and C++ is probably one of the most FUCKED languages in terms of how every project has it's own style, and every game has spaghetti code, ECS is spaghetti, monolithic entities are spaghetti, everything is spaghetti).
So uhh, make a 2d game and learn UI and saving / loading and game loop shit and hopefully you can hopefully avoid a few mistakes you made when you start on the 3d game.
You can make a 2d game with opengl easily (just have one big VBO and just draw the triangles onto it, you can look at raylib / SDL's code to see how they do the 2D api, note your VBO can't be batched AKA drawn in one call if you change textures or call GL functions which is why sprite sheets help, opengl 1.1 is EASIER for 2D but why bother), but note that SDL is more portable and since it uses DX11, it has faster fullscreen alt tabbing (opengl will flicker the screen black for half a second when you alt tab, and overlays such as volume will not appear BUT the steam overlay will work fine, this can be fixed on a nvidia control panel and set opengl/vulkan swapchain presentation mode to dxgi, this is just autism however).
>>105806327Apple chads win AGAIN
>>105811084>custom engine in C/C++ written from scratch, no frameworks usedIs this some kind of flex? Millions of people have written games just using C/C++ and assorted libraries. Game's a Windows exclusive from the looks of it so I would assume it's built on DirectX which just outright includes all functionality you need to build a complete game.
https://steamdb.info/tech/SDK/LWJGL/
Does *YOUR* game use J*va, anons?
Here's a list of 3D Indie games on steam that use SDL (likely custom engines)
https://steamdb.info/tech/SDK/SDL/?displayOnly=Game&tagid=4191%2C492
>>105811483why couldnt the dragon balls fix that
https://www.youtube.com/watch?v=CIZB4TCY4MM
>>105811483>highest peak is 1800Grim, I shan't use SDL.
>>105811500It's Babidi saga Goku, he just wants to kill people.
>works fine on nvidia
>explodes on amd
>don't even have an intel to test at all
>>105811991balatro is made in lua in love2d which uses SDL.
>>105811084>Brevikisn't he serving time in prison for shooting all those kids on the island?
>>105811109>>105811111Game dev have standard game visuals, you can make a successful and fun game with 8-bit, 16-bit, retro pixel art, etc.
>>105812618yeah and it doesnt look fun
>>105782315>>105789990Not polished yet but working demo. Pathfinding is integrated to the spatial hash. And that is integrated with the networking. Showing a spell with astar pathfinding. The spatial hash updates subscribers on collisions, and also might cause the spell to collide at said point before reaching goal point (eg rock smash there if enemy).
>>105812673what's a fun game that /gedg/ made?
>>105812763/gedg/ hasn't made a game that isn't fun
agdg
md5: 9b8034e7b7696c8d12c09a1518231726
๐
>>105812618>8-bit, 16-bit, retro pixel artThe game that was posted isn't any of those things, though.
>>105812782can't make a game that's not fun if you can't make a game at all ;)
How do you even enginedev without access to hundreds of test rigs running different hardware configurations?
>>105813057unless you're using obscure graphics extensions then your game will work the same on any system
>>105813078vksissies in shambles
>>105813078that's not true, even directx has a concept of feature levels
>>105813115I have literally tested on hundreds of systems and in my experience it is true
>>105813127In my experience writing RetroArch shaders, the same shader rarely just werkz on different vendors even if on paper it should.
>>105813152rendering mario NES sprites is the hardest unsolved problem in computer science
>>105813152well I'm talking about real games not whatever the fuck that is
Make everything a shader
https://www.shadertoy.com/view/XtlSD7
+
https://www.shadertoy.com/view/Xs2fWD
Should I use Vulkan instead of OpenGL?
I *want* to use OpenGL, but I'm afraid it's gonna be 100% deprecated soon, and that the Switch 2's SDK dropped support for GL 4.5 (which was supported in the Switch 1's SDK) should I port to Switch 1/2
>>105813198>I'm afraid it's gonna be 100% deprecated soonIt's never going to be depreciated because of how many things need it to run
You are never going to port your homemade engine to a console
>>105812959It's 8 bit graphics.
i am vulkan, destroyer of dreams
>>105813212But didn't Sony already destroy Dreams?
>>105813207>You are never going to port your homemade engine to a consoleAnimal Well dev ported his engine to ALL consoles thoughbeit.
>>105813230Yeah and you aren't animal well dev
>>105813230I don't think there's a single graphics API that works on all consoles
>>1058132307 years thoughever
>>105813236Vulkan works perfectly fine on the only console that matters (Nintendo).
>>105813272>the only console that matters (Nintendo).i dont have a reaction image for this
>>105813279For indies, yes. As an example, the creator of Axion Verge said his Wii U port sold more than his Xbone and PS4 ports combined. And this was when the Switch was already out. Xbone and PlayStation are for normies to play FIFA, CoD, and Just Dance; they don't play indies on them.
>>105813317You're talking about some emulator
>>105813323Could have something to do with Axion Verge being a clone of a famous Nintendo IP
>>105813323if you are concerned about this, you should leave this thread and start making a game in unity
We all know path tracing is the big new thing for realtime graphics but what about engine specific technologies. Whats the new bleeding edge stuff for engine dev?
>>105814121Anyone can make a 2D engine
>>1058141253D isnโt hard either if youโre willing to stop at phong lighting
>>105814121>studioslol
also, it was unironically easier to write custom engines back in the day compared to now, especially on standardized hardware like consoles
>>105814272>also, it was unironically easier to write custom engines back in the day compared to nowhahaha no
>>105814281you can have a full map and sprites moving around on the nes in a few hundred lines of assembly, now do that in vulkan or dx, the shader alone would take more lines of code
>>105814293that's an unfair comparison, do it with raylib instead
I want my engine to use phong lighting but for shadows I want to use ray tracing to avoid shadow maps entirely. Although I wouldnโt render them at full resolution. Reflections would just be cubemaps.
>>105811592> they're crossplatformYeah.... Apple says no...
>>105813198It doesn't matter since you're never going to make anything anyway.
>>105814619>but for shadows I want to use ray tracingGuess your physics PhD will finally come in handy.
>>105812468LoveVR can do 3D and is based on Love2d. Like a clone.
There is this library that can do basic 3d* https://github.com/groverburger/g3d
* I mean "basic" because it only supports .obj
>love2d, termux, some helper shell scripts and a dream
We're NGMI with this one :(
>>105814809Just install helix on termux and you are set (after building all syntax-tree and downloading luals).
You dont need anything more.
Why are there no open source /gedg/ projects? Whereโs our c++ windower to compete with GLFW and SDL? Whereโs our c++ ImGUI alternative?
Reject Vulkan embrace Opengl 1.1
When does a framework stop being a framework and become an engine? GUI tooling?
>>105814995When you grow up, get a job and move out.
>>105806341And fusion power the year after that !!
>>105811084Reminder that Diablo would have been turn based if this guy had his way
>>105814912I am not that social.
Looking at Blenderโs source code so I can copy its gizmos
>>105814121>my game>pixelshit pokemon avatarLet me guess: 2D pixel platformer that's basically a gamejam?
>>105804444Thousands of games have been written in C.
If you're thinking about using OOP for your entities, you can just have a generic entity struct that contains an enum type (player, enemy, static thing, whatever you need), and a void pointer to some arbitrary data for the type to use. Then when you update/render your entities you just switch on the type, call a specific function for each type, and inside each function cast the data to whatever you set on it for that type to do type-specific stuff.
I will rewrite me engine again... but this time in Rust :D
>>105815782>>105814125>>105814272Looked him up, possibly a schizo. He says he used to work at Unity, but then needs AI to understand basic concepts.
He also claims his engine is currently 14x faster than Unityโฆ but on my machines, his is about 20% faster, and 25% slower than Godot. He also has some serious bug, because frametimes double after 5-10s.
>>105815958theres really no reason to do this instead of using C++
>>105816186obnoxious compile times the instant the compiler gets a mere taste of a standard c++ header are a good reason to use c instead.
>>105816240Would C++ really compile slower than C on the same code?
>>105813198Vulkan is also depracated because of the descriptor crap, which was designed for cards in 2015 not 2025. The future of graphics API is the way Metal does it.
I'm finally done with the 'Create with Code' Unity tutorial. Should I do the full pathway or right jump into my own personal little project?
>>105816245if all you're doing is writing your c++ like it's c but replacing malloc with new and using classes instead of structs+functions, then compile times will be in the same ballpark.
but if you're writing "modern and correct" c++ at bare minimum you're including <memory> and <string> and you've already ballooned your compile time to an obscene degree, relatively speaking.
god help you if you start using vectors maps and lists to hold your data.
>>105816267How does Metal do it, and why does only Apple have it when the mighty Kronos Group should give us what we need?
>>105811363Where's your game?
>>105812326The way it's meant to be played ;)
>>105816267descriptors were never designed for actual cards, in the descriptor buffers announcement khronos said they were designed as an opaque abstraction that could support the edge case of shitty chinese mobile gpus without real registers so they could pretend they had registers while also supporting real gpus
descriptors were just abstractions over device side pointers and config structs in a variety of locations on real hardware
>>105815280That would have been nice.
>>105816946If Diablo was turn-based it would be a long forgotten game
>>105817204there are a lot of turn based looter games that are just as addicting, if not more. if anything the big issue with diablo has always been how awkward it feels to play for an action RPG. same issue with MOBAs essentially. something like a single player diablo that played like a good infinity engine game would've printed money back in the day.
>>105817509If Diablo was turn based it would just be another shallow 90s dungeon crawler of which there are thousands
Making it real time invented a genre
>>105817526none would've had the loot system diablo 1 did. if you took random loot and multiplied the dopamine by 4 due to party management you would've had a hit, albeit a more autistic one. I know because japanese blobbers essentially do this in first person and they're very fucking addicting.
>>105817558What do you mean loot system? You think other RPGs didn't have loot?
>>105817566affixes are a pretty unique property for loot in diablo 1 that makes all the difference. it makes the game replayable as you hunt for better magic items to strengthen your character build by killing, killing and killing until you get magic items that best fit what you're looking for. I'm also not sure what other games before it did anything similar
>>105817640Maybe you're thinking of Diablo 2
Diablo 1 was very basic
>>105817648it's not that basic upon replays. it'd also fit a turn based dungeon crawler where you control an entire party. diablo 2 expanded the idea massively though yeah
what the fuck is sdl used for, i never used sdl
>>105817744How do you draw a window?
>>105817773Ok so SDL does the exact same thing, people use it for the same reason you use GLFW.
>>105817744It abstracts some platform-dependent functionality like window creation so you can more easily make an application work on multiple platforms. e.g. you can use SDL input/output functions to read files from a directory on windows/linux, but you also can use them to read files from your APK on android platforms without having to deal with writing the code to interface with the android API because that code is already written on the SDL side and provided to you as an identical interface to the one you use on windows/linux.
>>105817816>>105817782good to know, will definitely mess around with it. thanks anons.
What code editor do you guys use? Starting to get sick of vscode's shit (aka the copilot shit)
>>105818035visual studio for 95% npp for the rest
>>105818035you can remove the copilot shit anon...
>>105818066Understood, will now use Visual Studio 6
>>105818128why not visual c++ 2008?
I was doing some chaos testing and saw I wasn't using any of my worker processes for the manager classes and pathfinding. Its gooder now.
>>105818360Now to fix something else, I am creating a new multi stage animation for the spell dynamically on each cast which needs to be cached. Killing the client with that right now.
Is anyone finding these gedg threads useful, i know everyone here is just a wannabe "game dev" but you just sit there staring at a blank screen of your reflection knowing you have no creativity and are already aging into your 40s and still downloading/writing "Engines" that will serve no purpose or place for anyone but your own satisfaction then taking the last step off a cliff. This is pointless propaganda and theres no reason why anyone should be wasting their time with this, find something more better to do trust me, because theres already things that exist to save your time and death.
>>105818544You can always just not click on the thread
>>105818557Didnt ask for your opinion
>>105818544Piratesoftware crashout moment
>>105818563Didn't ask for yours either
>>105818580Didnt ask for that one either
>>105818544>excessive seething about enginedevchadsNew copypasta unlocked! :)
>>105818595Again, Dont need your opinion
>>105818360>>105813152>>105812748thxs for posting media of actual game development
>ITT: Unity/godot/unreal peasant malding
Enginedev GODS win again
>>105818614I only see progress posts, I ignore the rest
>>105818649why did you write 'based' on your own comment?
Not a gamedev but I have a question: is there theory, papers etc for common mechanic in games like RPGs? The speech system, quests, skill/leveling etc. I mean do gamedev formalize stuff like that and publish for everyone to benefit from it?
>>105818697I am here everyday, like others. You stand out. I will laugh at you just this once. Haha.
>>105818719Sad as shit if your here everyday instead of having a job.
>>105818772How is this pronounced, by the way? I have always pronounced it as "slash thread".
Just checking that MSVC6 works before doing anything
>>105818709How do you formalize that? It's art, not science
>>105818709You can check out how other people designed something, but this would be their opinionated choices or an example of just a way. https://rsps.fandom.com/wiki/317_Protocol
>>105818709I'm sure there is books on it. Many programming courses use game systems as learning examples. You could also take a look at GDC talks of games you like. They can get quiet in-depth. I remember the talk on Assassin's Creed 3, giving very detailed instructions on how to build season and weather systems, for example.
i'm goint to make my engine to only use the CPU, no GPU nonsense. Nowadays you can do a lot drawing on the CPU. In the future GPUs will not be required anymore
what motivates you?
anime and vtubers motivate me
>>105819597they motivate you to do what?
>>105819606to work on my engine and game
>>105819597Jesus Christ. I make gamedev for God.
https://www.gamedev.net/tutorials/programming/graphics/cel-shading-r1438/
>>105820116This is outdated, use a shader
>>105819721Lame christcuck
>>105819597that's really depressing
>>105820581at least something motivates me
>>105818035Vim.
>>105819597Cute women, esp. Japanese.
>>105819597moving out, getting a better job, eventually going abroad
>>105818563>Is anyone finding these gedg threads useful...You preface your comment with an inquiry then tell everyone that you didn't ask for opinions. XX?
made a shitty UI mockup for a sims-like
I don't like how font sizes are too big in 320x180, you have little space for text
house
md5: ab44a1eaa01ee45d1f146d52e2420c76
๐
Also slapped it on a Blender scene.
Has anyone ever used a vector art library in c++? I want to make a game that is visually similar to gif.
There are libraries like nanovg and cairo but they are ancient. That doesn't necessarily mean they are bad but I'm still looking around. I don't plan on using any svg files, just code to draw shapes.
>>105819597leaving the hood
divine will
maybe finding a cute japanese high schooler to marry when im 35
And now to refactor all the sloppy shit I did to rush to this point.
>>105821933i'm rewriting nanovg in c#. drawing convex polygons is fast (rects, circles etc). but on large scenes glBufferData becomes the bottleneck, because it generates a lot of vertices and large uniforms.
>>105823401if you are hitting glBufferData bottlenecks it might be time to look using cutting edge OpenGL features from 2014
>>105823401Why do web fags have all the good vector tools? I'm almost tempted to make my game in a browser. But I want to use box2D and my game might be physics heavy and I want the performance. Plus I'm used to c++ and I want my game to be standalone and not rely on a browser or electronjs or whatever.
The documentation for nanovg really really sucks (but I guess all of them do). And I don't think it has clipping other than basic rectangle. I need that.
>opengl/vulkan
>jolt physics
>entt
Thatโs really all you need. If you canโt get something up in six months you failed and you should quit while you can.
>>105797658 (OP)I have 6 months to come up with at least 2k in cash or my neetdom ends and I have to go back to wageslavery which puts me into clinical psychosis (Almost killed a coworker cause I thought they were some entity transmitting pain into my brain and stealing my thoughts). What's the most realistic type of game I can make in that time to make that much? I can already draw 2d assets and basic behavior with raylib. Would the best bet really be something like a visual novel? Wish I could focus on the bigger ideas I have but those would take years, years I don't have.
>>105823668>Almost killed a coworker cause I thought they were some entity transmitting pain into my brain and stealing my thoughtswhat
>>105823775I said what I said.
>>105798929>senseless autismmake a post when you burn out in a week so i can tell you i told you so
>>105823819>no anti-aliasing>stencil shadowsoh mama
>>105797658 (OP)realtime raytracing isn't feasible yet right? You're just yankin my chain.
>>105823668Nigger go to church or something wtf man.
i want to make a motorcycle game in unreal engine but I am a retard.
>>105824013>realtime raytracing isn't feasible yet right? You're just yankin my chain.It is with excessive amounts of optimization. Hereโs an indie game that uses path tracing https://store.steampowered.com/app/2941660/Archean/
>>105823655it's not that that bad. i have ~200 FPS with 5000 circles. most of rendering time is dealing with buffers, though
>I don't think it has clipping other than basic rectanglei think it's possible to achieve with stencil mask.
Start of a mesh animation system. Looking forward to starting over now that I have a good idea of what it needs
>>105823819VGH look what they took from us
>>105824848Nice
>>105823834I got FLAC decoding working now
Is it really that difficult to encode an Opus file?
When drawing UI elements for a custom GUI, should I procedurally draw the elements all from a shader at runtime (no textures, just take a quad and apply fragment shaders to it, rounding it, giving it gradients, and so on), or should I just use textures?
>>105826004I use a combination of both
It can display textures but the shader has a bunch of options you can apply like photoshop layer effects
>>105826004Either and both are valid.
>>105823655Not anon, but you can compile C++ for the web as well as box2D using emscripten.
But you will need to use javascript for cleaning up certain stuff related to JS (the default emscripten html style is very barebones). And there are a lot of things you need to figure out along the way since there's a big difference between native apps and web apps (for example, testing your program through emrun may not work the same as running it on a real website like itch.io or github pages, for example most websites don't give a special cross origin security header thing which you need for sub 1~ millisecond timer resolution and for shared memory for multithreading because of spectral/meltdown exploits, you would need to host the website yourself and manually add the special header to make it work.
>>105813212Just use AI to deal with the boilerplate.
I will rewrite UE5 in Jai.
>>105827476NTA but I tried that with chatgpt and unironically the code it spat out was shit and didn't work
>>105827686>chatgptNTA but chatgpt fucking sucks.
>>105821933Just use a 3D engine and make the models flat :)
I don't understand why people say "modern computers aren't suited for vector graphics." Isn't 3D vector based? Yeah everything gets rasterized but all models are comprised of vectors.
>>105828185>Isn't 3D vector based?it's triangle based
so there's no curves
>>105827734What do you recommend then?
>>105818893Did you fucking take picture of screen instead of screenshot?
>>105824848Have you used memory pool? or just the physic engine is that good?
>>105828583>Did you fucking take picture of screen instead of screenshot?No?????
>>105827511just two more week til its released
https://godbolt.org/z/7nWM9jcb1
Verb-Oriented Programming
>>105826861Damn how are you doing that? Or are you just using shaders and stencil masking (which I've never learned to properly do :( )
Whar would be a good roadmap if I want to get into gamedev?
>chose UE5 as game engine
>watch tutorials like Unreal sensei to familiarize myself with the engine
>learn blueprints and eventually C++ coding
>watch blender tutorials
>do game jams
>make small games
Would that be a resonnable roadmap for the next 6 months? What else would you add? What are the most thorough tutorials, like the ones that go into details?
Also, any good drawing tablet for modelling/sculpting? Looking under 1k CAD
>>105830907Unity is a better choice for beginners
>>105830907>do game jamsThey are all scams and waste of time. Just make the game you want to make instead of competing against fakers with years of experience who just tweak an existing project to fit the theme.
>>105830907Pretty much what I did but I started with Unreal 4.17. I didnโt do any game jams though.
>Also, any good drawing tablet for modelling/sculpting? Looking under 1k CADUnless you really get into sculpting a tablet is completely worthless.
>>105830917If you wanna nodev sure
>Shove vertex data in a storage buffer and put its address in a push constant
>Index it with VertexID, bypassing the need for any kind of attribute descriptors
What's the catch this is easier than OpenGL
and a ching chong to you too buddy
>>105818544You can't even write english properly. Kill yourself, low-life faggot.
Learned how to do gradients in glsl
>>105832205You forgot something.
rounded corners, woo!
>>105832313kek
>>105818544It does annoy me when people enter a creative field with no real ambition or goals in mind. Clearly they think this is some get-rich-quick racket and and I don't want to support these people who will only churn out slop.
>how does it personally affect youYeah maybe it's not worth whining about but the world would be a slightly better place if there wasn't so much shovelware. And it feels bad when I waste effort answering their questions and giving advice. Makes me want to give up helping people.
finishing touches
very frutiger aero esque, very nice
Is there any way to make compiling and handling libraries/packages in c++ not such a bitch? I use vscode and they have generators for makefile boilerplate but I still have to manually add libraries and folders and paths. I've never had to do this for any other language, it usually just knows. And the run button never works the way I want it to. It only runs the current open cpp file. I have to type 'make' and then './exe' in the debugger every time I want to test my game.
What image editor do you guys use for textures and UI elements and the like?
>>105833185Krita. It's the only image tool on Troonix that doesn't suck fat major fat balls. It does take some time learning, though.
>>105833017>make compiling and handling libraries/packages in c++ not such a bitch>makefileBest I've seen is to just have a local vcpkg for your project and -I/-L the install dir
Highly recommend taking another look at CMake though if you haven't in a while. VSCode support for it is especially helpful.
>>105833017yea use cmake and find_package with pkgconfig support optionally with a package manager like vcpkg and not make like a boomer
usually it's just as simple as find_package(SDL3 REQUIRED) then target_link_library(buildableThingName PRIVATE SDL3::SDL3)
the only pain in the ass is that there's no enforced naming conventions for the fake library you link to which sets up linking to all the real package libraries, finding all the headers, paths, and binaries and it's not even required
alternatively i think meson has proper integration with the conan package manager
>>105833017on linux the package manager is good enough for the distro you use.
but on windows you would just use vcpkg, mainly because it copies the DLL's to the exe (if you only point includes it will not copy the DLL's for you)
also stop using mingw, it doesn't have address sanitizer which is the only debugging tool you need, warning and compiler built-in's are half pointless.
if you care about warnings as a way of enforcing style, I suggest using clion which is free for the non-commercial use license (it has every single warning you could imagine and it's annoying, but you can turn each one off), and in theory it has cmake automation stuff but I have not used it much (like add a new file to the cmake project).
Vcpkg classic mode uses less space on your filesystem since libraries (SDL) can easily add up to like 100mb+ per project with the manifest mode.
I use cmake presets to add a asan build, but I think clion has it's own project format I think? (It still uses cmake). But the preset file is neat if you want to switch between clion/vscode/VS seamlessly with the same folder structure (I tend to need to do a clean build when I switch).
I personally use address sanitizer only for the code I build, but vcpkg does have the option to build all the libraries with address sanitizer if you use a vcpkg overlay port.
You also need to set a global variable in advanced settings -> global enviroment variables to enable JIT debugging with asan ASAN_VCASAN_DEBUGGING OR you could make asan create a core dump ASAN_SAVE_DUMPS.
Also if you really hate msvc due to the flags, you could in theory use clang-cl, but it doesn't work with address sanitizer with vcpkg because vcpkg will always build debug libraries with incompatible flags on a debug build for clang-cl (also clang-cl asan wont work with the debugger, it will just exit the application).
also the default debug cmake settings for msvc will give warnings for address sanitizer due to incompatible flags (it still works).
Oh yeah we're going places
>>105829286that's like html canvas clip(). it renders polygon into stencil buffer.
nanovg uses this technique https://web.archive.org/web/20190216142654/http://www.glprogramming.com/red/chapter14.html#name13 so it already renders polygons into stencil buffer. the trick is to use stencil bitmasking features (a combination of glStencilMask() and glStencilFunc() mask parameter) to keep clip mask in stencil buffer while also using it to render polygons.
at
md5: a4acc5d028760eb8e2f936af7e09e368
๐
thats how i do it too
>>105808142>something like raylib for common lisp would be good thoughnta, how did you predict my project?
>>105834499Conditional shader compilation is common in the industry. It keeps render pipelines nice and tidy
>>105834499I was in nay camp until I was able to reduce 30 shaders down to a single one with some #ifdef blocks im thinking yay
>>105824815i tested with 5000 stars and perofrmance drops to ~90FPS.
it's OK to render GUI, but it's really not suitable to use canvas to draw every game frame from scratch. some sort of rendering to texture caching is needed.
>>105833241What I really liked about exploring Krita for the first time was how reasonable everything was, "filter layers wow very cool", and then you click on the little teensy brush editor button and it's like Alice in Wonderland falling into a Bosch painting of ZynAddSubFX.
>>105829121Looks like it will end up being a forth, but at its current state it has punctuation cluttering the syntax.
this AAA motherfucker just said it takes 6 WEEKS TO FIX A BUG WHAT THE FUCK
https://youtu.be/2oTyi8EKrTo?si=vcpeUZbtwHn1PYZ9&t=42
no wonder these companies employ a thousand people and produce slop.
>>105836976>why does it take a long time to fix bugs caused by complex issues??? that doesn't happen in my indie 8bit retro platformer!You have never worked on a large project.
>>105836990I have, but it's Godot. So that probably disqualifies me. Gdscript is so fucking easy and telling an AI to spam debug statements throughout your code just makes it even easier.
>>105836990>You have never worked on a large project.this
the rage-fulled /v/ misconceptions of the game industry are insane