6502 assembly edition/gedg/ Compendium: rentry.org/gedg/gedg/ Wiki: wiki.installgentoo.com/wiki/GedgIRC: irc.rizon.net #/g/gedgProgress Day: rentry.org/gedg-jams/agdg/: >>>/vg/agdgRender bugs: renderdocRequesting 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 tagsprevious:>>102479649
anyone tried using llms for npc dialog?ideally some embedded solution without calling an api over internet?
one day I'll retire early and be able to dedicate my weekdays to engine deving
>>102535305sometimes when I dont have any work I just work on game
>>102535302Player: How many r's are in word strawberry?NPC: 2. <insert strawberry icon here>
>>102535302Not really. I downloaded a local model and it was a couple of gigs.
>>102535931>iconit's called emoji
>>102536045ok zoomer
>>102536053And?
>>102536045rendered as []
>>102536045I hate "emojis". They're just shitty useless icons.I deleted Dicksord (aka Pisscord) in 2018 because of images and "emojis", even tho you can disable them.Used IRC before that too, but after that, using IRC exclusively, and I email with few dozen people regularly...> Verification not required.
>>102536131>>102536053Ok boomer
>>102536045it's called an emoticon, zoomer.
>>102536219>screenshotwait does the MSN client still exist
>>102536281no it's because of the fucking webp virus
>>102535305You'll be too old then frogman, not to say that you can't try, it's just that you will be dead before you have time to finish
>>102535302This guy was doing it, but looks like he gave up. It doesn't work anymore.https://dantescowboy.com/
>>102535302I did try them for novel characters. Full sillytavern setup with character cards, setting books, factions, character relations, examples, and as much tokens as my GPU would allow. Result was complete garbage: stilted, empty dialogue between bland characters that didn't resemble the input one bit. The ambitious street orphan become a humble noble serving his worst enemy, who had lost all charisma and turned into an exposition dump. Another time I feed it an unfinished 300.000 word novel. It spend most of the time regurgitating the exact text with minor tweaks, like changing tense or character names. In my experience there are several massive issues: You have no proper way to set a personality or keep it within the bounds you provide, so you can only use it when you have literally no idea where to go with a character. But even then, it simply lacks any assertieness because the base models are trained to be the friendly helper, so it will never make a decsision, just prompt you for more input.The one time I did manage to produce emotion for a character, the AI got randomly fixed on insulting me. It just produced a neverending stream of new character that hurled the same slurs at me, but without going anywhere like escalating to violence or making a threat.And then you have context length: the more info you provide before/the longer a covnersation goes on, the less coherent it gets. How much usable conversation you get is directly tied to your hardware, I hope you've got a x90 card or a very new CPU and lots of fast RAM.So either you only use it to bounce off ideas, or you get good enough at the tech you can fine tune it on your favourite author and reproduce their writing style.
>>102536467I'll probably be retired by the time I'm 40 desu (in 6 years) if not earlier
It's another voxel episode
>>102537458very nice
>>102537458Is that in Vulkan, or OpenGL? I'm impressed by the vertex / index count to be honest... Also, what GPU do you have?
>>102537516isn't most of that trivialized by instancing and culling?
>>102537516Metal, actually using a Radeon Pro 560X with a MacBook Pro. I've created a high level rendering interface - I've only written the Metal backend so far. I'll implement Direct3D and Vulkan next probablyThe API for my engine is pretty nice I think. It's a little like Bevy, but more light weight. I can render arbitrary Mesh data with a Handle<Mesh> from the asset server created via the renderer, and a Transform component.
>>102537516you can get large amounts of voxels with high vert count through LOD and frustum culling
>>102537566Yeah Anon, but I have ancient integrated Intel GPU, which has OpenGL support, incomplete Vulkan support, and that's it.For example, I can't play with pushing too many descriptors, mesh shaders, texture atlases larger than 4k*8k, and many more thing...>>102537690Okay, you have Mac and good GPU, you're rich. If you decide to use Vulkan, you can follow many many Vulkan C++ tutorials, or:> https://gitlab.com/xolatile/xulkanUse my XCB+Vulkan wrapper, it's simplistic in nature, but it already has depth buffer, indexed drawing and 3D unused code.>>102537716As Anon above said, sure you can, but that work needs to be offloaded somewhere, either on the CPU or the GPU...And I'm humble (read: poor) third-worlder who enjoys using simple programs on ancient hardware. I can't playtest that game.
>Working on one of my projects>use stb>I make sure all the git submodules are set to a particular versions for the sake of consistency>syb has no tagged versionsWhy is "nothings" like this?
>>102538085You're supposed to download the header files from the repo individually as standalone files
>>102538085Because Sean is based and worked in the industry at a time where version control barely existed and git was nothing but a schizo murmur in Linus' mindI just copied the relevant headers to my project in a dedicated folder with the license and committed. He doesn't change his stuff much anyways
>>102538085I use CPM.cmake for stb:CPMAddPackage("gh:nothings/stb#git_commit_sha")target_include_directories(${PROJECT_NAME} PRIVATE # ... rest ${stb_SOURCE_DIR})
CPMAddPackage("gh:nothings/stb#git_commit_sha")target_include_directories(${PROJECT_NAME} PRIVATE # ... rest ${stb_SOURCE_DIR})
>>102538111>standalone filesI have pure, unfiltered autism. Once I started using git I would feel uncomfortable when it's not around. When I was first learning OpenGL years ago I felt uncomfortable using glad because you just downloaded the files from a generator (the generator itself has a repo though).>>102538133>Because Sean is basedLets not say something you can't take back.>He doesn't change his stuff much anywaysYeah, the programs are already complete.
>>102538085a tag is a commit hash anyway. what's the issue? Why is using a tagged version important? Is the current master branch latest commit works? Yes then that will be your submodule anchor.
>>102538189its not actually a big deal for me. I was just making a joke about my autism. I know how submodules work.
>>102538204Are you submoduling your compiler too?
>>102538187>Lets not say something you can't take back.he worked at LGS on Thiefit doesn't get more based than that
>>102538085Just use Xmake and save yourself the headache.
>>102538187>When I was first learning OpenGL years ago I felt uncomfortable using glad because you just downloaded the files from a generatorlmao, same
how do I do predictive fps networking without re-simulating the entire physics engines 8 times up to the present every update when another player changes controls
How do you have a multiplayer game playtested when the only person playing is you, the developer, or you're too socially anxious to get other people to playtest?Should I just not make a multiplayer game? Granted, I haven't even started yet, but I was brainstorming a possible multiplayer game idea (with player-owned servers ala minecraft or quake servers) and realized that if I developed it I'd need to have playtesters.
>>102540811AI agents
>>102540113you don't simulate everything, you simulate the bits that actually matter (e.g. transform). You have a source of truth somewhere so that's what you compare it to.
>>102538187If you don't do version control by copy and pasting folders you aren't a real game dev
>>102535264Btw, this is the new wiki: https://igwiki.lyci.de/wiki//gedg/_-_Game_and_Engine_Dev_General . The fag that owns the installgentoo domain pretty much abandoned it and refused to share access to other members that helped him with the site.
Has anyone tried panda3d? It seems minimal but good enough for a small game
What is the most optimal portion of frametime a graphical renderer should take up?Let me explain:If you want a 30fps game, each frame needs to take ~33ms to process (processing doesn't just include rendering, but also sound and game logic). For 60fps, 16ms. How much is the max amount of ms in 60fps games (for example) that a renderer should take up? I'm curious. Maybe 4 or 8 ms?
>>102541312Real chads make and use a script that zips up the game's source tree into a zip file with a timestamp for a name each time they make a major change to the code>>102541416idk but iirc toontown online used thatIsn't panda3d python?
>>102541467you can take up almost the entire 16ms if its pipelined (ie rendering frame n while game logic is running on frame n+1)
>>102541467It depends on the game and how complex the rendering isMy indie 3D game takes less than 1ms
>>102541532>(ie rendering frame n while game logic is running on frame n+1)That sounds horrid.
>>102541476I read that as troontown lolIt's python or c++ which seems good. Prototype in python then juice the performance
>>102541556its pretty standard
>>102541393Oh good, i also see it in the sticky now too. The next guy who makes the thread should add it. Thanks a million for sharing this info, anon.
>>102541578that standard adds a frame of delay to your game
>>102541744it largely doesn't matter for pretty much any game since frame inputs and frame-perfect mechanics are measured in multiple framesits been a mainstay of game dev ever since multi-threading became a thing on consoles (~ps3/360), and that's when the "only single-core performance matters" meme diedif that bothers you you would shit your pants at how doom eternal handles things
>>102541777It makes games feel like shit
>>102541783if you can actually perceive a 1-frame delay at 60 fps you should probably go sign up for the majestic 12 [spoiler] in a body bag [/spoiler]
>>102541805Anyone can, do a test and see it for yourselfIt's still playable but it's a tradeoff, a tradeoff you don't have to make if you aren't making an AAA game
>>102541805lol you totally can. at 30fps one frame is unbearable, at 60fps it's noticeable but playable.
>>102541818>>102541849I hope you've turned off double and triple buffering if this is a problem for your users
>>102541868It's not a binary question of "this is fine" and "this is unplayable" but every frame of delay you introduce makes your game feel more sluggish, there's no reason to do this tradeoff it you don't have a large CPU workload
Renderdoc is so comfy
Jesus christ nocode gaymtards are arguing about double buffering being "sluggish" as if there aren't many other things that are even slower, this thread is larping retard general
>>102541923Add a frame of delay to your mouse cursor and tell me how it feels
>>102538187STB is based and you're a gigantic retarded faggot.
Hey guys I want to fuck around with the Vulkan API in a real game and see if I could write some custom optimizations. The Vulkan layer system is awesome. I thought Pillars of Eternity II would be a good candidate because it has a native Linux build but then I remembered it was released in 2018 (uses OpenGL) after renderdoc took the capture. Does anyone have any suggestions that can run on an honestly kind of crappy PC? >>102541911true
>>102542504doom eternal is vulkan balls to the wall and runs on a steam deck so I'm sure it works fine on your machineit may very well be one of the most GPU-efficient games ever made
>>102542521Seems fun but I don't think I could optimize what they've done. I chose pillars because I experience lag and stuff. But maybe I can still take a look to learn from the professionals.
GENTLEMENI HAVE DONE ITi barely understand even half of what I fucking did BUT I DID IT
>>102542693No gradient?
>>102542693if position is already a vec4, you don't need to do that. you can just do gl_Position = position;
>>102542693>first opengl triangleYou took a great step forward m8. Keep up the great work.>>102542704No Vulkan?
friendship with glsl is overhttps://github.com/shader-slang/slang
working on mesh simplification for LOD.once I get this single chunk able to cycle through LOD levels in a nice looking way, I'll implement the geometric clip map.
>>102542693God bless, keep at it.
>>102541416I've tinkered with it a bit.It's straight forward, and runs reasonably well for what it is. I haven't tried to really push it though, so I can't speak on the upper bounds of its abilities or optimization.
Added some icons to the editor today, and yesterday I also added a very unoptimized palette editor which loads the vga palette by default. The runtime also now gets patched with the data from the editor but its not currently using it for anything as I need to refactor some of my code on there before I'll be comfortable
>>102535264Thanks doc
>>102543420renderdoc best doc
>>102542693Congrats.
>froggy is project hopping once againcris got serious competition now.
>>102541744Anon, how do you think game loops even work? it's always input>update>render, sometimes input is moved to the last position, what do you think happen when you press a button and the program happened to already be past input process function? Everything is sequential, even with multithreading, to be able to observe something forces it to be sequential by design. And what do you even think double buffering is? It doesn't help that literally all multiplayer games have builtin minimal input delay so the host doesn't get an advantage over the distant players. Hint, that delay is not 1 frame. You either don't know or you forgot that you can fake immediate responses since forever, immediate animations with little to no buildup, using immediate sound feed back while the actual action is still slowly going... That's literally how RTS and fight games are made to this day.
>>102545341Don't confuse network latency with network latency, these are two different thingsYou can hide network latency, you can't hide render latency
>>102536219no, emoji was the correct term there.emoticon and emoji are two different things.emoji is a small digital picture ( eg. ). emoticon is a sequence of symbols ( eg. :-D ) - not to be confused with kaomoji.
Getting the global cursor position on Wayland is such pain
>>102545353>Don't confuse network latency with network latency>network latency>network latencyThere are tons of latency between the moment your brain fires a response and the actual result on the screen.I have shit experience with all wireless inputs, that's a builtin latency because physics. I also noticed input latency when using my drawing tablet as a mouse, report rate is like 130hz, it is noticeable because mouse movement happens to be the fastest continuous movement an input can generate. What about output latency? I've tried using my normal tv as a second screen and you can spot latency from a mile, why is it noticeable as a computer screen but now when you're watching movies? I won't even bother with video graphic card latency and how it can desync with the CPU latency, or how CPU scheduling can fuck you up randomly.You know why shit like Live and Stadia failed? Starlink (to a certain point)? because physics are a thing, the CPU running a sequence of instructions are a thing. USB devices already have a somewhat fixed report rate, this isn't the chad Ps2 input that straight up interrupts cpu execution.Don't forget shit like input buffering because otherwise you'll have input dropping or out of sequence input, which is imo way worse. The thing about fps is that it doesn't need to be anything high, it just needs to be consistant, a stable 30 fps game will always be better than one that hovers between 10 and 400. Your brain can adapt to response time. Old RTS played as low as 15 stable fps and it was ok, people still play AoE to this day.This is why I don't fall for 144hz memes, 16,33ms per frame is a decent time for a game, 6,94ms however is very low, considering that even the fastest shader will take at least 1ms, and that's ONE shader for rendering only. Even with parallel execution you're still fucked by syncing anyway so there is lower bound.People should hate checkerboard rendering and dynamic resolutions that goes as low as 480p instead.
>>102546226You wrote a lot of words but lower latency is still better than higher latencyRTS games dont run at 15 FPS, thats the logical update rate
>>102546259>but lower latency is still better than higher latencythat's a useless truth in the void, the discussion was how "1 frame delay for input is bad" when the counter point is "1 frame of delay might be the lowest latency you can ever hope to have in practice, and that's assuming all typical sources of latency are somehow in sync when they're actually not".
>>102546432The point is one frame of unneccessary latency is badThe counterpoint that latency already exists is irrelevant
>>102542693You are ready for Vulkan
>>102546460>unneccessarythat's a useless word tho, it's like saying unnecessary "work", implying the devs are actively injecting delay for the sake of delay.the counterpoint is doing any kind of work at all is bound to introduce at least a frame of latency, because the gameloop is actively polling inputs, it can just miss them. we'd have a different conversation if we still had interrupts based input devices, where you can actually chose to immediately show the result, then any latency would be the fault of the rendering logic and output device alone.
>>102546621
>>102546621Devs are introducing latency to buy more computing power via multithreadingIf your game does not need this computing power, then you don't need to introduce this latency
How are you guys learning Vulkan? I'm having a hard time with it...
>>102546813I followed Vulkan tutorial dot com by some Alexander guy back in 2017-2019, I remember dropping it once to work on some text adventure game, then coming back to it.Right now, I'm writing a Vulkan wrapper in ANSI C, with some XCB, aiming to make simple and de-bloated Raylib-like header-only library. Pausing it soon, wanna work on other things.
>>102546729>Devs are introducing latency to buy more computing power via multithreadinglol, no. Syncing multiple threads is just problematic and slow by multiple orders of magnitude. There's a big warning about multithreading, it's that "only use multithreading when the algorithm is long enough that it outweigh all syncing latency". I guess the second footgun is cache contention by multiple threads, which falls in the category of "skill issue", can't say the same about syncing tho because the system kernel and scheduler are the ones fucking your shit up.>If your game does not need this computing power, then you don't need to introduce this latencyagain, why would devs do it if they don't need it? they do it because they need it, you're introducing a chicken/egg paradox and speaking in the void.
>>102547114You just jumped into a discussion and you have no idea what you're talking aboutIt's called pipelining. You calculate some state in frame 1 on thread A, then that gets passed to thread B on frame 2, then that gets passed to thread C on frame 3, then that gets passed to the GPU on frame 4. You can fully utilize all your cores, but you introduce frames of delay to do so. This is what AAA engines doYou don't need to do this in your indie game
>>102547169Sure, give me a link where anybody in the whole AAA industry have a 4 frames delay between GPU thread and the rest of the system, hell even 1 frame delay.Insomniac, Ubisoft and other AAA studios already have talks about their concurrency models, I watched them, feel free to point where they do that stupid shit you said.
>>102547416Unreal does pipelining4 frames was an example
I love it when /gedg/ argues
>>102546054>Wayland is such paintrue
progress
>>102543122Cool!Procedural game or something like that?
>>102547986This is the most soulful thing I've seen after coming back here from Heaven...
How big of a performance hit would it be to add slopes/wedges (right angle triangles, basically, and corners) to a blocky voxel game? Obviously there'd need to be some additional processing during world/chunk generation to figure out where they should go (edge detection on the noise map?), what orientation they should be in, and where they should be replaced with corners. I'm not really sure how you could do the latter two in a performant manner without checking every slope block to see what sides touch a solid block or other slopes.
>>102548113I think you might be looking for something like this, but in 3D -http://www.boristhebrave.com/permanent/24/06/cr31/stagecast/wang/intro.html
>>102548113I do this. along with the block data I have another array with flags about the blocks that determine what shape the cubes get tessellated into. you don't have to check anything.
i really want to get into emulator development. Where do i start
>>102548151Thanks! This is very helpful.This would actually work out of the box if I was only planning on 4 possible orientations of slopes/corners. I'll have to figure out a 3d alternative though since I want 12 directions (hypotenuse facing up, with 4 90 degree rotations around z (up/down axis); hypotenuse facing down with 4 90 degree rotations around z; and hypotenuse facing "sideways" with 4 90 degree rotations around z). This also results in 4 corner types - inner, outer, a 3-way corner for when upright/upside down slopes meet sideways ones, and a tetrahedron as a "cap" for the triangular sides of sideways slopes.
>>102548010YeahI'm making 3D Dwarf Fortress.
>>102548498You stole my idea (but not really since mine is less of a colony simulator and more of a survival game, like minecraft but actually difficult and with functional architecture i.e. if you build a castle it will actually protect you from attacks rather than just looking cooler than a wooden hut).How do you plan to deal with underground views? I was initially thinking of something more like DF but I couldn't conceptualize how that would work/look especially in structures made of multiple z-levels.
>>102548655Mine is not a colony sim either. It's Adventure Mode + Legends Mode + a simulation mode.So I won't have to deal with that underground view problem either.But yeah, I'm not scared to say 'I'm making 3D Dwarf Fortress' because I know that your game is going to look different from mine. There's so much more to it than just '3D Dwarf Fortress'. 'Dwarf Fortress' could be the genre at this point.
you are BOTH copying my isometric block game idea.
>>102547986Any details on the U, scratch?, MeGUI? or something else?Cheers
>>102548012>after coming back here from Heaven...Welcome back
>>102548725Don't worry, mine will be 1st Person mid-poly. and I'm not using blocks, I'm using naive surface net voxels. ( Smooth Voxels ).>>102543122
>>102548725but will yours have slopes and parallax maps?
>>102548725>isometric block game ideaare you that guy by any chance?https://www.youtube.com/watch?v=6KHs0HhtIwUif so please upload again.
>>102548808The UI is all from raylib
>>102549086Actually speaking of this, I wonder how exactly I could implement parallax/bump mapping. I want to give the blocks depth and detail, but doing that with a model would be too expensive (and greedy meshing wouldn't work). This would be trivial with the default lighting system of Unreal, but when I eventually implement voxel lighting I'm not sure how I'd keep the effect. Would parallax even look good with 32x32 textures?
>>102549265no, I just check depth to fade out geometry blocking the camera and render the backfaces as solid black. this guy isn't as smart as me and gave up.
>>102549356Do you have a screenshot I'm curious on how it looks?
After a week of not having access to my main PC due to technical issues, I feel reborn as a gamedev.I've come to the realization that I don't need to focus on graphics and assets shit for the start of development. If I want to see something right away, I can just use basic shapes as placeholders. All in all, I just need to focus on gameplay and design before graphics and engine structure. Function before form.And for the longest time, I always fretted about how long it would take to make a game. But after seeing some games come out recently that took like 15+ years to make (there's an amiga game that took 30 apparently), I've realized that doesn't matter. I don't have to rush things, I don't have to speedrun game development, I can just go with the flow. It's ok if the first day of development is just spent setting up an SDL2/OpenGL window.And what if my "ideas are not good enough"? Screw it, part of the fun of development is seeing what works and what doesn't. I can just prototype shit and come up with ideas as I go.When I get my repaired PC back later today, I will put all of this knowledge to use.https://www.youtube.com/watch?v=g3i8-HgMImA
>>102549405You're one step away from realizing ASCII and software rendering superiority. Just let go and embrace the 'tism.
>>102549405 (Me)And also, I can just start a project with the bare necessities and add stuff as I go only when it's needed.I don't need to add a fuckton of libraries right away.
>>102549405>anon is getting enlightenI'm proud of you! You have to live it.
>>102547986hnnng
>>102549597>me with your mom
>>102547986>>102549597This should be the next OP
>>102549629;)
>>102550043MODS!you can't show that many rods on a blue board
>>102549465Why software rendering? Why not make use of the GPU's power?
>>102550043All of that with Raylib? Pretty impressive.
>>102550643Software rendering was good enough for lot of things 20+ years ago and it's even better today with SIMD and the shitload of cores we have.Using the GPU also makes your program an order of magnitude more complex so if you don't actually need it things are much easier to program, debug, and also port to a wide array of systems and hardware.
>>102550998I'll admit the simplicity of it was always very tempting. for example, using Vulkan, I have to watch out for GPUs that don't support it.
>>102551043Indeed that's a huge problem. For one of my work project we were going to use an OpenGL canvas for render some maps but we quickly reached a few pain points.>OpenGL is basically deprecated on iOS and macOS>OpenGL ES 3 support was a shitshow on mobile and still is in 2000+20+4 if you support cheap devices or some older flagships>WebGL is an ES subset without all the goodies but some are extensions which aren't supported everywhere>if you say fuck it and target OpenGL ES 2 and desktop equivalent to max compat you don't have compute shaders and have to write voodoo tier shaders to do the same>gotta link extra bullshit so more ways to creatively screw up when buildingWe decided to do all that on the cpu and behold! It worked all fine and smooth including on old fucking e-waste provided to school teachers. So don't underestimate software rendering if you're making a 2d game or low poly 3d one.
Now I want to try software rendering. But I don't want to put my project on pause while I thinker with that. So little free time...Maybe during the Christmas holidays, we'll see.
>>102551429I feel this. So many side project ideas but I just end up workin on my main project. Which is good, but you really realize that there is not a lot of time in the day.
>>102548355I don't think I'd use tessellation. My plan was for there to be different models for each block shape (full block, which is just a cube; slope, which is half a cube/a right angle triangle; inner and outer slope corners; a three way corner for joining sideways and upright/upside down slopes; and a tetrahedron for "end caps"; also a "slab" style block which is just a half-height cube), and the model used depends on the block ID (as well as another variable for its rotation state, should be 12 per block type I think). Though I could add more flexibility if I had three variables - block ID (likely 16 bits), rotation state (likely 4 bits), and shape (also likely 4 bits but I might be able to get away with 3 depending on how many unique shapes I end up wanting).Of course all of the above is treating the models as 3d variations of cubes. What I'd end up actually doing is having each different shape of face be a plane, which then get stitched together with greedy meshing.
I need ideas...Where are all the idea guys when you need 'em?
>>102551873the idea guys (nodevs) general is over there >>>/vg/agdg
>>102551897kek
>>102547428That's why it's shit
>>102551242>OpenGL is basically deprecated on iOS and macOSlol good fuck mac users and phonefags.the only people who play mobile games are children and women, and they have shit taste so they will never buy a good game anyway. hence why all mobile games are slop.mac users don't play games because that isn't, like, PRODUCTIVE, bro.
>>102551242>OpenGL is basically deprecated on iOS and macOSITODDLERS BTFO
>>102546958>xuxuxuCute
Metal is so gay lol
>>102551964>>102553434Imagine if a red shiny button just materialized in front of you. Pressing this button would cause any program compiled from Objective-C to destroy any host machine it was run on. Would you do it? Would you make the world a better place?
>>102553765Why stop at the host machine? Go for the host too
>>102553765In a heart beat.
So my laptop's battery got bloated so hard it cracked the frame, I tried to uninstall it but it got punctured an caught fire instead. had to evacuate the room house for a couple of hours. Luckily I saved my laptop's SSD. Imagine not having backups, hahaha.....
Is there any *decent* 3d game engine written for C that is open source and also compiles on FreeBSD? I have 0 interest in doing things completely from scratch, but I still want to learn. I made a 2d platformer in C with raylib, but is there anything similar for 3d? >so far I foundioquake3 but this is the hardest method involving modifying an existing game source codeDarkPlaces which is a ioquake3 fork and dedicated to standalone games off the Quake engineIrrlicht but it is a C++ engine, but still exactly what I'd want
>>102553978kohi
>>102550998>>102551242This guy literally visits this thread once a month and makes up fake stories about software rendering being good
>>102551043Yeah a lot of programs had software rendering fallback. Did you know that QT had an openGL emulation dll that uses software rendering? that's how I used to run openGL 3 games on an ancien openGL 1.4 that doesn't even support shaders. Funnily enough that was the only way I could run Godot 3.0, I was making a bullet hell at the time, as long as I use a small window it ran actually fine, more than 60 fps even.When I was doing some tests on SDL2 backends, software rendering backend had the same performance as directX until you used a big screen, so any old resolution or pixel game was fine. Also, apparently, software rendering doesn't consume laptop battery at all, it's actually power friendly. I mentioned QT because it's emulating under the hood, people might not even realise they're using CPU and not GPU for normal GUIs, hell, Excel sheets are 100% CPU rendered, the devs mentioned how autistic they had to be just to fully replicate the native windows UI look with custom rendering.iirc X11 uses software rendering too.
>>102553978>>102554211I been thinking that perhaps I could use WASM? I know very little about web development beyond hosting my own static site but I think I may instead develop a 3d game for the browser. I only intend to make a simpler shooter ever less complex than first quake.
>>102554428You arne't going to find any 3D game engines written in WASM
>>102554428wasm is for troons but if you wanna do that you can use it with webgpu
>>102551242Interesting, what were you making?
>>102553978sokol is a more advanced raylib, it works on browsers toohttps://floooh.github.io/sokol-html5/
>>102554544looks nice but why not just use bgfx then? I want something a bit higher level that would handle loading models and animation for me and let me add effects like fire or smoke. So far only Irrlicht has this, but it is C++ and I would prefer to use C if possible. I want to make a game from scratch but this is in my free time so I can't commit the time necessary to do it low level. I guess I'm really looking for a C 3D game framework.
>>102554621There aren't any good game engines in plain C because there's no reason to use C over C++
>>102554621why do you care about it being C if you aren't willing to go low-level anyways? you can just use C++ as if it was "C with classes"
Is a game engine a good portfolio piece?
>>102554621>bgfxit's a c++ shitshow that I never got working a couple of years ago, Sokol is built in actual c and just werks like raylib. did you not scroll in the link? it literally has 3D skinned models with animations and all.
>>102554666I have literally picked candidates to interview because they had some cool game engine stuff on their resumes/githubs. Not because we do anything related to gaming but because I fuck around with it in my spare time so its a fun topic to ask questions about>oh yeah anon jr how did you implement that occlusion culling?>how did you make your audio thread lockless?
>>102554621perhaps I'm being lazy? I could still use OpenGL and pair it with Assimp for models/animation and use a Math+Physics library. But how easy is it for me to make a 3d model with animation I could load and play animation say "run" or "walk" and have a gun model follow my characters hands? I played with Irrlicht a bit and this was one of their selling points of "children" following nodes on the parents (i.e. the gun follows the hand on a player model through multiple animation cycles etc.)you know what, don't reply to me because I'm over complicating opengl when learnopengl.com/Model-Loading/Assimp exists
>>102554666Cool.>oh yeah anon jr how did you implement that occlusion culling?>how did you make your audio thread lockless?Umm.. uhhh... I haven't gotten into these yet...
>>102554666yes
>>102554765Assimp only loads the models for you, it doesn't give you a scene graph or a renderer or an animation system
>>102554922Shit. meant for>>102554709
>>102554765oh nevermind it's not as simple as I thought, while Assimp would handle loading the data and joints I would still need to interpolate it myself.>>102554638I made a move from C++ to C when C23 got support for fun, and I liked it a lot. But yeah, I'll go back to C++ and use Irrlicht and once I get the hang of the basics of 3D I will try to do things with OpenGL and Bullet from scratch.
>>102553765What happens if I press it several times in rapid succession?
>>102554994>>102554922that's fair desu, they're advanced topics that most people don't touch until much later
>try to figure out how something works>every link you click on is some retard linking the same 2 articles/videos of another retard barely explaining the basic concepts of itwhats her name
>>102555582scene graphs
Reworked the way objects are defined. Now the game looks inside a folder for any json file and unmarshal them to load the appropriate data. Gone are the days of hard coding stuff like a caveman.
>>102555790looks nice and neat. I know the feel of coding like a caveman.
>>102555790when you post I imagine it as Will Wright posting.
>>102555790>using json instead of lua
I have a stupid question related to game engine.Why does a game engine improve game performance?Isn't how an object is draw already a "solved" feature?Did someone come up with a new math to calculate things that make it way more efficient?
>>102558363>Isn't how an object is draw already a "solved" feature?no
>>102558363You're never just drawing "one" thing, there are many different ways to batch and group and figure out ways to draw without just doing it over and over. Then there's stuff like forward vs deferred rendering, pipelines, offloading shit like animation/particle systems to the GPU, etc. Not to mention your question is regarding rendering performance specifically, which isn't crazy dissimilar between Unity/Unreal, most differences between game engines aren't related to rendering.
>>102558415>most differences between game engines aren't related to renderingBut why every new engine version come out, they are showing off "Look, now you can render billions of rocks in game, isn't that cool?"
>>102558492Are you talking about Nanite? That's like the selling point of Unreal 5 vs Unreal 4, most large engine updates don't have anything that flashy on the rendering side. Also nanite sucks.
>>102558542>nanite sucksIs that so? I do not play AAA games, tell me more.
>>102558572Well to be fair I don't think many AAA games are making use of it right now. But in general it absolutely destroys performance.
unreal engine is for making movies
>>102558363With a game engine like unity you can do something you want to do in a bunch of different ways. Meaning that some ways of doing things aren't as fast as others.
Is there a /gedg/ discord?
>>102554496It was mostly related to ww1 and ww2 things before being deprecated in favor of a centralized web alternative. We used the map in a few ways for example overlaying and finding points of interest based on known ww1/ww2 trenches or tunnels, things that could hinder new constructions or cause collapses if had been built on top. We were also once asked to help figure out better bus lines that could cover the city more efficiently, overall it was pretty random what we did with it.
i started some very basic shit tutorial trying to learn opengl but was using the ancient version of glut so i wanted to update to something newer. just for basic learning purposes, is there any advantage to using freeglut vs raylib vs another library but just in c++?
>>102558776Dicksord (aka Pisscord) is fucking bullshit, you should stop using it, you'll notice that you'll have more time.There was /gedg/ IRC channel, I was on it, but it was pretty inactive, because /chad/ was more often here back then.
>>102559013I don't know why everyone seems to hate it?I get the discord tranny meme, but if you don't join gay homo channels whats the issue?I like the 8mb file size instead of 4 and that you can look at progress of other people on there
>>102559102>I don't know why everyone seems to hate it?They have no friends probably
rendering a 2D path how?
Finally gave my game a web version. I hope >>102173951 is happy.https://shweetmagnet.itch.io/frillrunTo keep it relevant, this game was written in C, using SDL/OpenGL.
>>102535264> they wrote a stronghold clone in love2dwhat the fuck why didn't anyone tell me about ithttps://stonekingdoms.itch.io/stone-kingdoms-rts
How hard is networking.
>>102556884ah yes because one needs to use a scripting language to define data instead of a fucking data format.retard.
>>102556533lol I wish I was as smart as Will.
>>102559638that's neat for sure
>>102550998>Software rendering was good enough for lot of things 20+ years ago25+ years ago, and even then it was inferior to hardware rendering.
Is talking about software rendering going to be some sort of new meme?Ended up spending too much time on my software renderer, never got around to making my game.
>>102560419
>>102560419How the fuck do you spend "too much" time on a software renderer? it's literally a buffer and few functions to blit pixels on it. you'd have to be literally retarded if you ever go over 800 lines, here's one done in 500 lineshttps://github.com/ssloy/tinyrenderer
>>102542693Nice work anon now it's time to grind that Vulkan 150000 LoC triangle.
>>102548415Which console?Which implementation language?There you go.
>>102560498oh my a software renderer is simpler than expected.
>>102559102>>102559411I have a lot of physical offline friends. I couldn't call someone online a friend unlike your sorry ass, even tho I know some good people online-only.
>>102560665It's not the 90s anymore grandpa, people can make friends on the internet
what is the current state of godot?
I have no offline friends nor online friends. I just dev
>>102560683everybody here is a fren, fren
>>102560679shit
>>102560701most people here are dumb children or straight assholes...
My engine is licensed under GPL3 should I switch to AGPL3 or does it not really matter?
>>102560768Using a communist license is a good way to ensure nobody uses your engine
>>102560755This is not /agdg/
>>102560775That's the point.
>>102560755would you prefer gay assholes? You fucking faggot
>>102560768Keep being based, don't change GPL into MIT, BSD or CC, because you'll get fucked over by literally anyone.I have GNU because of how bloated their libraries are and because of their Coding Style, but their license makes corpos and slaves seethe.
>>102560786fair enough, i just had a sudden urge to lament the state of the board tbhfam
>>102560755it's just banter and free bumps, otherwise the thread would die. my overall experience here is very positive. at least we don't have cris
>>102560797If that's the point then why are you releasing it
>>102560810he pop in once in a while but doesn't get enough attention for him to stick around luckily. >>102560775>implying anyone will use your engine even if it was MIT/BSDlollmaoroflroflmao even
>>102560836Well that goes without saying, most of the people asking questions in here are roleplaying
BIG GPU IS HOLDING YOU BACK WITH ITS LIESSOFTWARE RENDERING IS GOOD ENOUGHDO NOT FALL FOR THIS SATANIC COMPLEXITYRETVRN TO TRADITION
>>102560745elaborate?
>>102560775I don't get licencing for engine code, I can get behind research papers and specific technology patents, but wtf is licencing a bunch of functions? I guess you can licences the whole thing as one unit, but small specific sections of generic code?It feels so fucking weird to see a license on a hashmap or a fucking quadtree, like wtf? it doesn't help that most repos (not just engines), are basically dead and unmaintained for years, it's literal e-waste.
>>102560853You have been reported to Nvidia Corporation. A hit squad will be at your location prompty. Thank you for using Nvidia (tm)!
>>102560819I'm creating it for me, and releasing it to showcase my work. If anyone want use it or contribute to it they're welcomed to though.
>>102560886I thought you just said you didn't want them to use it?
https://www.youtube.com/watch?v=M00DGjAP-mUnanite bros... its fucking over....
>>102560906I don't, but it's out there so whatever.
>>102560931So why is it GPL? Use a source available license
>>102560947For an engine you use LGPL.For a game you use GPL
>>102560916I feel like I'm about to be enlightened...>>102560853I agree, but probably for different reasons.Would you elaborate please?
voxel engine anon I see you cross-posting on leddit...
>>102560954Why?
>>102560972it's over
>>102560980technically it's not true. if your engine is the one running the game instead of it being embedded in the game then it can be GPL. >Why?You wouldn't want someone to run away with your code and make it proprietary.
>>102561013So don't release it, or use a source available license
>>102561013>You wouldn't want someone to run away with your code and make it proprietary.Based>>102561024Cringe
>>102561033Communist
>>102561038Not everything have to relate to politics retard.
>>102561038not wanting to get fucked in the ass by big corpo is communism, now?your brain on americanism, everyone.
>>102561065I agree, which is why you shouldn't use a political license
>>102561084Who's forcing you to release your source code? Why do you think a corporation wants to take your shitty code if you do?
How comes you can partially load images on the web and show them as they're loading more details, but there's nothing similar for 3D mesh? it's literally encoding LoDs on the same mech, except the lower detail LoDs are automatically generated by design.
>>102561097You can make something like that, seems useless though
>>102561093>If you release with GPL you might as well not release it because big corpo cant use it!We can't do anything for our fellow men anymore? How brain broken are you?
>>102561112If you want to do something for your fellow man, release it without restrictions
>>102561124No
>>102561112Would.
>>102561135Doesn't really sound altruistic then
>>102561124Glow brighter
>>102561186corporations dont want your code you childish narcissist
>>102561210And I want nothing to do with their satanic cults now fuck off
>>102547986wrote your own physics engine?
>>102561227If you think corporations are going to steal your code if it's not GPL you greatly overestimate your own worth
>>102561243They'll steal it anyway if it's open source, lets be real here, there are NNs trained on GPL-ed code.The difference is that BSD and MIT cucks can't do anything about it, just as MINIX dev couldn't...Intel cucked MINIX dev hard, they could at least send him an email or something, but didn't.--I say this as someone who doesn't even like GNU or FSF. You people should stop shilling BSD and MIT.
AGPLv3 + NIGGER for max corposeething.
>>102561272Yeah you can stop AI being trained on your code if you use the GPL, good call
>>102561305SSPL is even more brutal for corpofags than AGPLv3And it has the added side effect of also triggering GPL fags because it's not compatible with their autistic demands
progress?
how can you even prove stolen copyrighted code when you can run obfuscators on it? look at Denuvo games, can you even analyse the binary for certain code fingerprint?
>>102561358>SSPL>—requiring that anyone who offers the functionality of SSPL-licensed software to third-parties as a service must release the entirety of their source code, including all software, APIs, and other software that would be required for a user to run an instance of the service themselves, under the SSPL. In contrast, the AGPL v3's equivalent provision covers only the licensed work itself.Damn that's brutal!
>>102561367No one is going to care, but usually such claims boil down to "they even cloned my bugs" or Easter eggs.
>>102561367nope, lots of games have GPL code compiled inside it
>Can't decide whether to make something like daggerfall or something like the simsDecision paralysis, I hate it
>>102561467?
>>102561467Uh... are you posting on the wrong board, fella?
>>102561465make a tactical game like jagged alliance with an isometric projection obviously.
>>102561467Would you look at that. You must be glowie from earlier.
>>102561465Literally just go to bed, think about what you want to make while you're falling asleep and then write it down before you're actually asleep.It worked for me.
>>102561525Corporations don't want your code you childish moron
>>102550748yeah all raylib but I use ODE for the physics and SDLNet for the broken online stuff
>>102558874webgpu.h is all you need (and sdl2)
>>102535264Should I replace these labels with icons?Alternatively I guess I should just shorten them.
>>102561559So, what the deep throat game you making?Or is it, bob and vagene plz saars.
>>102563806I would go with icons. But I view UI as polish that you don't need to worry to much about during development.
What are the actual barebones features you need for a PBR/"modern" renderer? I've done some previous projects in OpenGL but I keep overengineering them since I don't really know what I need.
>>102564602read a book on PBR first, or google's docs on PBR rendering that they use for their rendering framework (its the most informative manual/whitepaper I've seen on the topic that's free)
>page 9
Not much visible, but I've spent 15 hours over the last 4 days chasing vulkan validation layer complaints. Now it runs cleanly.Still crashes RenderDoc tho
>>102563827While I was in bed with my eyes closed, trying to sleep, I considered my capabilities and ambition and made up my mind to create a game like Cave Story.I then thought up an entire story that could be told in that format and when I was satisfied with it, I got out of bed and wrote it down, adding more and more details to it as they came to mind.After two hours I managed to write down everything from what the gameplay mechanics should look like to what the story is going to be, including the beginning, ending(s), twists and a "mew under the truck" secret that players will probably only discover after playing through the game once to get a hidden ending.I'm now fucking around in Godot, trying to remember how everything works.
I have a dumb idea of instead of using floats, I'd use integers scaled by a fixed power of 10, let's say having 6 numbers after the decimal. Why you may ask? deterministic cross platform "float" arithmetic. It should work for 2D, I know that much because literally every old nintendo game used another int for the decimal fraction because old CPUs didn't even support float point arithmetic. I don't know how much it'll ruin 3D tho. All of this just for networking to work with only sending players inputs and simulating them, that's the ultimate compression. imagine sending a literal int representing a bitset of a player's input with some extra data of course, how can you do better than this?
>>102566389For general 3D or even 2D linear algebra, as far as games are concerned, you will probably do fine using 32-bit integers bit shifted by 8 - so you'll get a range of -8M to 8M with a consistent 1/256th precision. If you bit-shift by 15 - you will get a range of -65k to 65k and 1/32k of precision.That will entail significant mind overhead and you'll need to write a custom math arithmetic lib. Unless you are targeting a really, really ancient architecture ( like - a 30-year-old arch ) then sticking to floats is probably a wiser idea. Anything past year 2000 probably does float and integer arithmetic equally fast.
>>102566389>I'd use integersSo you're going to use 32-bit integers to simulate a value even less accurate than a 16-bit float?I don't quite get your logic here.
>>102566559NTA - Its called 'fixed point arithmetic' and was a legit way to get 3d in the times long gone. Last game I remember that did it was Diablo 2 for its internal state arithmetic.
>>102566339neat progressfinally crawling yourself out of nodevdom. proud of ya.
>>102566514>you will probably do fine using 32-bit integers bit shifted by 8 - so you'll get a range of -8M to 8M with a consistent 1/256th precision. If you bit-shift by 15 - you will get a range of -65k to 65k and 1/32k of precision.Doesn't this seem... retarded? Floating point can do the same thing, rounding a float to the nearest 1/256 is exactly the same thing as doing it with an integer and best of all the instructions are built in to the CPU nowadays.
>>102566559The logic is that floating point errors can accumulate in all 3D physics engines. Some CPUs/compilers/architectures do thing so slightly different that it causes drifting and desync in a multiplayer setting where only player inputs/commands are sent.Think an N players RTS game where you only send players commands instead of the hundred moving units.Think of a complex physics based game where you always get consistent state between players without doing retarded optimisations of detecting moving and static physics objects and only sending the moving ones, except what appears to be a static object was actually moving at a small undetectable fraction.It's a trade-off between the game simulation speed and network speed, the game might be slightly slower, but then again you can send commands so fast and your simulation never desyncs, you end up saving on the cost of rolling back and re-simulating, and all that logic of diffing game states and sending those to resync.
>>102566772https://gafferongames.com/post/floating_point_determinism/https://github.com/TeamHypersomnia/Hypersomnia?tab=readme-ov-file#tech-highlightsRounding doesn't even come close to getting enough, even the rounding itself can fuck up once in a blue moon and desync all player sessions.
>>102566559>So you're going to use 32-bit integers to simulate a value even less accurate than a 16-bit float?that's not how that worksthe mantissa is all the precision you get out of a float, for 16 bit thats 12 bits32 bits > 12 bits, 32 bit integers are more accuratefloats have more range but that's a different topic, and you can use fixed point math to curtail the scaling issues at extremes with integersI still wouldn't use integers since IEEE-standard floating point hardware is ubiquitous but the accuracy thing is wrong
>>102566772>Doesn't this seem... retarded?No. Engineering is a practice of tradeoffs. On modern computers floating arithmetic works very well in general cases. But - for example - if you want to save on memory bandwidth then you can send vertex normals or some other data to the GPU as an 8 bit values interpreted as 1/256th. Precisely from this worry the half and quarter floats were introduced.There may also be a case for - for example - financial calculations with very specific legal requirements for rounding and in such case a tailored fixed point arithmetic is used.And, as I said - on old hardware integers are much faster than floats even with math coprocessor. By old - I mean AMD bulldozer chips.
You guys are all nerds.
>>102566917agdg this way >>>/vg/agdg
>>102566866Looking at the mantissa is also not the whole story. With fixed point arithmetic you also get consistent precision over the entire value range of the variable.
>>102566917fight me irl chump
Volumetric simplification or surface simplification for voxel LOD?I'm considering going back to volumetric due to it being more efficient since it is ingrained in the SDF process.
>>102567019How do you do volumetric LOD? with a octotree and doing the average for each node?
>>102567043I'm not using an oct tree, just voxel grid and generating it all with compute shader. So parallelized grid voxel generation.And I didn't succeed at a volumetric LOD yet, but the idea is you sample the underlying data at different resolutions instead of post processing the simplification.
this blog is pretty informativehttps://wickedengine.net/category/devblog/
Which would you rather play, a lifesim (ala The Sims) with RPG elements, or an RPG (ala a mix of Dragon Quest and Daggerfall) with lifesim elements and PCG?
>>102567146I'm making a game like that. Guess there will be numerous. Oh well.God bless
>>102561124Why do you hate GPL? Because it prevents you from taking GPL-licensed code and putting it in your closed-source engine?
>>102567121It's such a shame that this engine doesn't get more support.
>>102567146simlike supremacy
>>102567358its still getting commits, what do you mean by support? userbase?
>>102568078Monetary support.
>>102568112I think he'd get more exposure if his showcases of his engine weren't heavily focused on weird anime girl games
>>102566339It's neat game.At the same I have to wonder what is point of making platformers in 2024
>>102568515>At the same I have to wonder what is point of making platformers in 2024Game development is supposed to be about having fun.If you were doing it for money you'd get a job.
>>102568502>anime girl gamesIs there any worse form of slop?
>>102568536I understand POV, and I'm certainly making a game for fun.And if it is fun for you to make a platformer, by all means. But if you are going that route, I'd suggest you try mix something up with it.
>>102568536>Game development is supposed to be about having fun.>If you were doing it for money you'd get a job.based
>>102568536How is making a platformer fun?
>>102568617I think generic unreal engine open field "X HIRE THIS MAN" slop is slightly worse
>>102568683The difference is that if you make generic unreal engine open field slop, you're not labelling yourself as a degenerate autistic coomer. Whereas if you make anime girl slop, you are.
>>102568683I can't stand that lazy attempt at photo real, that crunchy attempt at doing photo real high poly.That rust-like. That Arma-like. I can't stand it.
>>102568707this is why I can't get into https://store.steampowered.com/app/1437760/Peripeteia/ which is made by some anonsame thing with Lunacidgames that on paper should be fun and be interesting to me, but BAM random big titty anime girls that don't jive with the rest of the art style and mood at all
>>102568838anime in games is very slop. It's so incoherent.I pass over any anime games.Even if it were my favorite type of game, I'd pass over it. IT's just horrible.
>>102568906I make an exception for SMT desu, their art direction is usually on point
>>102568838>>102568906You know what's funny is that if someone criticized anime coomerslop on the /vg/ game dev general, they'd be immediately dogpiled by coomers and loliniggers screeching about muh puritanism and muh roastiesI like this general much better.
>>102568794Agreed with Rust but arma looks fine to me
>>102569177most of the /vg/ thread is nodevs that just wanna ideaman games based on their personal tastesthis general is better because writing code is generally the primary goalmost unity niggers don't even know what a gameloop is or what the world is like outside their update() function
>>102569177