Start over edition/gedg/ Wiki: https://igwiki.lyci.de/wiki//gedg/_-_Game_and_Engine_Dev_GeneralIRC: irc.rizon.net #/g/gedgProgress Day: https://rentry.org/gedg-jams/gedg/ Compendium: https://rentry.org/gedg/agdg/: >>>/vg/agdgGraphics 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 : >>106658977
First for improving the asset manager after getting my Android port running
Hello /gedg/, is anyone here familiar with Bevy? I have a project idea of effectively making SCP:SL but improving/changing the character controller mechanics.I want to add the following things:Rolling as in SW:BF2 (for dodging SCP attacks),Chivalry 2 style melee for humans slightly modified to make it only viable for like a 4v1 (think 4 dclass vs security guard with no more ammo),StarCraft2 collision whereby every player has collisions and humans can push and squeeze by each other (SCPs are solid though),Better shooting mechanics (think R6S),TABS style ragdolling and closing eyes (play dead/avoid peanut),Head tilting as in R6S or Unturned,Crouching/Proning (why is this not already a thing?).So uuh are there tutorials on how to implement some of these or am I gonna need to read a whole load of documentation? I have former experience in Unity but not for all of the aforementioned features, and bevy is different in quite a few ways anyway.
>>106708392
getting scale right while building levels is harder than you would expect
>>106709498where does the>rewriting the same project every time you come back from burnoutstand?
>>1067095553D? If you're making levels in Blender then yeah, it's hard to tell how something is actually going to look in your engine until you import it. Even if you carefully manage units to keep realistic scales, that doesn't necessarily look right in a game.Blender has a walk mode you can enable that can give you a better sense of how the terrain might look, but obviously it's not going to be identical to whatever engine you're using.
I only started over twice. Anyways added cardinal direction indicator for network players.
>>106708922I haven't used Bevy but my impression from reading their dev blogs is that it's less a tool for making games and more a playground for people who really like writing rendering pipelines and shit. If you really want to use Rust then I'd say check whether Godot's 3D support is decent and use that if so. Godot has Rust bindings that were actually looking pretty good last I saw.
>>106710237alright, ty
Has anyone here implemented rigidbody physics themselves?XPBD seems pretty simple actually no?
>>106710695I tried but it's genuinely such an enormous taskno shame in using a physics library and moving on to other more important/fun stuff
>>106710748What did you try?
>>106710695not me, but yeah, it does look reasonably simplehttps://github.com/felipeek/raw-physics
any tutorial resources on rpg maker 2003 now that rpgmaker.net has been down for more than a year?
Something about having light sources behind fans is deeply ingrained in the human psyche.
>>106710875only 80s kids get it
>>106710839I'm surprised anyone still uses it. There are some non english websites for it, but the amount of tutorials isn't what I'd expect from accumulated 2 decades of know-how.
Is there a fast way to do boolean operations in Blender without using modifiers?
>want to program game entirely with C, don't want to be burdened by game engine UI>also want support for rendering 3D objects out of the box, don't want to do any low-level graphics programmingis raylib my only option?
>>106711277Don't overthink it, just try raylib and see how it goes
>>106711212bool tool addon
>>106711277raw opengl isn't that bad, I've enjoyed using it so far
>>106711302>>106711322thank you but that doesn't answer my question
>>106711277>want to program game entirely with C, don't want to be burdened by game engine UI>also want support for rendering 3D objects out of the box, don't want to do any low-level graphics programmingJust try SDL2. Create a window, render your 3D objects using that window and then make a set of keystroke commands to manipulate the 3D space. If you want, you can also create a floating toolbar for environment detailing or whatever the fuck.
Z-up.
>>106710132These are cute graphics Anon
>>106708922Everything you are asking for has nothing to do with Bevy
>>106711702Thanks
>>106711542There is no up in space
>>106712045That facing indicator is pretty bad. I don’t remember if your game needs one, but if it does it should be fully within the tile rather than on the edge.
>>106711277I've been playing around with SDL3_GPU and while it is slightly more low level than I'd like, it's a lot less work than writing straight Vulkan or D3D. I prefer it to OpenGL after using it for a bit.SDL3_ttf is super nice too and integrates with the GPU API very easily, so you can get high quality SDF texts without too much work.
Should I post my progress or is this place actually full of intelligent devs? If so I will just lurk.
>>106713336you should post your progress
>>106713342Forgive me for being a blueprint scummer. I'm working on a casual arpg. Here is an area of the first level.
>>106713397swag keep it up
>>106713433Thank you anon. I have a bit to go but the framework for the gameplay and loop is all there.
>>106708392How should I go about producing art for UI elements that scales well? What resolution should I target? Should I create each element slightly bigger than the intended render resolution then scale it down? Should I use a vector or raster art program?
>>106713887Depends on what art style you're going for, you can do scalable UIs or pixel-perfect UIs, both have their upsides and downsides
>>106713887Depends on a lot of things, so it's hard to give exact advice without knowing the kind of UI you're looking for.Both vector and raster can work well.As long as you don't fuck up font rendering, most people will look past or not even notice a UI that doesn't scale perfectly.
>>106713930>most people will look past or not even notice a UI that doesn't scale perfectly.I won't, I hate bad UIs
>>106713935I mean more stuff like if your raster graphics is a little blurry or whatever from scaling.So much UI complexity comes from being general purpose, handing weird window shapes, potentially any font/size, global scaling etc.But a game is not general purpose, and trying to achieve all of that stuff usually isn't worth it.Even just hardcoding the assumption that your game is 16:9 (or close to it) goes a long way.
>>106714005There's no reason you would need to hardcode a window ratioHaving fixed pixel size is fine though, I do that for my game, I don't care if the UI will be bigger or smaller on different resolutions
>>106714005I noticed in ue5 scaling has no effect on ui elements so I set them anchored in the same way. All set for 1920x1080 unless it is a custom widget with no canvas. It looks fucked in the editor in window mode but packaged a game scales correctly
>>106709555>>106709555>he doesn't use actual real world units in his engine and modeling programdeserved to be honest
>>106714005>I mean more stuff like if your raster graphics is a little blurry or whatever from scaling.This happens because people don't understand how dots per inch work.>Even just hardcoding the assumption that your game is 16:9 (or close to it) goes a long way
>>106714068keeping everything realistically sized looks like shit. >>106709555 is right.
>>106714876>Artists keeps everything realistically sizedNo they don't. But they actually know the real world size of the canvas, and by using that as a reference they create giants, gnomes, ghosts, etc that surpasses the physical dimension of the canvas.It's all about relative unit. Just pick an arbitrary unit say 1 unit, and then draw everything in that system.
>>106714968not himcan you take me through your logic that took you from what he said in his post to your greentext?
>>106715013He claims that using a realistic system of measurement "requires" things to be realistically proportional which looks bland.
>>106715024ok, but where does he say that artists keep everything realistically sized?
>>106709498I'm the last one, sometimes 3rd one
https://messenger.abeto.co/why isn't your game a website
>>106715561>https://messenger.abeto.co/thats pretty cool wonder how long it took to make those assets
>>106715561sovl
>>106715561that's why I target web in my engine. that's also why I won't use Vulkan.
>>106716006>he thinks what api you uses matterlmao, nice way to expose yourself as a poser
>>106716308how do I use Vulkan in a browser?
>>106716006Your HAL is supposed to make it so that you can target any graphics API
>>106716323ok, so again - how do I compile Vulkan code to run in a browser?
>>106716365That's not what the words in my post mean though...
>>106716319Your program simply doesn't need to know about the backend. You simply generate a list of calls that specify "what" you want, "how" is it achieved is handled by the backend.It's programming 101.
>>106716484>You simply generate a list of callscalls to what?
>>106716497you're mom
>>106716508fugg, I walked into that one
>>106714968>>106716365probably samefag, making shit up when replying
>>106710132basè, I've been seeing your progress, top notch
>>106715561Why does it run so well?
>looking at level topology in old gamesI'm sure they had a good reason for this but fuck if I know
>>106716996>I'm sure they had a good reason for thisI don't think so
>>106716996How old are we talking? Could've been modeled in something like WorldCraft and then converted to polygons using a script.
>>106717029Actually looking again I'm almost certain this is the case as a human would've just duplicated each grave they modeled, but the outer graves clearly have different topology from the middle graves.
>>106716845no pointer lock + the UI is actually using HTML so it feels like zero latency.
>>106716996maybe they got paid by the number of vertices?
>>106717338
>>106717424polygoncels will tell you this is a sensible way to represent shapes in the computer
>>106717424>adds 2 hours of useless waiting time because people keep beating your games in 15 minutes and refunding themdare I say it
>>106712633I simply disagree
>>106708392>https://youtu.be/TchsV9gc_k4?t=7232>https://youtu.be/TchsV9gc_k4?t=7401>https://youtu.be/6rLtEw4Pb5M?t=2184>not using directX for your renderingreminder that targetting directX actually works better even on linux
>>106717612It was using opengl before. It really doesn't matter
>>106717648debug, good support and decent drivers matters a lot thowe already know the dance gamedevs need to do in order to support a wide range of machines and graphics cards, with specialized paths for specific cards even, so why not make it easy on yourself anyway? proton on linux already translates directX to openGL/Vulkan so you don't really lose anything. unless you're doing software rasterization which is based.
>>106716996It's because it used quads as the primitive.
>>106717467No but its a good intermediate representation to ship your game with. Later if you wanna update it to higher resolution, you just export a better polygonal representation from the original curved surface models.
>>106717689If you are planning to ship to consoles. Then openGL is the better alternative. Because you can actually test the same build on both systems. Later you can write D3D pipeline and you can use the GL renderer as a comparision for ensuring quality.
>>106716996maybe quads are more easy to work with when depth sorting ?
>>106717838Nope, it was simply a legacy thing. Modeling is easier to do with Quads, you can select edge loops, etc Rendering is better with triangles. So your asset processor will split quads into triangles. Old games used immediate mode openGL a lot, and at that point you can just triangulate quads on the fly. So most games directly used quads.
>>106717804bro, this top face could have been just 3 quads
>>106717907You don't know if it was manually created or generated from NURBs or some other curve. But the general idea is to use quads when modeling (this gives you many tools to work with the geometry) and use triangles to render stuff.
>>106717689this is true but if it was a problem you could just run opengl ontop of directX using Angle.so technically you can use OpenGL with DX12 tools like PIX and Nsight Aftermath (but by default Angle uses DX11, so you need to set the DX11on12 or DX12 backend for PIX).Angle has it's own validation, so I think if Vulkan's validation layers (or whatever DX uses) was enabled, it would be be considered a backend error and a problem with angle (i assume), but maybe there might be diagnostics related to performance or whatever (I don't get DX11 callbacks, maybe there is an option I could enable to expose those diagnostics, Vulkan has ANGLE_ENABLE_VULKAN_API_DUMP_LAYER, not sure about DX).Sure the functions are different (I actually think RenderDoc could work with Opengl functions) so it's not so intuitive but gl's debug groups get translated into vulkan diagnostics so that debugging tools / callbacks can easily navigate through your code (I don't think anyone uses Nsight Aftermath for Angle however, and it sucks that sentry only supports Nsight Aftermath for unreal engine, obviously it seems like you need to write a code to get it working, and sentry isn't black magic that magically detects Nsight Aftermath).
>>106717612I always tell people to stop telling others to learn OpenGL, usually met with some grumbling about "muh compat with GPUs from 2008". OpenGL is a shit API full stop. If you're really lazy and don't want to learn Vulkan/D12, learn D11 at least.
>>106717814Why not ship the original curved surface model then.Fuck polygon meshes is what I'm saying.
>>106717612I don't like ComPtr slop MS APIs
>>106717804>>106717838my dude, I have no idea why you're replying when you aren't even applying basic critical thinking skillsshit has nothing to do with quads, guarantee you it was modeled using bsp brushes like a quake level and then programmatically converted into polygons
>player has superhuman athletic skills in combat>can step down a 6 inch dropYour game doesn't do this, right?
If I wanted to make a game, would this be a smart way to go about it?- Start with Unity, abuse from free assets and templates (for example, instead of learning how to code an inventory system I just download and implement one, or downloading premade 3d models for characters and items) so I can have a small working slice of my game- Now that I somewhat understand what a working system looks like, slowly work backwards, rewriting those systems myself (trimming out unused parts, maybe expanding it for my own use case)- Eventually work my way down to the engine itselfFrom the little I understand you should learn c++ then opengl if you want to make a basic 3d engine, but would my way be valid too? I think that having a working prototype that you can interact and mess with would be a very nice thing to have to when you're creating something, but maybe I just don't really understand how the workflow is supposed to look like.I'm a nocoder neet and like all of you I often daydream about games and systems that would be cool to implement but I have no higher education nor the willpower to go through it. So I'm asking because I'm wondering if it's a fools errand to even try.You guys probably get these questions every other day but I don't want to skim through the archives to find the answers so I apologize...
>>106718081Start with unity or godot or unreal and then only reimplement things when needed.You will need to learn how to program though.>no willpowerNgmi then. If you can't motivate yourself to work hard for your goals
>>106718020as the Angle Opengl user, the only part that i regret about opengl is that it doesn't make sense for VR.Not because OpenGL lacks any hardware features (OpenGL has stereo rendering and OpenXR provides the explicit swapchain control, since OpenXR essentially replaces WGL_ / GLX as the window / context handler, I think.It's because OpenXR is it's own full API with controller input and etc, SDL doesn't work with it (it seems like SDL_gpu is trying however).And if I was writing a uber shader, I do wonder what type of performance different opengl vs vulkan/dx12 would offer, I can see how simple branches set by uniforms could be optimized and won't be evaluated by every thread if you run everything inside of a single warp / Vulkan SubGroup, but I worry that the performance difference will be negligible because I doubt 10, even 100 branches in a uber shader would not be a bottleneck. You need to benchmark to know for sure.
>>106718169Oh my bad, it seems SDL works perfectly fine with openXR for both opengl and input, and it seems to still be using WGL and GLX.https://github.com/KHeresy/openxr-simple-example/tree/masternote this is old and the original forked version is still updated.But it's monado openXR and I don't know if it works with Meta's quests openXR version.I have lots of unanswered questions.
>>106718132>reimplement things when neededI know reinventing the wheel is bad but I'd at least like to know how to make each system I'm using.My question was aimed at the method, most things I've read just recommend a bottom - up strategy (c++ then opengl etc etc) instead of making a shoddy prototype with prebuilt things then working down.>learn how to programThat's not an issue, I do make some small python scripts already so I'm not allergic to it, again the core of my question was the bottom-up vs top-down approach on how to make it.>motivate yourself to work hard for your goalsI was talking about going to university.
>>106718308i think top down is the right idea.Building everything bottom up makes many people give up cause they don't see progress.
>>106718020>usually met with some grumbling about "muh compat with GPUs from 2008".are they insane? I had a literal potato as a pc for the longest time, directX 9 worked like a charm, but I had some intel drivers for openGL that supported 1.4 version, for some odd reason it only supported 2.0 on linux and not windows.so yeah if you want to actually think about "muh thirdworld machines" you target directX anyway. I was always able to run some pretty insane demos with directX 9 alone, the only thing that comes close with openGL was some obscure voxel engine that was 1.4 + some insane ARB extensions. apparently ARB extensions can do great stuff, even shaders, but you can't really expect them everywhere (even if they were able to run on my ancient obscure machine).maybe vulkan is nicer, but the people i follow tend to prefer directX and they must have some very solid reasons to do so.
>>106718020>Stop using opengl>Every single console ships with OpenGL
>>106718030>Why not ship the original curved surface model then.The same reason they don't ship the source code. You gotta process it before using it. Also, source code/original mesh isn't part of the release.
>>106718612nah every console is cursed and you are not allowed to peek into the abyss because it's put under NDA.You are likely going to use a game engine (and pay the secret console license for the engine) or pay a porting company to port the game for you.you could try to use opengl with angle but what sounds simple might actually be harder than porting your game to android.not like consoles matter however, it's more of a afterthought after you made a hit and made $1 million dollars.
>>106718700>or pay a porting company to port the game for you.this is the only viable meta unless you have dedicated engineers per console, even if you use crossplatform backends you'll still get fucked by proprietary stuff anyway, just divorce your game from rendering backends and let the contractors handle the rendering layers on those consoles, when you get ready to actually ship.
>>106718700>>106718742>pay a porting company to port the game for youOr simply port it yourself? Every single graphics API maps 1:1 to each other logically, the only thing different is there shitty syntax/API calls. If you already have a D3D/OpenGL backend, you could port the entire thing in a month.
>>106718765>Or simply port it yourself?unless you're making a relatively triviale game (rendering wise), it's 100% you're going to hit tons of edge cases for each console, yes you can waste your time to learn random trivia to get the work done, but honestly i don't think it's worth it.the switch console apparently gets tons of praise since it's practically android 2.0 (afaik), but they still hit performance problems. you can obviously downgrade your graphics on those consoles and sidestep those issues, but it just sucks.
>>106718804Uhm no? You simply use the subset that your game needs. And most games even most AAA games fit neatly into the command list architecture. Where you simply send custom commands in a queue, and the queue is later processed by a D3D11/Vulkan/OpenGL backend.Almost 97% of stuff can be accomplished through AZDO/NV_command_list equivalent of D3D11/Vulkan
>>106718894you are arguing with someone else, but what I meant by >>106718700is that every console is like android, except android is easier to port with because there are tons of resources for it.if you try to port a console, there are no tutorials because it's under NDA.I'm trying to say that you will be filtered by some bullshit. I wasn't really thinking about the graphics API too much.And I would note that AZDO is for multithreading and for modern modern OpenGL (AKA version 4).If you are just using normal opengl without indirect functions, that doesn't map well with Vulkan and DX11. And the reason to support normal opengl is so that it will work on webGL (not like you should, because I experienced that the performance is not good, especially between browsers and you should always provide a native version since the performance difference can be massive, not because of wasm, but the aggressive webgl sandboxing).
how do games like this https://www.youtube.com/watch?v=Gf5yAfi96HM achieve the gridless look? I.e. whats the backing data structure for big maps and curved streets/houses? Just a quadtree?
FINALLY this shit is running on my phone, obviously I have a lot of graphics stuff to fix but it's so satisfying to not be staring at a black screen or logcat error messages
>>106719266congrats bro. what a good feeling to finally see something
>>106719375ty ty, it was like a week of work so I'm glad it's finally paid off. got some color space problems to fix now and ofc Android GPU Inspector seems to barely work. anyone know any other GPU frame debuggers that work on Android?
>decide to make a mod involving custom models>cool i'll just grab some and import them into blender and figure that out in 5 minutes>mfw 2 weeks on trying to figure out how the fuck to create atlas textures and UV maps that don't completely rape the original texture alignments>still haven't even started on how the fuck to do shit like gloss and normal mapsI kneel, 3Dchads. I never knew how awful this shit could be until now.