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

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


[Advertise on 4chan]


File: 1755494736514667.png (70 KB, 250x227)
70 KB
70 KB PNG
Start over 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 : >>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.
>>
File: 1737113652502437.png (645 KB, 670x997)
645 KB
645 KB PNG
>>106708392
>>
File: 1743690558030692.jpg (122 KB, 482x427)
122 KB
122 KB JPG
getting scale right while building levels is harder than you would expect
>>
>>106709498
where does the
>rewriting the same project every time you come back from burnout
stand?
>>
>>106709555
3D? 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.
>>
File: ygg-1758921764.webm (871 KB, 1920x1200)
871 KB
871 KB WEBM
I only started over twice. Anyways added cardinal direction indicator for network players.
>>
>>106708922
I 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.
>>
>>106710237
alright, ty
>>
Has anyone here implemented rigidbody physics themselves?
XPBD seems pretty simple actually no?
>>
>>106710695
I tried but it's genuinely such an enormous task
no shame in using a physics library and moving on to other more important/fun stuff
>>
>>106710748
What did you try?
>>
>>106710695
not me, but yeah, it does look reasonably simple
https://github.com/felipeek/raw-physics
>>
any tutorial resources on rpg maker 2003 now that rpgmaker.net has been down for more than a year?
>>
File: fans.webm (1014 KB, 1280x720)
1014 KB
1014 KB WEBM
Something about having light sources behind fans is deeply ingrained in the human psyche.
>>
File: 1735151298522401.png (698 KB, 736x552)
698 KB
698 KB PNG
>>106710875
only 80s kids get it
>>
>>106710839
I'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?
>>
File: 1708319009583197.jpg (41 KB, 550x500)
41 KB
41 KB JPG
>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 programming
is raylib my only option?
>>
>>106711277
Don't overthink it, just try raylib and see how it goes
>>
>>106711212
bool tool addon
>>
>>106711277
raw opengl isn't that bad, I've enjoyed using it so far
>>
>>106711302
>>106711322
thank 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 programming
Just 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.
>>
>>106710132
These are cute graphics Anon
>>
>>106708922
Everything you are asking for has nothing to do with Bevy
>>
File: ygg-1758938571.webm (1.42 MB, 1920x1200)
1.42 MB
1.42 MB WEBM
>>106711702
Thanks
>>
>>106711542
There is no up in space
>>
>>106712045
That 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.
>>
>>106711277
I'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.
>>
>>106713336
you should post your progress
>>
File: 029-vfx.webm (3.33 MB, 1278x720)
3.33 MB
3.33 MB WEBM
>>106713342
Forgive me for being a blueprint scummer. I'm working on a casual arpg. Here is an area of the first level.
>>
>>106713397
swag keep it up
>>
>>106713433
Thank you anon. I have a bit to go but the framework for the gameplay and loop is all there.
>>
>>106708392
How 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?
>>
>>106713887
Depends on what art style you're going for, you can do scalable UIs or pixel-perfect UIs, both have their upsides and downsides
>>
>>106713887
Depends 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
>>
File: Untitled.png (42 KB, 1280x720)
42 KB
42 KB PNG
>>106713935
I 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.
>>
>>106714005
There's no reason you would need to hardcode a window ratio
Having 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
>>
>>106714005
I 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 program
deserved 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
>>
>>106714068
keeping everything realistically sized looks like shit. >>106709555 is right.
>>
>>106714876
>Artists keeps everything realistically sized
No 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.
>>
>>106714968
not him
can you take me through your logic that took you from what he said in his post to your greentext?
>>
>>106715013
He claims that using a realistic system of measurement "requires" things to be realistically proportional which looks bland.
>>
>>106715024
ok, but where does he say that artists keep everything realistically sized?
>>
>>106709498
I'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
>>
>>106715561
sovl
>>
>>106715561
that's why I target web in my engine. that's also why I won't use Vulkan.
>>
>>106716006
>he thinks what api you uses matter
lmao, nice way to expose yourself as a poser
>>
>>106716308
how do I use Vulkan in a browser?
>>
>>106716006
Your HAL is supposed to make it so that you can target any graphics API
>>
>>106716323
ok, so again - how do I compile Vulkan code to run in a browser?
>>
>>106716365
That's not what the words in my post mean though...
>>
>>106716319
Your 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 calls
calls to what?
>>
File: 1748178469261166.jpg (13 KB, 142x250)
13 KB
13 KB JPG
>>106716497
you're mom
>>
>>106716508
fugg, I walked into that one
>>
>>106714968
>>106716365
probably samefag, making shit up when replying
>>
>>106710132
basè, I've been seeing your progress, top notch
>>
>>106715561
Why does it run so well?
>>
File: 1733040077440120.png (217 KB, 1598x812)
217 KB
217 KB PNG
>looking at level topology in old games
I'm sure they had a good reason for this but fuck if I know
>>
>>106716996
>I'm sure they had a good reason for this
I don't think so
>>
>>106716996
How old are we talking? Could've been modeled in something like WorldCraft and then converted to polygons using a script.
>>
>>106717029
Actually 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.
>>
>>106716845
no pointer lock + the UI is actually using HTML so it feels like zero latency.
>>
>>106716996
maybe they got paid by the number of vertices?
>>
File: 1750851825920962.png (568 KB, 713x1033)
568 KB
568 KB PNG
>>106717338
>>
>>106717424
polygoncels 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 them
dare I say it
>>
>>106712633
I simply disagree
>>
File: file.png (876 KB, 1260x636)
876 KB
876 KB PNG
>>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 rendering
reminder that targetting directX actually works better even on linux
>>
>>106717612
It was using opengl before. It really doesn't matter
>>
>>106717648
debug, good support and decent drivers matters a lot tho
we 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.
>>
>>106716996
It's because it used quads as the primitive.
>>
>>106717467
No 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.
>>
>>106717689
If 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.
>>
>>106716996
maybe quads are more easy to work with when depth sorting ?
>>
>>106717838
Nope, 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.
>>
File: file.png (34 KB, 258x235)
34 KB
34 KB PNG
>>106717804
bro, this top face could have been just 3 quads
>>
>>106717907
You 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.
>>
>>106717689
this 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).
>>
>>106717612
I 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.
>>
>>106717814
Why not ship the original curved surface model then.
Fuck polygon meshes is what I'm saying.
>>
>>106717612
I don't like ComPtr slop MS APIs
>>
>>106717804
>>106717838
my dude, I have no idea why you're replying when you aren't even applying basic critical thinking skills

shit 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 drop
Your 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 itself
From 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...
>>
>>106718081
Start with unity or godot or unreal and then only reimplement things when needed.
You will need to learn how to program though.
>no willpower
Ngmi then. If you can't motivate yourself to work hard for your goals
>>
>>106718020
as 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.
>>
>>106718169
Oh 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/master
note 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 needed
I 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 program
That'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 goals
I was talking about going to university.
>>
>>106718308
i 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.
>>
>>106718612
nah 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 you
Or 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.
>>
>>106718804
Uhm 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
>>
>>106718894
you are arguing with someone else, but what I meant by >>106718700
is 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
>>
>>106719266
congrats bro. what a good feeling to finally see something
>>
>>106719375
ty 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 maps
I kneel, 3Dchads. I never knew how awful this shit could be until now.



[Advertise on 4chan]

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

[Enable Mobile View / Use Mobile Site]

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