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


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: 1728423286064684.webm (2.93 MB, 640x480)
2.93 MB
2.93 MB WEBM
Water 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
Render bugs: https://renderdoc.org/
Previous: >>102735790

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.
>>
what do you guys think of virtual coordinate systems?

I want my chunk coordinates to be relative rather than based on any world position, since they're just to tell if the player enters a new chunk and which chunk the player is in. So I'm just incrementing X and Z according to how the player moves. why not?
>>
>>102761201
Sure. I've stored coordinates in the form of struct {chunk_coord, local_coord} in my voxel scene from last year. Getting pathfinding to work with chunks got messy though haha.
>>
first for fuck godot it ruined my dev
>>
C++ devs -- do you encapsulate windowing/input/runloop shit:
>into a base "Application" class (inherited and implemented by the game's own main class)
>above but with "ApplicationLayers" (Application is a final class but has a stack of "application layers" manipulated by the game that handle input, OnUpdate, etc, and those are called whenever the Application needs to)
>global functions implemented per platform
>separate classes for Window/Screen, Input/EventPoller, etc
>>
File: gangganggangnigga.webm (577 KB, 1878x1004)
577 KB
577 KB WEBM
>>102761180
>>
>>102761510
This is a meaningless question with no right answer
>>
>>102761521
whoa, looking good.
What sort of game is this going to be? What tech are you using to build it?
>>
>>102761611
so far raylib and ode
>>
>>102761521
kino kino
>>
>>102761510
keep it simple anon
>>
>>102761648
define simple
>>
>>102761693
Work from first principles, solve the problem that needs solving right now, go back and revise your solution when the requirements change
>>
>>102758110
not sure how useful it's going to be
AMD put out both their vendor specific vulkan extension and the DX12 extension only for their newest cards for no reason when device side dispatch is something AMD cards can very easily do, they have direct access to their command buffers as HSA AQL queues

if you want device driven dispatch you're better off using the CUDA/HIP graphs API or right now only targeting AMD platforms on linux since RADV supports the nvidia vendor specific versions of that extension
>>
I'm still in the prototyping stage for my gamedev project.
OpenGL3/4 seems bad for prototyping. Should I just (temporarily ofc) use OpenGL1?
>>
>>102762145
Writing any graphics lib from scratch is bad for prototyping
>>
>>102762186
???
But I'm not writing any graphics lib from scratch
>>
>>102762203
Using any low level graphics API is bad for prototyping
>>
>>102762209
Ah, ok, so use OpenGL1, got it
>>
>>102762215
OpenGL1 is a low level graphics API. It's bad for prototyping, you will still have to write everything from scratch
>>
>>102761180
getting back into my game engine
just recently figured out how to do sound generation the way the old NES did
working on combining my music generator with my game engine so I can make some pseudo retro-style raycasters
>>
>>102762215
don't bother with opengl at all, use SDL for window management and write your own 3D renderer from scratch
>>
>>102762416
>write your own 3D renderer from scratch
that means using OpenGL or DirectX or Vulkan
>>
I lack motivation and creativity, what do fren
>>
>>102762498

you get motivation and creativity by doing things
>>
>>102762598
no it's something that just exists naturally in you
>>
>>102762498
Get drunk or eat shrooms
>>
File: firefox_EuQYGIbsfY.png (67 KB, 685x618)
67 KB
67 KB PNG
Let's see what language the wheel of fate will force me to write in
>>
File: firefox_RMqJzkaap8.png (29 KB, 660x558)
29 KB
29 KB PNG
fuck
>>
>>102762870
rip anon's peepee
>>
>>102761234
I'm a nazi and I fail to see how godot is ruined because some political bullshit... what values do you think giant corporate products like unreal/unity represent anyway? get real dude
>>
>>102763044
I am a nazi too and redot is obviously just a revenge fork. Unless the fags developing godot actually ruin the codebase this is a total nothingburger.
>>
>>102762498
LSD/shrooms, isolation in nature and nofap
>>
>>102763044
He might mean for other reasons. Like how their "multi threading" pauses the main game loop to do anything and their path finding is now completely broken for large maps.
>>
>>102763064
this is what brainrotted 4channers think creativity is
>>
>>102763062
exactly, now we have people maintaining 2 versions of the same software and both are worse off for it.

>>102763081
you have no clue either retard, what the fuck do you know about creativity? Please enlighten us, genuinely if you have any idea please by all means tell me why this is wrong and what a better alternative would be.
>>
I know the bare minimum of GLSL to get my program running, what's a good shader resource to learn to do cool effects and the like?
And should I use another shader language? I think there's something called "slang" that compiles to your language of choice, and then there's also an unrelated program called "glslang" that can also transpile whatever you want into something OpenGL can consume (?)
>>
>>102763125
How do you think not touching your peepee is gonna make you more creative
>>
>>102763135
Shading languages are not complicated, don't go out of your way to use something different, it's just basic math operations
>>
>>102763142
not touching your peepee for extended periods of time has an extremely profound effect on creativity. Maybe you haven't noticed because you don't do anything creative or you have never tried and don't have enough experience to notice the clear difference. Just to clarify, I'm not talking about joining an online cult, developing a weird psychological complex or anything I'm literally just talking about basic abstinence for certain extended periods of time can make a huge difference. I'm hyper-sexual and live with a gf so around 4 days to a week every now and then is optimal for me if I can get away with it.

source: trust me
>>
>>102763142
coomfog is real and it does affect you
>>
>>102763201
I was abstinent for a month once and it made me less creative
>>
>>102763226
You can't argue with these people man, it's pure delusion
>>
>>102763201
and adding to this, look up hypofronality and its relation to porn consumption, social media etc if you genuinely care about creativity.

t. knower

>>102763226
>>102763290
go and do literally 5 minutes of research on hypofronality, it's endemic in our culture and you idiots are just being ignorant and defensive for no reason

this post is game dev related because it affects your ability to learn, focus and achieve your goals
>>
>>102763437
How am I being ignorant by relaying my own personal experience
>>
>>102763135
https://www.shadertoy.com/ and the dev's blog https://iquilezles.org/
it covers some of the math techniques used in rendering, especially things like more procedural elements
>I think there's something called "slang" that compiles to your language of choice
slang is fucking weird
part of me likes it in theory but i also know how hard it is mapping more traditional higher level concepts to the GPU
>and then there's also an unrelated program called "glslang"
the GLSL compiler was originally only a part of OpenGL and was traditionally fused with the drivers
in order to support more optimized drivers, multiple APIs (namely vulkan), separate higher level optimizations, and a bunch of other reasons they introduced a generic form of GPU assembly called SPIR-V, left SPIR-V-to-GPU executables to the drivers, and separated shader languages from graphics APIs
glslang is the reference implementation of the GLSL-to-SPIR-V compiler meant mostly for targeting vulkan but SPIR-V support was a lot to all the khronos APIs that they maintain (AMD never added it to their openCL windows drivers)
it also supports HLSL extended to support vulkan which is microsoft's shader language

>>102763148
basic bitch usage of shading languages is "simple" but lol no they're an extremely simplified abstraction over something really complex
i don't think most gamedevs need to interact with a lot of the lower level things but you should still be aware of your platform
>>
>>102763470
oh great it's the fake expert "I work for AMD" retard back again to pretend he's smarter than actual gamedevs despite never having made a game (or anything) in his life
>>
>>102763448
Your personal experience is sitting in your chair doing nothing
>>
>>102763503
I've been a professional artist, professional programmer, professional game designer, hobbyist musician, and I jerk off 3 times a day
You can sit there in your chastity belt while I'm over here being creative
>>
>>102763525
I bet you're also the president of mars and have 150 super hot sister-wives too
>>
>>102763226
I'm not talking about doing nofap for months at a time, I'm talking about being mindful and abstaining for a few days to a week every now and then. Also you really want to avoid addictive thrill seeking behavior when it comes to porn n shit if you're predisposed to that sort of thing because it fucks up the executive functions of your brain and makes you less capable as a programmer/gamdev/creative

>>102763448
because your anecdote is literally about 1 month 1 time not working for you which is just retarded, that's not enough experience to say anything and there's no real evidence that you even have skin in the game here. We're having a discussion about what helps you be creative/productive, I'm talking about a real issue and your little anecdote ads nothing to the conversation.

>>102763525
okay well this changes everything but I think the broader point I'm making still stands
>>
File: lezoomergraphics12.webm (623 KB, 1918x1078)
623 KB
623 KB WEBM
>>
>>102763551
>that's not enough experience to say anything
It's as much as your experience, which is to say, completely anecdotal
It depends on the person, I'd say if sexual activity interfered with your ability to do other things then you have a problem, not me. Sex makes me more motivated and more creative
>>
>>102763615
this looks super fucking cool, could you explain what this project is a little bit?
>>
jumped on the irc channel if anyone wants to hang out on there
>>
File: track editor.webm (3.21 MB, 1280x720)
3.21 MB
3.21 MB WEBM
Hello from /o/. I've been working on a bit of a project, disassembling and remaking an old DOS racing game. This started when I stumbled across a disassembly tool that can apply the debug symbols from the old Watcom compiler in a helpful way. Luckily, they happened to include the debug symbols in their release exe. It's still staring at assembly but at least we have all their function names and entire project file structure. I've had a lot of help from fellow /o/tists but did not realize there was a thread like this over here too. So far we have their asset mangling algorithm figured out, got all the game's assets, reverse engineered 95% of their track files, and the models that were hard-coded in C. I've written a pretty fully-featured track editor for the game and soon will begin reverse engineering their driving physics.

The project is located here: https://github.com/Zizin13/Roller
>>
>>102763492
>abloobloo no one respects my poor industry retards
i'm here frequently, this is just the first time i triggered you in a while
also would you just fuck off with your weird defense of these morons
AMD has tools specifically for microbenchmarking shaders at the assembly level (the NVIDIA equivalent to the AMD graphics debugging suite is DX12 only and behind an NDA) and their entire stack is open source
it's not some magically impossible task to get technical know how especially since for AMD although it's gotten better recently if you wanted to do things like run anything GPGPU based you had to port it yourself

but oh wait that involves actually writing and testing code instead of assuming industry knowledge has any meaning
i don't need extensive experience in the gamedev industry, the exact same kind of shit you insist isn't prevalent in gamedev (yet every outside indication confirms it is) is in every other field of programming, it's the same kind of shit as cargo culting the gang of four book of design patterns or clean code
>>
>>102764183
Very cool and pretty lucky with the debug symbols being there
>>
>>102764261
The only moron here is you bro, you give out terrible advice because you think you know everything about graphics programming (because you read GPU manuals) but you've never actually made anything so you don't know how to practically apply it
And then you have the gall to think you're actually above people who DO make things
It's not that you don't have extensive experience, you don't have ANY experience
>>
>>102762870
Sorry for your loss
>>
>>102763142
Not nutting removes brainfog and if you are regularly consuming porn it's even worse for your creativity since your dopamine receptors get fried
>>
Which should I do, an isometric lifesim/godgame/"social sim" or a sandbox rpg with simulation elements
>>
>>102764481
bullshit pseudoscience
>>
>>102764183
Yeah this is sick
>>
Recently, I posted an article about labeling commands. It's worth mentioning, using the debug extension you can also label queue sections.
Furthermore, Vulkan objects can be given names.

If you are unaware of these features I highly recommend reading this part of the spec
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_debug_utils.html

These features greatly organize your API calls for external tools. Tutorials never seem to emphasize these features of the debug extension and the importance of renderdoc but they are useful.
>>
>>102764616
why the german trip?
>>
>>102764529
>Any study I disagree with is pseudo-science
You should try being more open minded might make you happier
>>
>>102764661
I don't have brainfog or "fried dopamine receptors" so your study is already disproven
>>
>>102764675
Pure cope
>>
>>102764831
the abstience movement is pure cope from losers who are looking for external solutions to their internal problems of having no motivation or drive or being generally a loser
>>
File: sprites.png (9 KB, 596x301)
9 KB
9 KB PNG
Sprites - WIP, but getting there.
>>
>>102764852
not everyone is 200iq self control pro like you, that hyperfronality shit is real and can be mitigated
>>
>>102765051
You will always be weak so long as you continue to make flimsy external excuses for your lack of motivation
>>
>>102762186
Writing you're own graphics library to use for prototyping is the way.
>>
>>102762145
I used GLEW, it seems pretty good to me. Easy to use and lightweight. GLM for all the maths.
>>
>>102765099
you're framing it like you're this highly motivated giggachad and anyone who disagrees with you is somehow inferior while also tactically avoiding the actual issue raised. This is a common attitude with all of the people I know who do meth btw, they will literally say it's not that bad and it's only a problem if you're weak minded or some shit (and then end up with drug induced psychosis shortly after). I don't want to shit up the entire thread with this debate like I see where you're coming from maybe but it's a bit dismissive to just assume that you're above the issue and any detractors are beneath you or something, that's the read I'm getting from this post anyway
>>
>>102765183
Meth is a physically addictive substance, imagine comparing that to having sex
Yes I am above you if that's what you believe
>>
>>102765208
shifting goal posts, I was never talking about sex and I have explicitly stated that in like 3 posts now
>>
>>102764890
How do you make this art style? Is it a 3D model initially?
>>
>>102765237
there's no real difference between sex and masturbation
>>
As a Catholic I have to side with gang nevergoon, but these days I also have an always-willing wife to make that easy. I remember the before time though, it's rough out there lads. At the very least I'd recommend trying to keep the gooning to a minimum, porn in particular is highly addictive and it is extremely difficult to break the habit.
>>
>>102765267
>there's no real difference between sex and masturbation
Telling on yourself this hard is funny as fuck
>>
>>102765267
I can't tell if you're trolling or doing tactical nihilism
>>
>>102765300
any percieved physiological ills from jerking off are going to apply to having sex, if you think it gives you "brainfog" or whatever
>>
>>102765324
there's no way you aren't doing this on purpose, you HAVE to be trolling
>>
>>102765379
the resident troll makes claims such as: Rust prevents memory leaks
>>
>>102765379
You have to believe in some real spiritual woo-woo if you think sex is physically different to touching yourself
Psychologically perhaps, but psychology is all in your head
>>
>>102765396
maybe he's really a giggachad who fucks 10x a day and still has energy to be a professional programmer/artist/gamedev and musician as well as make people seethe on 4chan
>>
>>102765432
Sadly I haven't had a girlfriend in years
>>
>>102765430
making disingenuous arguments and doing tactical nihilism while pretending to not have any beliefs or hold any position is maybe a fun thing to do as a joke online but if you really believe your own bullshit or think this is clever then idk what to say no mo
>>
File: foo.png (227 KB, 1285x1353)
227 KB
227 KB PNG
>>102765266
Its... complicated. It is a sprite from OpenTTD that I converted to a 3d model for testing my editor. This editor is meant to generate sprites out of a model made in it.
>>
Improving the ergonomics of the API for my ECS implementation. Added SystemParam style dependency injection (with Query<T> and Time) so far.

Entity entity = world.spawn().insert(
Velocity {},
Position {},
Speed {10.f}
);

world.add_system(ScheduleLabel::Commit, print_results);
world.add_systems(update_velocity, apply_position);

world.add_system([](const Time& time, Query<const Velocity> query) {
printf("Delta = %f\n", time.delta);
for (const auto& [e, vel] : query) {
printf("Vel: (%f,%f)\n", vel.x, vel.y);
}
});
>>
>>102765575
Impressive. Very nice.
>>
>>102765285
>always-willing wife
bullshit, no wife is always willing
>>
>>102765692
I'm a lucky guy
>>
File: 1723495650184521.gif (2 MB, 356x400)
2 MB
2 MB GIF
>>102764261
Fuck off Jake
>>
>>102765517
My belief is that the impact of your sexual habits is purely psychological and if you think they're physically disabling you like a meth addiction you're merely using this as an excuse for weakness
>>
How do I do isometric games in OpenGL? Not just the camera (whether it's 2D or 3D) and rendering tiles, but also shit like mousepicking and all that jazz
>>
>>102765771
dude STOP I'm almost autistic enough to fall for this shit
>>
>>102765797
I jerk off 3 times a day and I build shit
Stop being weak
>>
>>102765775
here's a stream where ginger bill pretty much goes over all of that stuff and explains it all

https://www.youtube.com/watch?v=B9kSV2TaKpw
>>
>>102765286
There really isn't. There isn't some god-coded brain response that feels better after having sex. If you've had sex enough times, it is practically the same.
>>
>>102765775
You have functions that transform between screen position and world position
You can use a matrix like 3D but isometric transforms are simple enough that you don't need to bother
>>
>>102761180
Systers, why my code does't works?
#include <SDL3/SDL.h>
#include <SDL3/SDL_log.h>
#include <SDL3/SDL_render.h>
#include <SDL3/SDL_surface.h>


static int wsizex = 640;
static int wsizey = 480;

void
Render(SDL_Renderer* renderer)
{
SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
}

void
ProcessEvents(SDL_Window* window, SDL_Renderer* renderer)
{
SDL_Event e;
while (SDL_PollEvent(&e)) {
int w, h;
if (e.type == SDL_EVENT_WINDOW_RESIZED) {
w = e.window.data1;
h = e.window.data2;
SDL_LogInfo(0, "%d %d", w, h);
if (SDL_SetRenderLogicalPresentation(renderer, w, h, SDL_LOGICAL_PRESENTATION_INTEGER_SCALE) == 0) {
SDL_LogCritical(0, SDL_GetError());
}
if (SDL_GetRenderOutputSize(renderer, &w, &h) == 0) {
SDL_LogInfo(0, SDL_GetError());
}
SDL_LogInfo(0, "renderer %d %d", w, h);
}
}
}


int
main(int argc, char* argv[])
{
(void) argc;
(void) argv;
SDL_Window* window = NULL;
SDL_Surface* surface = NULL;
SDL_Renderer* renderer = NULL;

if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) == 0) {
SDL_LogCritical(0, SDL_GetError());
return 1;
}

window = SDL_CreateWindow("Test", wsizex, wsizey, SDL_WINDOW_RESIZABLE);
if (window == NULL) {
SDL_LogCritical(0, SDL_GetError());
goto L1;
}

renderer = SDL_CreateSoftwareRenderer(SDL_GetWindowSurface(window));
if (renderer == NULL) {
SDL_LogCritical(0, SDL_GetError());
goto L1;
}

while (1) {
ProcessEvents(window, renderer);
Render(renderer);
SDL_UpdateWindowSurface(window);
}

SDL_DestroyRenderer(renderer);
SDL_DestroySurface(surface);
L1:
if (window)
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
>>
>>102767370
What is not working, specifically?
>>
>>102767370
Your check for SDL_Init is incorrect. It should return 0 on success, so the condition should be if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) != 0).
>>
File: 2024-10-10_19-07-54.webm (476 KB, 1364x768)
476 KB
476 KB WEBM
>>102767412
>>102767470
I wonder if I'm using SDL_SetRenderLogicalPresentation correctly.
>>
>>102767922
manjaro user
>>
>>102767470
It returns a boolean now. https://wiki.libsdl.org/SDL3/SDL_Init
bool SDL_Init(SDL_InitFlags flags);
>>
>>102768151
>we changed this because... well we just had to okay!?
>>
>>102761201
required if you want to render from a frustum further than ~10k units from origin, or do physics in large scenes.
realistically you should limit your scene to ~8k^3 to keep high fidelity physics but float can do 0.01 precision up to 16k and some camera styles behave better than others at larger offsets (velocity smoothed turntable is notoriously sensitive to float precision)
>>
Anyone else notice a slow rise of /gedg/ popularity on /g/ and now it blew up and page 1? Made me smile.
>>
File: uh.png (219 KB, 3110x1103)
219 KB
219 KB PNG
how does TOTK's ultrahand system work? i want to try to implement a basic version of it in my engine. i'm using bullet physics.

as a starting point, i have updated one of my rigid body props with a bunch of attachment points. i modified my python blender exporter to dump them as JSON, so i can easily load the attachment points at runtime.

my screenshot shows a prop in Blender on the left, and some shit piled up in my engine on the right, where i'm drawing all available attachment points and their orientations.

so next i want to be able to create new constraints at runtime to glue shit together.

i guess i'll need to be able to detect when attachment points on different rigid bodies are close to each other?
or, rather, 'is the thing i'm ultra-handing close enough to be able to connect to any other objects at any of their attachment points?'

at which point, i'd create a constraint and lerp the attachment points together quickly until they're glued together?
>>
>>102761510
input is heavily tied to your windowing system, but it's not worth doing this yourself when a hundred libraries have done this before you.
regardless, your runloop should be logically separated from your windowing and input handling, and only process queued input event messages once a frame
>>
>>102768788
Classes?
>>
File: soldier.gif (105 KB, 320x240)
105 KB
105 KB GIF
I'll dump a few random models I made
>>
File: t55.gif (99 KB, 320x240)
99 KB
99 KB GIF
>>
File: truck.gif (146 KB, 320x240)
146 KB
146 KB GIF
>>
>>102764183
Extremely impressive. I would like to do something like this at some point.
>>
>>102768908
>>102768924
These two remind of vehicles you'd get in a bag of plastic army men. Very nice.
>>
>>102768826
classes should only be used to manipulate related state coherently
so
>Classes?
what for?
>>
>>102768853
>>102768908
>>102768924
Nice, I like the style and the consistency of the style.
>>
>>102761521
I love the use of the sky box.
>>
>>102768853
>>102768908
>>102768924
Looks really good. I like the shading. Are they rigged/animated?

>>102762377
How does your music generator work? Notes/samples on a timeline? Interesting.

>>102763615
Really cool works style and tools ui. I want to see more.
>>
>>102769241
they are rigged and partially animated but I have to rewrite the animation code because it's all done CPU side and way too slow atm
>>
>>102763201
Having a muse is an awesome source of creativity if you can get that luxury.
>>
>>102768853
>>102768908
>>102768924
SOVL
>>
>>102768853
>>102768908
>>102768924
feels like LHX Attack Chopper
>>
File: windwakerposter.jpg (545 KB, 1280x1440)
545 KB
545 KB JPG
>>102768853
>>102768908
>>102768924
I like the flat / toon kind of look. In the previous thread you had a grass texture, while it looked kind of retro, it also looked too grainy to fit in with the units. I would go for flat color for the terrain grass (which is a different green than your units).

Here's a picture of what I mean. I reduced the colors so it looks more flat/toon like.
>>
>>102769558
That style is patented though
>>
File: oldshit.png (1.64 MB, 2048x2048)
1.64 MB
1.64 MB PNG
>>102769558
yeah I want to experiment with the art style a lot more later. Right now I'm still leaning towards the unlit retro very low poly very low res almost pixel art style as I'm targeting very low end hardware. Might also play with adding lighting with ordered dithering shading and some other things at some point in the future. The terrain textures are just me doing the spray can brush real quick in a 16x16 tile so it kind of looks like shit no matter what you do but still looks better than completely flat shading

here's a pic of some old shit, originally was going to do this flat shaded thing but I got really bored and it just felt a bit lazy/uninspired
>>
Why do they think this is aceptable? Valve is turning a library into a framework, at this rate SDL4 will be a full blown OS.
>>
File: reload.webm (1.86 MB, 1920x1080)
1.86 MB
1.86 MB WEBM
>>102769700
here's some more really old shit from when I first started this project
>>
>>102769700
>I'm still leaning towards the unlit retro very low poly very low
The simplicity of the graphics kind of reminds me of carrier command. Is that what you're going for?
>>
>>102761510
>windowing
I call SDL to make a window and pass a pointer to the window into the renderer to use it as needed.
>input
While SDL_PollEvent isn't zero, keep getting events and passing them to relevant subsystems.
>runloop[sic]
While the UI is not signalling to exit (SDL_Quit events are routed into the UI since the UI also handles things like clicking menu -> exit), continue the main loop.
>>
>>102769966
not really, going for more like an old sega/nintendo game or ps1 sort of vibe

I think this was specifically something that I was inspired by initially
https://youtu.be/ebzDRe1ItH8
>>
>>102770064
Yeah, that's what I was about to suggest. Make sure to add a lot effects, because seeing the 2d sprites like splashing water, wind trails really improve how the visuals look.
>>
>>102761510
Expending mental effort designing abstractions for your platform layer when you're probably already using something like SDL is a literal waste of time.

main
-> initialize stuff
-> run main loop
-> process events
-> update game <<<<<<<<< THIS IS WHERE YOU FOCUS YOUR EFFORT
>>
Can anyone explain to me why quake engine and Godot can produce the same game, but have a huge gap in performance? I'm sure we all saw that one video where a game dev attempts to optimize his game using Godot, but I just don't understand how 90s graphics run so poorly on a newer engine.
<
Is it because Godot by default uses more demanding techniques compared to older engines or is it really just the "bloat" or whatever that means?
>>
File: IvyMen_MdNQum7tlW.webm (2.52 MB, 1008x728)
2.52 MB
2.52 MB WEBM
Improved user interactions with screens
>>
>>102770154
>demanding techniques compared to older engines or is it really just the "bloat"
combination of both, but if you write your godot code in c++ you should be able to get comparable performance to quake. After all quake was written in c/c++.
>>
File: field.png (5 KB, 320x240)
5 KB
5 KB PNG
>>102769700
>here's a pic of some old shit, originally was going to do this flat shaded thing but I got really bored and it just felt a bit lazy/uninspired
I think if you give yourself the constraints of low poly and low color it could force you to come up with some creative solutions. In a weird way, if you limit yourself to something like 16 colors per model from some master palette of something like the the NES it would make you have to think about how you'd make your models stand out and only focus on what's really necessary. I've often found that placing limits on myself keeps me out of scope creep.

I think this kind of flat style has some advantages. Like if you want to have different factions, a bright red or blue patch or armband is going to stand out more than it would if you went for a more "realistic" textured look. As would something like those yellow sergeant stripes (if the soldiers get upgraded/promoted). The trick is always to kind of hint at the detail and let the person "fill in the blanks" themselves (like pic related).
>>
>>102770215
>c/c++

it is all so tiresome
>>
>>102770215
Well no unless you rework Godot it's going to convert the c++ into gdscript
>>
File: 1399995617767.jpg (37 KB, 500x476)
37 KB
37 KB JPG
>>102770213
Oh man, that's cool. Are you making an immersive sim?
>>
>>102770259
if you write you code as gdextension or as a module gdscript wont be involved
>>
>>102770154
Quake is FPS engine, Godot is a generic game engine using a hierarchy of nodes as the main data structure, it will be always slower than an specialized engine.
>>
>>102770136
yeah I want to go crazy with the FX, will add 3D geometry like spheres n shit for explosions, should be awesome

>>102770213
I love this shit man

>>102770154
it's not even the engine's fault most of the time, people just write really bad code that runs terribly without realizing sometimes
>>
File: chunk_entry_triggers.webm (3.21 MB, 1920x1080)
3.21 MB
3.21 MB WEBM
Implemented a full chunk trigger system since I need it for dynamic loading and unloading on infinite scrolling terrain.

In this webm I'm moving through all of the chunks and the text in the terminal is telling me when I enter a new chunk.

Shaping up to be an actual game with world context now. Now I know where the player is in terms of chunk.

Praise be to the King Jesus Christ.
>>
>>102762870
That's the best one
>>
>>102762870
ignore it and pick C
>>
>>102771415
tsmt
>>
this is a really good talk, especially with how it goes into all the levels of culling
the fact that you can skip meshlet "backface" cone culling via occlusion culling is an interesting finding
https://www.youtube.com/watch?v=EtX7WnFhxtQ
>>
>>102771681
Cool to see the performance breakdown
I wonder how much faster this is compared to regular rendering
>>
Is it stupid to use a full-featured UI framework on a (menu-heavy) game? Is the performance just not comparable to something specifically made for games?
>>
What's a good open source physics engine to use for my game? I want it to look and play like a mix of Abyss X Zero (video below), Drakengard 3 and Nier Automata and I want to use a game engine that can handle a lot of action, objects and destructible objects on screen (it'll probably be similar visuals to this in order to make sure it runs). I'm taking the time to learn Raylib and Blender in order to make it.

https://www.youtube.com/watch?v=rsnr8p9bEqw
>>
>>102772462
bullet
>>
>>102772462
PhysX. Nothing else compares, for open source C++ physics engine. Quality, AAA
>>
I have my game engine in C.
Write my own physics engine or write C bindings for a C++ physics engine and compile with g++?
>>
>>102772536
>>102772602
Which one supports less deterministic physics/ I want the game to play like a lot of the mid-2000s games with destructible buildings, ragdoll and cool explosions? I have a softspot for games like Just Cause and Saint's Row 1, that were just giant physics sandboxes.
>>
>>102768853
>>102768908
>>102768924
Soulful.
>>102769726
SDL sucks.
>>102769841
Great.
>>
I know Java is slow and I know Gamemaker is slower, but how much slower? There is Starsector that is pretty much 2D Mount&Blade in space that was written in Java and it does alright, performance-wise.
Not to mention Minecraft.
It's there hope to make something similar in smaller scope?
>>
>>102773955
Don't worry too much about performance other than basic cache efficiency. Use arrays of uniform data wherever possible. Otherwise, don't worry too much about it.
>>
>>102772315
Try this out
https://nicbarker.com/clay
>>
>>102773985
cache efficiency is one of the least important optimizations you can make
the most important optimization you can make is using efficient data structures and avoiding O(n^2) operations
>>
>>102769726
>#define SDL_USE_CALLBACKS
>"why is it using callbacks?"
Kill yourself
>>
>>102773532
>SDL Sucks.
Suggestions for SDL alternatives?
>>
>>102774514
There is none. Just use SDL
>>
>>102774514
I like GLFW. I've used it for small projects for years.
>>
>>102774514
GLFW
>>
>>102771851
I think the idea is to cull as many triangles as early as possible since these models are so detailed nowadays (and we can see the triangle counts drop in the charts). Instance culling alone will still leave you with your subsequent expensive shading passes running on fragments the player will never see. Putting numbers to it should be done though since it seems this conference everyone is talking about meshlets. There may be more details on the benefits of switching over in another talk. But if you're not trying to render modern AAA-levels of geometry with your renderer it may not be worth the pain. Mesh shaders in particular lock you out of the 10x0 GTX series and older. And emulating mesh shaders with compute shaders doesn't quite work since mesh shaders have direct access to the GPU rasterizer like a regular pipeline, but with compute shaders you have to use a 2nd pass with the full pipeline and transition + manage memory along the way for your partial results. Reading into it, it seems expensive/non-performant if the card doesn't natively support mesh shaders.
>>
>>102774904
It's definitely only for the latest AAA games, indies should not be pursuing these rendering techniques for dozens of reasons
Complicated to implement, doesn't work on older hardware, probably performs worse if you don't have a complicated scene, implementation is undoubtedly still buggy and good luck getting those bugs fixed as an indie
>>
>>102775043
Yeah I need to stop spending time looking into this stuff and just rip the bandaid off on working on physics integration
>>
>>102761180
i already know C, do i really need to learn C++ to make a game with SDL? most tutorials online use C++.
>>
>>102775323
Most game developers use C++ so most libs will be in C++
>>
>>102775323
if you learn C++ you might as well use SFML
>>
>>102775323
SDL is a C library so not really
>>
>>102774569
>>102774634
What do you use for sound?
>>102775323
I'm using C with SDL. You don't have to learn C++.
>>
>>102775388
>What do you use for sound?
SDL_Mixer is the best there is desu. I use it even in Vulkan projects and to my knowledge almost every application uses it that doesn't need 3D sound, so all emulators and such
>>
>>102769841
>>102769700
Is this all done from scratch? Do you have any tips or guides for modelling and animation?
>>
>>102769841
What's your WM?
>>
>>102774001
Looks pretty promising, I think I skipped over this one in the past because I was looking for more advanced typographical features, but in the end I think everything will be much simpler if I hook up harfbuzz on my own side and pass everything through it
>>
>>102775665
not him but this looks like awesomewm
>>
>>102775462
SDL_mixer sucks. It can't do some pretty basic stuff ootb (e.g. fade to specific volume) and has weird limitations like not supporting looping sound effects (and not supporting out-of-band loop points in general).
It's probably fine if you're making a game and are willing to work around it, but I've tried to use it twice now on engine reimplementation projects and had to replace it both times.
>>
>>102775935
so what did you end up using?
>>
My game runs at a fixed 60 FPS. Can I split up my sound into 1/60s chunks and play those chunks back?
>>
>>102775947
I use SDL's audio callback with libsndfile and sts_mixer, which means I've had to implement a lot of stuff myself that's built-in to SDL_mixer (e.g. fading, channel management), but it gives me the control I need to implement arbitrary audio APIs.
>>
>>102776071
Why?
>>
>>102776090
If the game is running slow or fast I want to be able to speed up or slow down the sound.
>>
>>102776128
You can already do that without resorting to playing 1/60th of a second long clip that will sound terrible
>>
>>102776128
>If the game is running slow or fast I want to be able to speed up or slow down the sound.
So you want the sounds to stutter and distort when there's a lag spike?
>>
>>102775388
OpenAL
>>
Are there any good resources on creating AI for an xcom style strategy game? I was thinking of looking into how chess AI works as a starting point but I was curious if there's anything else.
>>
>>102776617
I'd check this out
https://openxcom.org/forum/index.php?PHPSESSID=40d4751652298c4a3e03157140d0e097&topic=11663.0
>>
>>102776085
So you DID end up using SDL lmao
>>
>>102776646
Wow pretty close to exactly what I was looking for, thanks
>>
>>102774514
Fast and easy: Raylib.
Slow and easy: XCB + Vulkan.
--
SDL sucks because it's in-between of those two above.
>>
>>102777642
SDL doesn't perform the function of any of the things you mentioned
>>
Also, work in progress on ripping 25 year old game with art that I don't own...
Framerate is too wild to capture, it hits 500 fps sometimes...
As I expand, add more things on the map, write bot AI, it'll probably stabilize.
Map size: 130 x 110 (tiles, 32 x 32)
Landmarks: 130
Locations: 70
Monsters: 130
>>
>>102770213
videogames cause violence
>>
I'm so fucking bored.
>>
>>102777940
Not me, I just drew a motherfucking triangle to my window
>>
Say I'm making a sims-ish game. What should I do for terrain and houses -- normal sims fare (tycoon terrain, normal looking walls placed by an in-game "tool", etc), or a minecraft/lego-style twist (terrain is represented as blocks or voxels, houses are built by placing blocks...)?
I'm considering the pros and cons of both options, and the latter option seems kinda enticing to be honest.
>>
File: 1707761149565805.png (113 KB, 3612x1554)
113 KB
113 KB PNG
How do I read the depth and stencil buffers into their own textures in OpenGL god dammit. Nvidia does it so why can't I.
>>
>>102778013
bind a texture into the depth and stencil buffers
>>
>>102777988
I'm bored of drawing triangles and tried creating some shitty 2d games but I lost interest.
>>
>>102778001
I'm doing voxels with naive surface nets, I think voxels with an SDF is very intuitive. Just alter the SDF field and alter the terrain.
>>
>>102778001
If you had to individually place every block it would be super annoying - you would need to make a tool to make it more convenient (like drag a line and create a wall) - so in the end you're still going to be placing walls with a specialized tool, the only difference is the granularity of the architecture which isn't actually a fundamental difference, nothing is stopping you from having "the sims walls but you can actually divide them in a 10x10 grid" or whatever
If you're talking about graphics, like having thick minecraft-blocky walls, Idk, I think it looks kind of ugly and the only reason I'd play The Sims is for making pretty houses
>>
>>102778001
Blocks are so boring
>>
>>102778001
Try marching cubes terrain. It can support completely random caves, underground stuff, etc. It would allow you to build Hobbit houses in the side of a mountain, or at the edge of a cliff.
>>
File: file.png (513 KB, 690x690)
513 KB
513 KB PNG
>just use nanite goy!
>>
>>102778642
Ok, but does it look good in game?
>>
>>102778642
What are you poor? Why does this matter?
>>
>>102778642
You really don't understand how Nanite works do you
>>
>>102779020
do you?
>>
32 bits floating point color range calculations, no, I won't apologize, no, I won't call it hdr
>>
>>102779102
It's a LOD system among other things
It automatically handles geometry cases like that so it's not an issue
>>
>>102779119
https://en.wikipedia.org/wiki/High-dynamic-range_rendering
>>
Another bump in progress...
>>
>>102778035
OpenGL complains when I bind distinct depth and stencil buffers as textures though.
Maybe I just gotta simulate the stencil part since that's what gives the most trouble.
>>
>>102779549
you just have to make sure you use the right formats
>>
>On August 9, 2004, Microsoft updated DirectX once more to DirectX 9.0c. This also exposed the Shader Model 3.0 profile for High-Level Shader Language (HLSL). Shader Model 3.0's lighting precision has a minimum of 32 bits as opposed to 2.0's 8-bit minimum. Also all lighting-precision calculations are now floating-point based.
>>
>>102779816
FUCK MICROSOFT
>>
>>102779816
32 bits floating point, as I was saying
>>
>>102775388
see
>>102776289
OpenAL is very easy to set up, 3D audio out of the box.
You can write your own WAV importer. If you need something like OGG, try stbi_vorbis:
https://github.com/nothings/stb
>>
https://github.com/Hirrolot/awesome-c-preprocessor
https://github.com/hirrolot/interface99
Well /gedg/? Why aren't you writing your game in C99 with a ridiculous amount of macro hacks?
>>
>>102780053
Forbidden knowledge?
https://youtu.be/9B4STUYsLig?si=y2Jyg2Hhm3DBqcps
>>
>>102777674
raylib serves the exact same purpose SDL does
>>
>>102780437
SDL is an OS wrapper
raylib is a simple game framework
>>
File: 7301 - SoyBooru.png (45 KB, 419x323)
45 KB
45 KB PNG
>>102761180
>/gedg/
do u guys actually play games? I bought a steam deck and it's been okay but I've had negative feelings about the time I've spent playing games instead of making them and think about selling it
>>
>>102772462
BEPUphysics
https://www.youtube.com/watch?v=tjtwSq3u6Dg
>>
>>102780491
Wife likes to watch me play while she sews/crochets in the evenings after the babies are asleep. Playing Thief Gold right now, will do Stolker 2 Hort of Chornobyl next.
>>
>>102780491
I played Katana Zero recently, pretty good pixelshit game.
>>
>>102780491
played dragon quest x recently, phenomenal mmo, though I haven't logged in a couple weeks
>>
>>102761180
Playing some terrible low-effort game on itch.com and see they get a decent amount of attention is really inspiring.
>>
>>102780491
no because I played all the games I want and now want to make my own
>>
>>102780053
>https://youtu.be/_WprtiBCNfk
cool but I don't understand why did the committee chose macros instead of the ability to run normal C code at compilation step, either real C code or just emulated stuff. This way you get shit like generics, automatic interfaces, and file embedding for free. You also kinda get a build system in the same language syntaxe.
I'd honestly prefer to run lua or python or whatever to generate the C code, at least I can chose the specific level of "macro" unrolling level. Can you even do a step by step macro unroll in normal C?
>>
>>102761180
>think I want to learn coding and one day make a game
>browse this thread sometimes and others
>feel like I’m a fucking retard and everyone else is extremely smart

It’s over.
>>
My naive ECS implementation took 200ms for 10k entities at 1k iterations with two components. It's down to 50ms now. Flecs is 5-10ms for the same workload, so that's my goal.

I also added a "Bundle" concept, which I personally like more than flecs "Prefab"

// Separately
world.spawn().insert(
Transform {},
Camera {},
ProjectionMatrix::new_3d(75.f, 16.f / 9.f, 0.01f, 1000.f)
);

// Or Bundle
// Camera3dBundle = Bundle<Transform, Camera, ProjectionMatrix>;
// Can override default by list init or .insert
world.spawn().insert(Camera3dBundle {});

world.add_system([](const Time& time, Query<Transform, const Camera> query) {
for (auto [e, transform, _] : query) {
transform.rotate_z(45.f * time.delta);
}
});[/code

Also added an `into_system_param<T> trait with World access for arbitrarily defined system parameter style dependency injection. So much fun
>>
>>102781254
That's pretty slow, is it in Javascript or something?
>>
>>102781254
something's not right, 10K entities is nothing. you're either using big types when you can use smaller ones, or you're having a lot of indirections.
>>
>>102780798
>why doesnt c come with a concept created 40 years after c was made instead of their old way of doing things
>>
>>102781243
Don't get discouraged, learning anything takes time, I think that learning foreign (natural) language is better time spent than learning a programming language tho.
If I didn't learn Pascal in 2012, I wouldn't be here, I wouldn't write programs, do graphics, and I would be a better human being overall. Now I just write code and watch documentaries.
--
I'm satisfied with the performance on this one, vertex buffer is bloated sadly, each vertex is 32 bytes, so I can make different colour overlay for each vertex in a sprite...
Usecase? Coloured text, vertical or horizontal gradient, or those combined. No one sane would need to colour sprites with those options I think, but fuck it, it's a feature...
--
I'm using old-ass Thinkpad T440s, with some shitty integrated Intel GPU (incomplete Vulkan support, this is rendered with XCB+Vulkan), and some crappy Intel CPU...
Currently, with map 130 x 110 tiles, 1300 monsters, 1300 landmarks, 1700 locations and 1700 constructions, game uses 130 MiB of RAM and 7-11% of CPU. So it's good.
>>
>>102781243
Just keep learning anon. The fun is in the journey.
I've felt like this my whole life, but you get smarter
>inb4 some anon says I don't know anything
You didn't know what I was like a few years ago.
>>
>>102777782
>>102779447
>>102781401
Heroes of Might and Magic?
>>
>>102772687
if you are capable of writing a physics engine than by all means go for it. Collision detection is easy enough but simulating the dynamics part is very complicated.
>>
>>102782056
Most games don't need the dynamics part
>>
>>102775665
>>102775853
it's dwm
>>
File: 1724255968603654.png (95 KB, 250x246)
95 KB
95 KB PNG
>>102782056
If you know how to numerically integrate jacobians you're pretty much set.
But then I rememer, this is /g/... so I'm guessing not.
>>
>>102781837
Yeah, only the sprites tho, gameplay will be more similar to 2D Mount & Blade, real-time, not turn-based, with "strategy" map overview.
>>
>>102782124
it gets WAY more complicated than that actually, you have to do differential equations, you should do a bunch of space partitioning stuff, you should be super autistic about memory layout and program structure etc and then after all that you might still have a shittier library than ODE or something
>>
>>102782382
Spatial partitions are well known data structures and physics engines don't benefit much from fucking around with memory layout (because things are stored in spatial partitions)
>>
>>102782405
I don't even know how to respond to this, your argument is that writing a physics engine in C is not complicated or something?
>>
I hate cmake
>>
>>102782489
Not as complicated as you're making it out to be at least
>>
>>102782495
Use xmake then. It's the best option out there.
>>
I've no idea why people still use cmake. Xmake has been around for years.
>>
>>102782557
I don't know why I still use old include guards when #pragma once has been around for years either.
>>
>>102761180
This gotta be your best one so far, frog. I don't know why it looks so oddly eye candy
>>
>>102782755
>your best one
I've never posted my game in the OP so no credit goes to me. I post other anon's progress.
>>
>>102782755
>>102782786
means a lot to me bros, thank you
>>
>>102782786
Oh no you don't even have the same trips yes I remember my man's trips by heart. Who the hell are youu???
>>
>>102781306
>>102781340
You anons are right. It my first, naive attempt. Now that I have a better idea of the problem I was trying to solve, I rewrote some of the core data structures and now it's in line with flecs. That's awesome.

$ ninja && ./bench-ecs
Execution time: 6 ms

$ninja && ./bench-flecs
Execution time: 8 ms


Also comparable at 100k and 1M. Was worthwhile to take a step back.
>>
https://github.com/wolfpld/tracy
good c++ library for profiling.
>>
File: meson (2).png (50 KB, 1200x600)
50 KB
50 KB PNG
>>102782495
Como home bro
>>
>make
>cmake
>xmake
>ninja
>meson
>bazel
>tup
it's like fs framework but worse
>>
>>102783262
but how else are we going to solve the problem of compiling 6 gorillian loc c++ projects with hundreds or thousands of dependencies!!!!
>>
>>102782816
It's your old pal Frosch. I'm the same guy as always. Stop asking questions, you'll see that the tripcode in the compendium matches the one used on this anonymous forum. Instead, let us discuss how much we hate the United States government and our detailed plans to rebel against our benevolent rules.

>>102783118
But is meson the best one? Or xmake?
>>
>>102776661
SDL and SDL_mixer are not the same thing. SDL's audio support is perfectly adequate: you get a callback and you can do whatever you want with it.
>>
Visual Studio just works.
>>
>>102783751
downboated don't even post here again
>>
>>102772462
Jolt
>>
>>102783751
Agreed.
>>
>>102783751
y'know what works
mkdir build
pushd build
cmake ../.; make -j$(nproc);
popd
>>
>>102783262
I never moved on from make. I just keep writing more elaborate and convoluted makefiles.
>>
So I'm going to make my terrain be oriented according to the basis of the chunk which the player is in. NOT the player.

ran into some weird problems orienting it about the player.
>>
>>102781243
The feeling of other people being smarter never leaves. There's always someone smarter. Just get used to it.
>>
>>102781243
Nope.
1. Believe. Above all. Believe. Mark 11:23-24. What you believe manifests.

2. Have a vision and don't give up on it. If I want to build a dynamic Ocean simulation, I'm not going to stop just because I can currently only build Minecraft water or just a water shader. Now, I'm going to go until I can place rocking boats amidst waves. Use your vision as your measure. This is your project. Not employment where you have to be ready for any situation.

3. Be resourceful. Learn on the fly. Look things up. Don't get stuck in preparation limbo. Start building.
>>
>>102761521
thanks doc
>>
>>102781243
“We all must try to understand what is happening, we need to try to understand what is happening and in my humble opinion ideology is only going to get in your way. Nobody understands what is happening. Not Buddhists, not Christians, not government scientists. No one understands what is happening. So, forget ideology. They betray. They limit. They lead astray. Just deal with the raw data and trust yourself. Nobody is smarter than you are. And what if they are? What good is their understanding doing you? People walk around saying, "I don't understand Quantum Physics, but somewhere somebody understands it." That's not a very helpful attitude towards preserving the insights of Quantum Physics.

Inform yourself. What does inform yourself mean? It means transcend and mistrust ideology. Go for direct experience.

What do YOU think when YOU face the waterfall? What do YOU think when YOU have sex? What do YOU think when YOU take psilocybin?

Everything else is unconfirmable rumor, useless, probably lies. So, liberate yourself from the illusion of culture. Take responsibility for what you think and what you do.”

― Terence McKenna
>>
>>102784821
How do I read more without getting put on a list
>>
>>102784821
>>102784859
oh wait nvm Terence McKenna kek, I thought this was Ted

Terence would've made a good gnostic
>>
>>102784821
I can hear his voice and trademark speech patterns in this post.
>>
>>102784871
funny you say that because I'm the guy who posted that and I've been re-reading uncle ted stuff and watched the ted k movie last night. You can get his books on fitchmadison.com, I have both anti-tech revolution and technological society on my table right now and they're great quality so would highly recommend.
>>
>>102781243
Once you actually learn to program, browsing this thread will fill you with contempt at how fucking stupid most of the people are. Don't feel demoralized by these braindead cnile retards. If you can tie your shoes you're probably smarter than them.
>>
>>102784948
okay I was with you until you said cnile, holy fuck dude get a grip
>>
>>102775323
>most tutorials online use C++
true because they cant handle entities with classes and instances
>>
>>102768853
>>102768908
>>102768924
i can feel the gonna make it aura :)
>>
I am in that amazing situation right now where the plan is drawn out and all that is left is the implementation. The problem is surrounded, the solution has been made.
>>
File: 1728708337-1024x182.png (29 KB, 1024x182)
29 KB
29 KB PNG
>>102769726
>>
>>102786408
>SimpleDirectMediaLayer
>no longer simple (scope + implementation)
>no longer really just a layer, now its a callback state machine
>soon it will only support indirect media
>>
File: game_new.webm (3.11 MB, 1662x946)
3.11 MB
3.11 MB WEBM
would you play it? its free to play in browser or you can download steam client. but only na west and eu west. or just na west. ping > 100 = instant ban. device_user = mobile or smart_tv? instant ban
>>
>>102783014
Talk about it a little, what was the problem with the old one and how did you solve it?
>>
>>102786689
If there's a link to play it in browser I will
>>
File: virtual_chunk_traversal.webm (2.78 MB, 1920x1080)
2.78 MB
2.78 MB WEBM
Ran into some issues today with the coordinate system but got it working.

The whiteboard plan worked.
So what we are seeing here is traversal of a virtual chunk space which rubber bands the relative position of the player and focuses in on the chunk which the player is in.

Pay attention to the Terminal window with the coordinates to see the changes.

Simulation layer. Virtual Chunk Space.

Praise be to the King Jesus Christ
>>
>>102761180
Complete noob here, would learning C# for developing games be worthwhile? Thinking of unity
>>
>>102788390
yeah definitely
>>
>position.lerp to destination
>due to poor floating point accuracy and moving in fractions, it's impossible for the lerp function to ever reach the exact coordinates that you specify (stuff like "if object.position == destination" will NEVER trigger)
>you can either have it wastefully repeat every frame moving sub-pixels (that the player won't notice)
>or go out of your way to code some "when it's close enough (< 0.001), snap to destination, and turn off the script" logic
I hate this.
>>
>>102769726
what's wrong with this?
>>
>>102788999
>>due to poor floating point accuracy and moving in fractions, it's impossible for the lerp function to ever reach the exact coordinates that you specify
please learn what lerp does because you're dead wrong
>>
>>102789013
it will never get to the exact coordinates that you specify.
>>
>>102789025
If you lerp from A to B by a time of 1 then the result will be B
>>
>>102789051
nigger, if I wanted it to snap to that destination in one step, I wouldn't be using lerp. I use lerp because I want it to slide to the next position, I often use a lerp factor between 0.1 and 0.3.
>>
>>102789067
if you never lerp by 1 then you will never reach the end point, that's got nothing to do with floating point inaccuracy, that's just basic math
>>
>>102767370
you should include SDL3/SDL_main.h
>>
>>102773955
GameMaker is the slowest engine on the market
slower than Python and Ruby and Basics
and it is unfixable without rewrite of core
for example currently every numerical variable is stored as float64...
>>
>>102790032
It's not slower than Python
>>
>>102790032
It's funny that sometimes incompetent people write "competent", aka rather popular programs...
>>
>>102790052
GML is about 10 times slower than Python
nothing with any market presence is slower than that
the core of GML hasn't been updated in more than 10 years
that's why you can still decompile a game from 2024 with the same tool as a game from 2014
they just keep tacking useless stuff on top of this embarrassing engine
>>
>>102790303
>GML is about 10 times slower than Python
It really isn't, you should benchmark that
>>
I really would like to toy around with game dev or make demos but I find my desire to program outside of my job is really nonexistent.

Very impressive stuff anons, keep it up

t. lurker
>>
>>102790443
it really is though
and it always has been
https://www.purebasic.fr/english/viewtopic.php?t=20612&start=60 (2006)
https://web.archive.org/web/20200423124309/http://www.indiegamer.com/threads/the-2006-2d-sprite-render-test.7551/page-5 (2006)
https://www.youtube.com/watch?v=3PeGbMvpz4M (2013)
https://www.youtube.com/watch?v=3PeGbMvpz4M (2013)
https://www.cerberus-x.com/community/index.php?threads/performance-test-and-comparison.998/ (2020)
https://freebasic.net/forum/viewtopic.php?t=31880 (2022)
https://github.com/themabus/Get-the-Balance-Right (2023)
and it's not gonna change unless Python starts storing every numerical value as a float64
>>
>>102790603
What are all these random links
Some of them don't even mention GameMaker or Python
>>
>>102788999
>>102789013
>>102789067
Bro, no. I think you are confused.

#include <stdio.h>
#include <stdint.h>

void float_to_binary(float f, char* buffer)
{
uint32_t binary_value = *(uint32_t*)&f;
for (int i = 31; i >= 0; i--)
buffer[31 - i] = (binary_value & (1U << i)) ? '1' : '0';
buffer[32] = '\0';
}

float lerp(float x, float y, float l)
{
return (1.0f - l) * x + l * y;
}

int main()
{
char x_buffer[33];
char y_buffer[33];
char l_buffer[33];
char lerp_buffer[33];
const float x = 1.0f;
const float y = 2.0f;
float_to_binary(x, x_buffer);
float_to_binary(y, y_buffer);

float l = 0.0f;
float lrp = lerp(x, y, l);
float_to_binary(l, l_buffer);
float_to_binary(lrp, lerp_buffer);
printf("x: %f (%s), y: %f (%s), l: %f (%s), lerp: %f (%s)\n", x, x_buffer, y, y_buffer, l, l_buffer, lrp, lerp_buffer);

l = 0.5f;
lrp = lerp(x, y, l);
float_to_binary(l, l_buffer);
float_to_binary(lrp, lerp_buffer);
printf("x: %f (%s), y: %f (%s), l: %f (%s), lerp: %f (%s)\n", x, x_buffer, y, y_buffer, l, l_buffer, lrp, lerp_buffer);

l = 1.0f;
lrp = lerp(x, y, l);
float_to_binary(l, l_buffer);
float_to_binary(lrp, lerp_buffer);
printf("x: %f (%s), y: %f (%s), l: %f (%s), lerp: %f (%s)\n", x, x_buffer, y, y_buffer, l, l_buffer, lrp, lerp_buffer);
return 0;
}


x: 1.000000 (00111111100000000000000000000000), y: 2.000000 (01000000000000000000000000000000), l: 0.000000 (00000000000000000000000000000000), lerp: 1.000000 (00111111100000000000000000000000)
x: 1.000000 (00111111100000000000000000000000), y: 2.000000 (01000000000000000000000000000000), l: 0.500000 (00111111000000000000000000000000), lerp: 1.500000 (00111111110000000000000000000000)
x: 1.000000 (00111111100000000000000000000000), y: 2.000000 (01000000000000000000000000000000), l: 1.000000 (00111111100000000000000000000000), lerp: 2.000000 (01000000000000000000000000000000)
>>
>>102790701
He is lerping by a constant amount every frame so the object will never reach its target
>>
>>102790701
I didn't mean to reply to >>102790716

>>102789013
Ah

>>102788999
Anon ierping between x and y is just picking a point on the line segment between the points (0.0, x) and (1.0, y)
>>
>>102786689
Why would I play it when you just told me I'd be banned instantly despite being in North America
>>
>>102790716
sounds like the setup for a horror movie
>>
>>102767370
tried to replicate this, this only seems to happen with the software renderer. using SDL_CreateRenderer will properly render a white window with no visual glitches when resizing. weird.
>>
File: IMG_7851.png (47 KB, 1331x234)
47 KB
47 KB PNG
>>102763044
>>102763062
>>102763125
>tranny seething because his tranny-controlled engine got competition
Nice LARP, you concern-trolling tranny, but try to be less obvious next time.
Btw, you will never be a woman.
>>
>>102793051
I think you're lost friend
>>>/vg/agdg
>>
>>102790603
In the example (https://github.com/themabus/Get-the-Balance-Right/blob/main/Pygame/RayTracer256.py) for Python it could be using numba and just absolutely go brr
>>
>>102793149
Kill yourself, troon.
And don't forget to livestream it so we can all have a laugh.
>>
>>102793202
wrong thread lil bro
>>
>>102793206
>w—AAACK!
Join your brothers by tying a noose around your neck and hanging yourself.
It's always funny to see you tranny freaks kill yourselves.
>>
>>102763044
>I'm a nazi
>>102763062
>I am a nazi too

>this is how a samefagging leftshit rat tries to "fit in"
lmfao



[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.