[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: engine 2024.jpg (285 KB, 597x903)
285 KB
285 KB JPG
Technology Survey Edition

gedg/ Wiki: wiki.installgentoo.com/wiki/Gedg
IRC: irc.rizon.net #/g/gedg
Progress Day: rentry.org/gedg-jams
/gedg/ Compendium: rentry.org/gedg
/agdg/: >>>/vg/agdg
Render bugs: renderdoc

Requesting Help
-Problem Description: Clearly explain the issue you're facing, providing context and relevant background information.
-Relevant Code or Content: If applicable, include relevant code, configuration, or content related to your question. Use code tags

Previous: >>102100103
>>
>>102150510
A handle is a general concept for something kind of like an indirect pointer. Usually used to provide addressing from one subsystem to another but without giving out direct references or pointers (since the subsystem might internally shuffle things around in memory). A handle could be the integer key for the object's place in a hashmap, or an integer being used similar to a key for an index in a vector where the objects are stored., etc.
>>
File: 1724794075589025.png (6 KB, 794x624)
6 KB
6 KB PNG
I need an optimal routine for shadowcasting that can realistically run on the NES in a single vblank.

How do you even begin tackling this sort of optimization problem, since the naive implementation will be so slow it will introduce bugs BECAUSE it is slow?
>>
>no replies
where are my C programmers at? I thought you lads loved low level
>>
File: output.webm (2.34 MB, 1280x720)
2.34 MB
2.34 MB WEBM
Added double windows with a semi-transparent pane.
It raises the issue of having to sort the objects and the cursor. Which will require that I split the object and the drawing of an object so that I can sort them independently. I need to do that because I don't want to treat the cursor as a placed object.
>>
>>102153206
Yeah, transparency is pain.
>>
I know like 2 games made in unreal engine. I thought it was just a toy children played with.
>>
>>102151005
By shadow casting do you mean like in roguelikes where there is a grid or do you want to cast shadows using arbitrary shapes, because the latter has to be expensive since it’s arbitrary unless you do some kind of baking which you probably can’t afford to do
Well maybe there’s something you can do with the NES hardware that I don’t know about
>>
>>102150965
Yet your obsession still makes you post about them
>>
>>102153206
I wish I had even the slighest amount of motivation you have
>>
>>102150640
>amazon lumberyard
wait what
that's what amazon called it???
jesus fucking christ might as well name it "amazon beaverpuke pit".
>>
>>102155446
reject motivation
embrace discipline
>>
>>102155474
It was always called Lumberyard before Bezos bought it. No one uses it so the name never mattered.
>>
What's the name of your engine?
>>
Did anyone see that new GameNgen ai shit?

>https://gamengen.github.io/

Faggots on reddit were saying that this will allow entire games to be generated as people play, but to me it just seems like this is running a normal version of DOOM? Do you guys think this is anything to be concerned about?
>>
>>102157320
>only the most documented game in history
imagine thinking a summarizing algorithm can create something original and coherent
>>
>>102157320
>Do you guys think this is anything to be concerned about?
>AI
No, we're good.
>>
>>102150640
>i dont know
how??
probably concept art illustrators??
>>
>>102157093
kikedestroyer97
>>
>>102153206
Goddamn, I love seeing this game. If you released this as a cheap sims1 tool thats easily moddable you'll rake it in

I do have a question about how you manage the tiles, do you track individual tiles as "blocked" when an object goes in it and how do you track objects of the same type? Say your tables for instance, can you click either tile and get the same table object back?
>>
>>102153206
what is the different between a window that is rotated to the outside vs the inside? why can a window even have two rotations on the same wall when you already have inside/outside distinction? you even placed 2 windows with opposite rotations on the same wall? unless you'll have distinction between outside and inside orientation (real windows actually has it, their frame is installed on the inside), there's no need to show the orientation. pls fix, it tickles my autism.
it looks good tho, can you tell me how you make holes in the wall? do you have a wall model with the window in it or you open a dynamic hole?
>>
>>102155446
I wish I had more discipline.

>>102157512
Thanks, I plan to sell it for 12$
>moddable
Uhm maybe one day

>do you track individual tiles as "blocked" when an object goes in it and how do you track objects of the same type?
Kind of, yes. I have a multidimensional array to store the placement and orientation of objects placed in the world. So I can check if there's already an object at xy at either any orientation (when placing a counter) or a specific orientation for smaller item like a dish plate.
Probably not the best way to go about it but it works for now.
>>
>>102155505
reject motivation and discipline
embrace pure spite
>>
>>102157787
what if I have a window with shutters? You would want the shutters on the outside right? And don't expect me to make the snapping recognize what is inside vs outside right now lol.

The holes in the wall are made with a mask texture. That's an idea that I had for a long while (for over a year now). If I was to change it I would go with a wall models with holes in them. But that would require to make a lot of new models instead of just making a texture and call it a day.
>>
>>102157093
Just "engine". I like too many anime girls and can't choose just one name.
>>102157320
It's just an useless toy. You don't have any actual control and in best case it can just mix already exisitng games.
>>
File: file.png (114 KB, 1200x880)
114 KB
114 KB PNG
>>102157943
>what if I have a window with shutters?
yeah that's why i said "unless", but making UI distinction per window model is neat, not really per actual model, just if the window has 4 actual orientations vs just 2, so it's 2 groups
>And don't expect me to make the snapping recognize what is inside vs outside right now lol.
i think room recognition is roguelike coding 101, it's flood algorithm in most cases, for you, you already have distinction in the walls themselves and the ground, just check the tile in front of the window? if it's grass then it's automatically outside. you will 100% need to know the distinction when you have actual sims and you need to unhide or have a seen through effect for the walls in front of the sims won't you?
>If I was to change it I would go with a wall models with holes in them. But that would require to make a lot of new models instead of just making a texture and call it a day.
it's literally the 9-patchs UI trick, except the middle part doesn't exist, and you can drop the left or right side for double windows. there's a bunch of ways to do this including splitting your wall to 9 parts and making the mesh at runtime. it would work for doors and any openings.

can you explain how you handle masking tho? it sounds complicated, is it a shader? stencil buffer?
>>
File: Frillrun.webm (1.7 MB, 640x360)
1.7 MB
1.7 MB WEBM
Finished a game with my own engine. Uses SDL and OpenGL, written in C.
https://shweetmagnet.itch.io/frillrun
https://git.shweetz.net/shweet/frillrun
>>
>>102158527
damn
>>
Question for people who've worked multiple projects: do you think it's possible to develop an engine, while you're working on a game in another engine?
Godot is in good times right now and I've used it a lot in the past, so I'm making my first commercial game with it as a short-term project so I can get my first run-through on Steam. However, I'm betting things will go downhill for that engine in the next 3-5 years and want to start building my own resources in the meantime.
What I have now is a project mainly based on the Love2D framework, since I like Lua scripting, bindings to other languages are easy, and most 3D frameworks seem to support it's use. The goal of this project is to build an engine and create simple 2D games with it to experiment with different techniques. I want the engine to start as a middle layer that the game code calls, so if I want to swap libraries/frameworks, I can do so without changing game code, maybe in the future implementing my own solutions if the problem demands for it.

Is it a bad idea to split mental bandwidth like this? I feel like things are a lot more clear on both ends of development so far.
>>
>>102158588
if you seriously spend more than a few weeks max on a 2d engine , you need to contemplate your life choices.
>https://www.youtube.com/watch?v=JFaOYYSxSEA
Another World is a cinematic 2D games that runs in a custom VM just so the programmer can port it to any platform, all of that was done in assembly too.
showing a bunch of 2D sprites on screen will never be a hard problem even if you repeat the process 3 times for each API (directX, openGL, and vulkan).
>>
>>102158192
Thanks for the tip

Don't worry the check for what is inside/outside is in the list of TODOs. I keep it for when I'm doing room lighting. When this is done, I'll think of using it for the windows too.

It's shader. I sample the texture and if it's transparent, I discard the fragment.
The idea for using a texture was in the case of a round window, otherwise what you propose could work great. Thinking about it, in that case it's just changing the middle part of the wall. Thank you for the food for thought.
>>
>>102158527
No way, an actual game in /gedg/
>>
>>102158588
>Question for people who've worked multiple projects: do you think it's possible to develop an engine, while you're working on a game in another engine?
No. But working on an engine and a game that uses that engine is possible.
>>
File: 1716589747217459.jpg (13 KB, 225x224)
13 KB
13 KB JPG
>>102158736
Holy fucking autism! Impressive
>>
>>102156086
>It was always called Lumberyard before Bezos bought it
amazon bought a license to fork cryengine and named the fork lumberyard
>>
File: talk.png (152 KB, 726x403)
152 KB
152 KB PNG
>>102158736
>if you seriously spend more than a few weeks max on a 2d engine , you need to contemplate your life choices.
>showing a bunch of 2D sprites on screen will never be a hard problem even if you repeat the process 3 times for each API (directX, openGL, and vulkan).
This perspective confuses me.
Nobody said drawing 2D sprites is hard. I said:
>create simple 2D games with it to experiment with different techniques
Which, if you paid attention to the talk you posted, is not dissimilar at all to what the developer for Another World did. He fucked around and found out, finding things he enjoyed, like polygons, and had failed experiments, like rotoscoping.
>>102158833
>No. But working on an engine and a game that uses that engine is possible.
This is the plan. I find is dis-heartening when I see engine dev without a game and I don't think I could do it. The game I have in the project is currently one where you run away from a polygon using steering behaviors.
>>
>>102151005
NES is way too slow for that
>>
>>102157320
>t to me it just seems like this is running a normal version of DOOM?
You need to pay more attention
>>
>>102153334
unreal engine is a toy the bad news is that the children playing with it are studio executives in control of hundreds of millions of dollars
>>
>>102153206
Should add one-way mirrors. My dream mansion would be full of them so I dont have to see all the filthy peasants outside
>>
I've been trying to learn vulkan for 3 weeks and I'm still trying to figure out how this is better than opengl
>>
>>102161254
For (you)? it's not.
>>
>>102161254
[spoiler]its not[/spoiler]
>>
>>102161254
Only upside I see on a personal level is it would (I assume) be easier to turn vulkan experience into a wagie job?
>>
>>102161324
i would hate it
>>
>>102161324
You won't get a wagie job writing Vulkan
>>
>>102161421
Thank god, does that mean I can learn opengl instead?
I have a non-software job atm and gamedev/enginedev for the fun of it. But I do like to hope that finishing a enginedev game will be a good foot in if I ever decide to switch careers. No idea how something like opengl vs vulkan are perceived
>>
which open source or source available game do you consider to have a great code and architecture? which specific code did you find beautiful in it?
>>
>>102161460
There aren't many graphics jobs period. If you're getting a job in gamedev it's unlikely you'd be using any graphics API, especially as a junior
>>
>4ms frametime
>switch from release to debug
>7ms
>enable ASan and UBSan
>50ms
oh
>>
>>102155148
>>102160347
I mean tile based.
>too slow
look at this game.
at 01:21:50
https://www.youtube.com/watch?v=wTS4QNae50g

That's what I mean. How the fuck did they accomplish that
>>
>try to import an asset from blender
>immediately fail
It gets better, right bros?
>>
>>102161796
I saw an interesting blog post about this type of effect awhile back. Maybe it will be useful to you.
https://ncase.me/sight-and-light/
>>
File: 1724650913699307.png (90 KB, 304x276)
90 KB
90 KB PNG
>try to import an asset from blender
>immediately fail
It gets better, right bros?
It's to Unreal 4.
There is no checker texture and instead it's checker pattern.
I think that's the issue.
Am I right?
>>
>>102150640
>7% of AAA studios surveyed are EA subsidiaries
kek
>>
>>102151005
Self-adjoint matrices are all upper triangularizable.
>>
>>102161981
what? how does that help?
>>
>https://www.youtube.com/watch?v=fvxOI0nQsTA
>hey this looks neat
>check for a wasm runtime
>it's a simple VM that will never catch up to lua let alone luajit
lol, lmao even
>>
>>102162228
https://book.veloren.net/contributors/modders/writing-a-plugin.html
lmao rust troons are deranged
>>
What would be a solid way to check if aspect ratio is 16:9 in GMS1.4?
I'm guessing ((displaywidth / 16) == (displayheight / 9)) but I don't want there to be any false negatives from float precision (even though resolutions that aren't an integer multiple are rare).
>>
>>102162497
Make a list of all the possible resolutions
>>
>>102162497
>gms
>>
>>102162516
It just works desu
Don't worry I'm switching to C for my next project, nor would I ever pay money for anything YYG made after 2015
>>
>>102162567
C? Use Odin or Beef or something
>>
File: d7e.jpg (76 KB, 1200x1200)
76 KB
76 KB JPG
>>102162575
>>
>>102162611
kek
>>
Let's all share our /gedg/ confessions.

> Outside of my Frosch persona on this website I sometimes use C++.

>>102161254
It's about power and control. Do I even need it? Maybe not. But I will acquire it regardless. A man has to have ambition!

>>102161281
>spoiler
This ain't your mom and pop's general on /vg/.
>>
>>102162985
Nobody is gonna make fun of you for using C++
>>
>>102161421
>>102161647
27% of AAA studios are enginedev studios.
It just doesn't pay good and is hard work.
>>
>>102163009
I will. Linus will. Rustroons will.
>>
>>102163014
Graphics programmers are specialists, they get paid well but there aren't many of them
Most programmers don't deal with graphics APIs
>>
File: nightmare after 9-11.jpg (1.05 MB, 1959x2048)
1.05 MB
1.05 MB JPG
>>102163009
It's a confession. I'm sharing what I hate most about myself.
>>
>>102161955
>Unreal 4
No idea.
>Blender
just write your own script bro
>>
Something I've been struggling with, as a professional functional developer mostly using reactive patterns, is how to mentally switch to game dev patterns. None of my instinct or intuitions seem to fit without fighting Godot.
It seems like the engine encourages me to calculate things and react to things on every frame, rather than the game state reacting to events only when needed. Yes, I know signals exist, but they don't feel like a first class construct. It's not easy to subscribe to signals globally. They feel limited and secondary.
It's also hard to manage the game as a function of state. Even using signals, you have to imperatively modify things when they happen. None of the example code I've seen feels maintainable or performant or logically structured.

I don't want to tell a Laser to shoot() at a target and emit a signal for the Target to consume, while every frame it reaffirms its existence. I want to just update a data structure which defines which lasers are shooting at which targets, and have the scene render properly, once, until the data changes.

Please help
>>
>>102164546
The scene changes every single frame, most things update every single frame, so it makes sense to do the logic every frame
I'm making a game which does a lot of off-screen simulation so a lot of it works on events instead of by frame update but for a normal video game, just put your logic in the frame update, it's ultimately easier
>>
>>102164577
It's inefficient to update or check for an update every frame when you know the thing only changes in response to an event. Like every tutorial has player movement input processed and polled in process() every frame. Every frame! Every frame it calls isUpPressed or whatever and moves if it is. This CANNOT be the real, best practice way to do anything. The player should be subscribed to a signal on the input and process shit only when up is pressed. And you can do that, with signals, but they make it so unergonomic. I don't get it.
>>
>>102164623
Do you think calling IsUpPressed ONCE a frame has any impact on performance?
>>
>>102164638
Do you think thousands of nodes all calling a dozen functions 200 times per second has an impact? You have a limited frame budget of 7ms or so and you need most of it to render your scene. You can't be wasting 20,000 function calls every frame for no good reason.
>>
hey how about making a game first and then worrying about the performance bogeyman?
>>
>>102164669
20,000 function calls a frame is nothing
In a typical game you probably have a few thousand active objects like the player, enemies, bullets, things that are moving around. And you have hundreds of thousands of background objects, props, things that don't move and barely interact
Updating the active objects every frame is normal and the way all games work. You can't really afford to update all the background objects every frame though, if they interact in any way it's based on signals
>>
>>102164684
All I'm saying is that the default, recommended patterns are not nearly as performant or maintainable as another construct already languishing in the language. But that's just one of the points; it's also just harder to reason about the game state when every node is doing its own thing mutating opaque state constantly, instead of their behavior being derived from state stores. It's just weird. I want to see a discussion with some Godot maintainers about this because they definitely know these patterns and just chose to do it this way instead. I don't understand. I'm not criticizing necessarily, if they did this for good reason, but I haven't found that reason.
>>
>>102164716
All games work in the way you're complaining about, not just Godot
>>
>>102164702
>Updating the active objects every frame is normal and the way all games work. You can't really afford to update all the background objects every frame though, if they interact in any way it's based on signals
Why? Why don't the active objects interact on signals too? This dichotomy implies per-frame is somehow better aside from the performance. But in my mind, event/signal patterns have no downside.
>>
>>102164740
It would help if you provided some more examples here, because some things do, it really just depends on what you find easier
You can have an InputSystem dispatch input events or you can have your player check if an input is down
>>
>>102164780
I was typing but idk what I'm talking about because I don't understand enough to be cogent. All I know is that the default recommended patterns seem unmaintainable and unperformant and hard to reason about compared to a reactive functional model. I don't think it's just because I'm unused to it
>>
>>102164888
It just feels like game devs and their engines get something working and everyone immediately says "ALRIGHT NEXT CHECKBOX" and no one is examining the design patterns that are being encouraged, explicitly through docs and implicitly through the engine design. "Process the shit every frame okay next step." Like, yeah that works, and yeah it's not causing a problem at the moment, but we have frame lag on pixel platformers now on our supercomputers
>>
>>102164917
Processing shit every frame has been how games have worked since they were invented
It's not unmaintainable, you aren't used to it
>>
>>102164546
Just use eventpp. Works like a charm.

Engines like Godot let you use C++ libraries, right?
>>
>>102164669
>you need most of it to render your scene
Your GPU should be handling most of that. If you're spending a huge chunk of CPU time on rendering that's a sign that you've got too many draw calls going on and should be doing indirect calls instead. Batch your shit.
>>
>>102163040
>Rustroons will.
Yeah but for how long?
>>
>>102164716
>>102164917
Are there engines that actually are doing that in production code routinely, though?
>>
>>102165328
yes
>>
>>102164917
if it works it works
better than spending years making a more performant engine that nobody makes a game with because it requires a phd to use efficiently
>>
>>102165464
He's mistaken in thinking that updating every frame is bad for performance
>>
Game devs are writing jQuery. Where's the React paradigm shift?
>>
What kind of math do I need to do 3D?
>>
>>102165464
>>102165490
I think functional programming has caught on with skilled engineers, but not with juniors and Indians, partly because the former have already figured out how to make it work easily. They move to more restrictive paradigms because they understand it makes their code better, and because they don't have a problem working within those restrictions.
Similar to types, which annoy juniors but are the lifeblood of real developers, you accept constraints with FP and with various design patterns for correctness and robustness. And it doesn't feel like game devs have matured to this step yet. Some of it is that iteration speed is paramount, but not all; no one serious is writing games in the highly iterable Ruby.

I've seen some C++ custom engine game code, and that makes sense to me in its way. I've not seen the same maturity in the code on Unity et al. I believe the engines should be encouraging a more mature style in their design and docs especially.
>>
>>102165584
Do you think it's perhaps a little arrogant to call game developers inexperienced because you're new to game development and you're unfamiliar with how people program games?
>>
>>102165576
linear algebra, trig, and maybe some analytic geometry.
>>
>>102165619
Thanks :)
>>
>>102165614
I'm not calling anyone anything. I would love to see a fragment of an explanation or discussion about what I'm saying; I was originally just asking questions; it's just that no one seems willing or able to engage the question: "Why?"
Okay, game devs are doing it all perfectly right. My ideas are wrong. Why? That's what I've been asking. "The current way is fine" is not an answer. "Game devs are experienced" is not an answer. I don't think anyone here has an answer because they don't know. They might feel deep down that they're doing it right, but they don't know why it's right. Many such cases, in every field of programming.
>>
>>102165691
Why what?
>>
>>102165691
A lot of this might just be the inane saturation of beginner tutorialized content. I never see discussions or YouTube videos or anything about design patterns in game dev. Web dev, people argue all day about this vs that. Systems programming? OOP vs FP? Observer pattern? Reactive? Message passing? Arguments abound.

The only argument game devs have is which engine to pick; language maybe. It's shallow stuff.
>>
>>102165691
>it's just that no one seems willing or able to engage the question: "Why?"
I asked you for some examples and you said you couldn't elaborate
It sounds like you're halfway between just following basic Godot tutorials which probably don't teach maintainable design patterns, and you not understanding how games are actually programmed. Unless you say what exactly you think is wrong, it's hard to answer. People aim for a level of robustness that suits what they're creating. The average Unity or Godot game is not going to have nice maintainable code, but it really doesn't need to. Big games will have more mantainable code, but it's still probably going to look hacky to an enterprise developer, that still doesn't mean it's bad so long as it's maintainable enough for the project
>>
>>102165717
We argue about patterns here all the time but ultimately none of it fucking matters expect for extreme edge cases. What matters is the game and maintaining the sanity of the people who have to make the game
>>
>>102165367
Any examples?
>>
>>102165798
I think he's just complaining about the way games are imperative mutable spaghetti state machines, but that's just every game
>>
>>102165584
>>102165691

FP buffs always say functional programming will have all these amazing performance benefits over imperative programming.
Great. Awesome. Can't wait until somebody finally writes fast software using Haskell. I hate C++.

As a serious answer, a big difference between games and most other software is you're optimizing performance for the worst case.
If something runs every frame, that's fine as long as it still runs at the target framerate.
If something runs every ten minutes, but it blocks the frame for a full second, that's unacceptable. You'll get players screaming at you. You won't even get certified to release your game on consoles.
Your event-driven system might be faster if nothing's happening, but what if every single thing triggers an event at the same time?
In the run-everything-always system, this is just what it does, and it's optimized for this. With events, are you allocating them on the heap? Do you pool them? Is it a fixed buffer? What if you don't have enough? Is there time-slicing.

Obviously you shouldn't run everything every frame, but if you're probably going to need it 99% of the time, like checking player input, you'll get more consistent performance eating a small cost at all times than eating a bigger cost when you need it, because nobody's playing a game to sit around doing nothing.
>>
>>102161522
VVVVVV
>>
>>102164669
>thousands of nodes all calling a dozen functions
Show me an actual game where this is happening, and if you can find one, prove that its negatively impacting performance.
Even AAA games with massive scenes arent ticking 1000s of objects every frame. Event driven callbacks can reduce lots of updates every frame. Moving simple animations to shaders can reduce more. You just have to be smart. If the game is an RTS or simulation, then its not using virtual nodes for everything, but thats a very special case, most games aren't simulations.
>>
>>102150640
Have you seen the state of AAA? lol
>>
Sokol gfx is an S-tier library
>>
>>102165717
you're not witnessing discussions between game devs on 4chan, though.
>>
>let's use a list of 5000 functions running in parallel to update 1000 arrays
ECS people are insane
>>
This is harder than it looks... Now i need to get the rectangle to go back to the start
>>
>>102166143
That's an oversimplification if I've ever seen one. Not even remotely accurate.
>>
As with all things I suppose I'll have to use my own judgment and ignore literally all advice coming from the internet. I'll just write my code how it makes sense and ignore you retarded imperative spaghetti writers.
It's lonely having 150 IQ
>>
>>102166312
Who is really retarded, the imperative spaghetti writer or the guy who thinks he knows better than everyone on the job despite having never done it?
>>
>>102162497
>but I don't want there to be any false negatives from float precision
so divide the width with the height, then compare that to the same value but casted to an int
>>
>>102166172
love me raylib
>>
>>102164740
>event/signal patterns have no downside
inconsistent frametime is extremely bad, updating everything always has less variation but is better even if the avg frametime is higher
>>
>>102166998
Not that I disagree with the point you're making, but depending on how your particular event/signal system works you do have the option of time slicing. Basically you keep track (between frames) of where you are in your workload, if applicable, and each frame when you work on that workload you keep track of the time that's been spent on the workload. When it reaches the allowed limit, you make note of where you are on the workload, if applicable, and exit that function. The next frame, you continue, plus any work that's been added.

This basically ensures that an unexpected load won't stall the game as it gets divided among multiple frames. It can be a problem if it's something the game literally can't progress without, but if it's anything that doesn't need to be done immediately then it's a good approach.

Of course, you could also just do the work on another thread, but time slicing is a good option when the work is typically going to be minor but could have occasional edge cases so it's 99% of the time going to be easier not to bother with thread safety and just keep it all on one thread. Then time slicing protects you from that 1%.
>>
>>102165911
The player makes sense to always update, but a lot of things make sense as events.
For instance, a door that opens when the player is near. Whats better:
Update every frame and do a world query for the player
Or wait for the physics system to give you an overlap event and check if its the player
Multiply by 100 doors and I know which one I'm picking.
>>
>>102167421
How do you think the physics system dispatches the event to begin with? Nevermind spatial partitioning, it's a loop with continuous queries.
>>
>>102162575
>Beef
my man
>>
File: 1718352064735464.webm (3.74 MB, 800x600)
3.74 MB
3.74 MB WEBM
Also sharing here I got my collision code working.
The player is a capsule and can slide against walls, walk along sloped surfaces, jump off them, &c.
>>
>>102167536
Good stuff, anon. Spend time on your debug level so you can iron out edge cases.
>>
So what is even the goal here?
Resume padding for a graphics programming job?
Making a performant 2d game framework?
Making a performant 3d game framework?
Actually making a good game?
I suspect you're all just interested on the first.
>>
>>102166832
It's GML, everything is a double
>>
>>102166264
systems in ecs is just a flat list of functions that mutate arrays. how is that not accurate?

imagine introducing your project to new guy. "here is a list of 5000 functions, just figure it out what they're doing and how they are related".
>>
>>102167618
Making an engine suitable for grand strategy games. I have no interest in working as a programmer.
>>
>>102168003
complete abscence of structure is the biggest problem of ecs in my opinions.
>>
>>102168004
The unit limit in the age of empires games always was 200 units. I'd bet unreal engine could handle that not as sure about unity though. coding it in unreal engine C++ would be more performant than blueprints though ofc.
>>
>>102167934
Im sure it has a "convert to whole number" function
>>
>>102168037
https://store.steampowered.com/app/1468720/Ultimate_Epic_Battle_Simulator_2/
here's a unity game with 10 million units
>>
>>102162497
simplify the fraction: compute greatest common divisor (gcd), then divide both numbers with that. this will be an integer for all reasonable display sizes. then if displaywidth / gcd == 16 and displayheight / gcd == 9, it's 16:9
this works for 80% of the resolutions out there, but unfortunately misses the one that occurs 80% of the time (1366x768) which isn't exactly 16:9. i recommend special-casing that one by crashing the game and showing a popup window which mocks the user for being a poorfag and tells them to get a job, because that resolution needed to die 10 years ago
>>
>>102168029
The Carmack Approach is to make everything use the same struct and then put that struct in an array. It's the simplest possible thing that can work and it actually works quite well.
>>
File: 1724878565741128.jpg (121 KB, 1080x919)
121 KB
121 KB JPG
>>102150640
do any of you anons have any experience with universal parsers like yacc / gnu bison?
I have to parse a lot of different file types and considering it, but I'm watching the tutorial and it seems crazy
>>
>>102168795
There's a youtube series that goes over doom in python. Its all trigonometry. Still it was a 2.5d game and not what is being done nowadays. Its like comparing msdos to windows 11.
>>
>>102168839
He did the same thing thing for doom eternal i believe
>>
>>102168898
well by then he had a larger team. Still impressive though ngl. But his facebook metaverse flopped.
>>
>>102168898
Carmack had nothing to do with Eternal except that the game was on the id Tech line of engines. Megatextures aka the last thing he worked on at id before he got pulled in by Oculus was gutted from DE
>>
>>102169150
no he was hired as a consultant
>>
>>102168003
Systems are indeed functions that mutate data. Each system only mutates one kind of data though, linearly. Chaining of systems that operate on the same data, but differently, lets you have different behaviours which you can tweak through data. It's a database CRUD architecture, that's all it is. If web monkeys can do it, so can you.
>>
>>102167480
This is maybe a good point, but I doubt doing it in your own code will be nearly as fast
>>
>>102166172
>spend some time in raylib
>get reasonably far
>at one point decide to refactor
>models no longer load
>library crashes
>end up trashing project after a few days
>come back after a few months
>I moved model loading before initializing the window when I refactored
I'm a spastic
>>
>>102168829
>y-ACK
>>
>>102158527
kino. although what's the thing in the middle? the MC's overweight wife?
>>
>>102161701
expected. those sanitizers do crazy things
>>
>>102171750
MonoGame doesn't have this problem
>>
>>102168795
this is approach to store data. but the update loop is normally structured code that you can easily step through. not the case with ecs.
>>
>>102167618
For me it's just fun (and to keep myself busy while neeting)
>>
>>102167618
For fun. Maybe I'll make something good, I have quite a bit of experience in gamedev so I have a good idea what engine should do and what I want from it.
>>
File: 1702757722778514.png (274 KB, 502x371)
274 KB
274 KB PNG
I think I might be too stupid to use more obscure languages. Not being able to stick basic issues in a search engine and find answers is going to filter me
>>
>>102158527
compile it with emscripten, I want to play it in the browser
>>
File: ore-jenny.png (215 KB, 1189x983)
215 KB
215 KB PNG
Loads of minor fixes to the UI, now I have keyboard shortcuts and I made my first model solely in the editor.
>>
>>102174102
Looking good!
>>
File: Seambug_fixed.png (406 KB, 1915x1076)
406 KB
406 KB PNG
The Seam bug is finally fixed.
I noticed something was off with my seams and I've been working on fixing it, in silence.
Now it is truly seamless. The previous implementation couldn't handle 2D Perlin noise seams. Now it can. So I can now do nice intuitive 2D Perlin Noise terrain for LOD testing.


I asked God that today is the day in which this bug nightmare ends, and it was fixed today.

Now we can continue with LOD.

Praise be to the King Jesus Christ forever.

Mark 11:23-24.
>>
>>102172528
Something like that, I didn't think about it too hard.
>>102173951
I had a lot of problems trying to compile it with emscripten, no idea why. shaders wouldn't compile, even though I messed with the OpenGL version and the flags, and when they did compile the canvas wouldn't show up. if you think you (or anyone else) can help me I'd appreciate it
>>
>>102174408
Don't listen to me if I'm wrong but it might be easier to see what's going on if you turn off color interpolation? good luck either way with whatever you're doing.
>>
File: file.png (173 KB, 1549x672)
173 KB
173 KB PNG
>ecs doesn't work in my usecase where i only have 4 players max
>spend a whole blogpost talking how ecs is bad
what a fucking retard, almost as retarded complaining about 1000 functions
>>
>>102174538
Yeah, I'll texture the terrain after I get LOD going.
The colors other than the elevation coloring are debug colors for when I was trying to fix the seams.
>>
Why does the Unity editor ramp up CPU temps? I'm just trying to write some code and it acts like I'm playing Total War Warhammer.
>>
>>102175695
make your own engine and stop using a bloatgine
>>
>>102175695
Telemetry
>>
>>102175695
wait till you see how much resources UE devours
>>
a guy comes in and points the most obvious fault in gamedev, and you guys are like
> i love my spaghetti code
> tests? performance? reusability? never heard of that
> but.. but it's always been this way
> yeah i waste most of my resources, so what?
> aaa pajeets do it, it must be good

no wonder most mordern games are shit
>>
>>102176085
Wasn't he unable to present any concrete examples of the stuff he bitched about?
>>
>>102176085
He was completely unwilling to substantiate his complaint and just said he was smarter than everyone else and left
He was completely wrong about game design patterns being bad for performance, it's the opposite, they're good for performance. Games have been programmed like that forever
>>
>>102176244
arguing about performance in vacuum is the most brainlet thing to do. obviously there are some data structure or algorithms that are inherently better, but it all comes down to the usecase.
people forget that you can go easy and be lazy with code that only runs once in a while.
where the fuck is the actual game tho? even if it runs at 10 fps, where is it?
>>
>>102174860
Not what I was talking about at all but no worries
>>
>>102176485
he was expressing his shock that the system polled input every single frame
which is of course hilarious to anyone who knows how a game works
>>
>engine/source/runtime/engine/classes/engine/engine.h
unreal cracks me up sometimes
>>
>>102176827
I've seen funnier things
>>
>>102176827
I'll never forgive unrealniggers for bundling gigabytes upon gigabytes of sample scenes in their git repo
>>
>>102176121
i dont care much about his issue with performance - as his proposed events are probably pooling at some point anyway.
but i see his point about code readability.
> having big update methods with tons of ifs for whatever could've happened last frame
> input handling - should've always been done primarly in an event-based system, with having access to get_pressed_keys() for some particular issues. even Unity figured it out and came up with Input System, deprecating the default behaviour.
> mixing state with behaviour is often overdone
> gamedevs dont use any kind of automated testing
> component-based systems (ue,unity, probably godot?) having monolith components. gamecontroller/playercontroller/cameracontroller each having at least hunderds LoC, instead of delegating the logic to other classes. i would not be surprised if a Bullet class would be responsible for it's look, movement, when and what sounds to play, particles

performance is obviously dependent on the particular game. yes, modern pcs are faster, so we dont need to optimize as much. yes, hitting the target fps is important. but treating it as pretty much your max fps instead, and cheating your way with dlss is just lazy.
>>
File: building.png (27 KB, 750x254)
27 KB
27 KB PNG
>>102176903
Annoying, but I can deal with that. What I can't stand is how it's a monolith and you have to build every single module regardless of what you're going to use
O3DE has the right approach using decoupled modules
>>
>>102176913
>> gamedevs dont use any kind of automated testing
thats because they dont need it
>>
>>102176935
why are you rebuilding unreal?
>>
>>102176950
I don't like how some post process effects look so I have my own bloom and lens flare. I also removed the bloom dirt mask and bypass some other things.
I've been meaning to change how exponential height fog works also, since in real life you have a layer of fog that grows with height. I don't know how I'm going to do it, but I'm most likely going to add a third layer of fog, or maybe hack the second layer since I never use it.

Then there's the issue that Unreal is known for releasing features when they're 99% done and not giving a fuck about the fringe case where they break, so it's good being able to fix it yourself. I believe they do that to charge studios to fix them, but that's just me being paranoid maybe
>>
>>102176949
> they dont need it
i suppose if you dont refactor your code, you may agree
best arguments for games testing is factorio and sea of thieves, see their reasonings
>>
>>102177095
most people aren't developing a game over a 10 year timeframe
>>
>>102177006
Also a long term goal is implementing low res TAA for post process effects to decouple some things, but especially Virtual Shadow Maps and maybe Lumen, from temporal anti aliasing.
I think UE5 made some absolutely retarded decisions and I'm going in a different direction
UE5 renders 4k at 1080p upscaled with TSR, or native 1080p with TAA
The problem is that TAA and TSR look blurry and have way too much ghosting. TSR looks amazing when standing still, but games are motion. This is doubly bad because Epic shills love to showcase still shots with TSR to claim how good the anti aliasing looks. Yeah, standing fucking still it looks great. Now try moving. Ghosting and smearing everywhere.

It's much better to play at 4K native without any anti aliasing at all. But then you have the problem that virtual shadow maps, Lumen and SSR (possibly more systems) use TAA to smooth out the noise. This means if you want a sharp, crisp image you have to deal with noisy effects (since you don't have TAA anymore), and it's especially bad in the shadows. A potential solution is implementing TAA not for the scene color but just for those effects.
>>
Never mind the red square
>>
>>102174582
it is true though. how many entities of a given type do you even have, like 20?
most things are hierarchical like transform hierarchies and aabb bhs for rendering & collision.
>entity
just a pointer with extra steps
>component
why are you trying to obscure the final type of an object? it just ends up living in the mind of the programer rather than laid out as a complete struct
>system
basically polymorphism

ecs is just another tranny concept like rust
>>
>>102177168
most people are developing shit games with dozens of bugs, no technological/graphical inventions, and with low fps, because they don't care about optimization or solid codebase
"it's just the way it is", because sadly teaching existing gamedevs a proper way to program would take way too much time&money. so yeah, you may be right
>>
>>102177453
Yeah automated tests will make all those issues better right
How many games have you made
>>
Does your engine support hot reloading?
>>
>>102177492
No. I'm using Unreal btw, their hot reloading is a massive fraud
>>
I've been working with opengl through SDL2 in a code-server docker container and everything is peachy there.
I have moved the program outside the container and into Debian 12, and there SDL_GL_SwapWindow takes about a second per frame. When I turn off vsync, it runs quickly and then aborts after a few seconds. In either case, I get a black screen.
What is the prognosis?
>>
>>102158527
wtf, you're not allowed to just "finish" a project. All projects in /gedg/ are eternal until they get thrown on the scrape heap of dead projects.
>>
>>102177478
if you write code with tests (unit/integration) in mind, you have to write your code a little differently. you split your logic, make use of interfaces. all that makes the code modular, and allows you to exchange any of your implementations with more efficent ones, if need be. that gives you extra miliseconds that you can use as you see fit
testing = less bugs
testing = modular code
modular code -> easy to reuse in other projects
modular code -> easy to rewrite with better/faster implementation to reduce bottlenecks
less bottlenecks = more fps
more fps = more room for technological inventions/graphical improvements, or just better player experience

> How many games have you made
sure, just revert to ad hominem. i work with these engines to develop simulators, not games
>>
>>102177648
automated testing has nothing to do modularity. You can write modular code without writing automated tests
The upside to automated tests is you can refactor code and make sure it mostly works, the downside is you have to write the tests. It's not actually worth it to do this for most parts of a game, which you'd actually know if you had made a game, which is why I asked if you had made one
>>
>>102177701
> You can write modular code without writing automated tests
sure you can, but in practice you never do. testing just forces you to do so, with the added benefit of being more error-prone.
it's like saying you don't need a car. yes, you dont, but it just makes things easier
>>
>>102177764
>sure you can, but in practice you never do.
what the hell gave you this idea?
>>
>>102177771
reading gamedev code all over github
>>
>>102177805
You're reading bottom of the barrel code written by amateurs
I write modular code and I don't do automated tests
>>
>>102177813
good for you :)
btw even reading gtav leaked source code is unbearable. i let it slide though, just because it probably uses some legacy code that nobody wants to touch after so many years, you never know what might break
>>
>>102177272
hell yeah anon. make that yotsuba game
>>
>>102177839
Yet GTA5 works, doesn't have a lot of bugs, runs well and looks great
>>
>>102177492
only shaders. I could probably get game code hot-reloadable but I spend most of my dev time working on the engine code which has proven difficult to hot-reload
>>
>>102177861
is that why it takes 2 minutes to get into online, and then get randomly dropped off lobbies?
also imagine how much time would have been saved developing it & gta6 had it been written better.

>most people aren't developing a game over a 10 year timeframe
those were
>>
>>102177901
GTA5 is one of the biggest games ever made
GTA5 has less bugs than the average game
But of course you, a guy who hasn't made a game, knows how to program better than the people who actually made it
>>
Godot chads rise up
>>
>>102177860
ty the binary for the game is 1.1 mb so far
>>
>>102177907
you just gonna same the same things over again?
yes, it does take hundreds of world's best developers to make such game.
> has less bugs than the average game
they can afford to spend millions of dollars on game testers, and patching each bug with an individual `if` (there are many of these in their code). i bet devs would love to have proper code, it's probably too late now.
>>
>>102177970
Talking about what "good code" is without any sort of objective measurement involved is just dogma
I don't know what you think is wrong with the GTA5 code, but if you're suggesting it needs more rigor then I think you're probably wrong, because it's not a buggy game in the first place. You'd just be increasing development time for no reason
>>
>>102177995
there is plenty of literature about code architecure. good starting points are what gang of four/kent beck/uncle bob/etc. wrote. you don't always follow their advice, especially in games where performance is critical, but you need to at least be aware of many of main ideas, and applying what suits your needs best.
yes after so many years, many of gta bugs are patched (except those two main ones i mentioned)
sorry not gonna argue that better code is better for now. gotta sleep sometime.
>>
>>102178098
You sound like you haven't worked. Yes, better code is better. Everyone wants good, well-architected code. What ends up being created for a multi-year, multi-billion dollar project will often stray from that. It is dangerous to rewrite things once so much is in place. I have no idea why you're critiquing GTA V either
>>
File: file.png (1.21 MB, 960x540)
1.21 MB
1.21 MB PNG
Made some improvements to my steam page. Would love some feedback.
https://store.steampowered.com/app/2623630/Exoforge/
>>
>>102178260
it'll probably flop don't be too discouraged. Its too generic and the cars look bad. You would have been better off making something funny and quirky like pickaxe in the popcorn mines.
>>
File: file.png (11 KB, 309x95)
11 KB
11 KB PNG
>>102178260
>early access
>>
>>102178260
Looks good to me. The video shows people having fun playing your game which is a massive hook.

I wish you nothing but success.
>>
>>102178098
It's kind of arrogant to assume developers on some of the most complex software that exists on the planet aren't aware of these
Idealism falls apart under the weight of reality
The fact that a game as complex as GTA5 can ship at all, and be relatively free of bugs and perform well is a miracle
>>
How do you prevent cheating in an online multiplayer game?
>>
>>102178762
Do everything on the server and make everything deal with the lag and rubber banding
>>
>>102178762
there's premade solutions for that but they're rootkits
>>
>>102178773
And? The retards that play multiplayer trash love installing spyware and rootkits
>>
>>102178762
you don't, unless you're running multi million dollar esport contracts
you think coding an nsa tier rootkit anticheat is cheap?
and if off the shelf solutions worked, they wouldn't have to rely on rootkits
easy anti cheat is called like that because it's easy to beat
>>
btw, the answer to cheating in online games is having blacklists, pools, clans, and communities/guilds
just let people play with the ones they want to play with, and cheaters will naturally be left with nobody to play with, without banning them
random matchmaking within a pool, either with a few pool admins or simply through voting to ban players (anyone is free to join the pool but after some threshold of ban requests the player is banned), and that's it
>>
>>102177647
I think it's good for people to sit down, shut up, pick a scope for a project and just finish that. Oversharing it all the time demotivates you and slows progress.
>>
>>102178938
this
>>
You're making fire emblem on the GBA. When the player clicks up, the selection square moves up, the character on that square plays an animation, and an info box appears with their stats.

Typical game devs:
>if left.pressed():
>moveSelectionBox()
>playAnimation()
>showInfoPanel()

Do you see the problem here? Where in the code does the concept of "the selected square" reside? Is it in the outline box? Or is is based on the info panel? If they get out of sync, which one is bugged? How did it happen? You don't know.

Now, average senior software engineer
>if left.pressed():
>setSelection(tile)
Then, each entity such as the box and the info panel and the sprite SUBSCRIBE to the selection state and react accordingly. There is one source of truth. This is how you architect software. It's very simple but you fags can't and won't do it
>>
>>102179135
You're arguing with a strawman
>>
>>102177648
This guy and all his other posts seems to be the only high IQ individual in here. Besides myself.
>>
>>102177995
You're as retarded as the postmodernists who don't believe in quality of art. "You can tell wht my scribbles are depicting so it's not objectively worse than Monet."
Soulful, skilled developers know good code when they see it.
>>
>>102179222
Code isn't art, smoothbrain, it's engineering
>>
>>102179229
Okay Rajesh.
>>
>>102179232
perhaps /dpt/ is more your speed, go hang out with the dunning kruger kiddies
>>
>>102176935
>O3DE has the right approach using decoupled modules
Godot is also structured like this
>>
>>102178260
>AI art slop
>generic tooty shooty gameplay
>looks like an UE asset flip
yeah, stay away from gamedev pal
>>
I hate this thread. what a circle jerk.
All sword games come down to slash press a. You could move a maze with a mouse and hit a dent into the other players armor. But nobody does cause it requires too much math. Something you guys clearly don't know about.
>>
>>102179715
You should make the first sword-slash-mouse-maze-like game
>>
>>102179750
I'd have to use a few assets if they're vailable as im not a mathfag
>>
>>102179135
Who cares if you never release anything
>>
>>102179845
>>102179750
>>102179715
I'll make the logo
>>
brehs ive only ever work with php at fagman. I want to pick up game dev? How hard is it? Do i need to know c++?
>>
>>102180497
you'll learn it if you want to.

you can use an engine off the shelf and use their scripting languages, or make your own engine.

If making your own engine, I'd recommend a systems level language such as:

C , C++ ( I am not going to say C / C++. They're different experiences ),

Zig, etc.... ( Not going to recommend Rust ).

I recommend C. It's elegant in its simplicity and gets the job done.
>>
>>102178938
There won't be new blood in the game then. Most players join groups only when they are already enjoying the game. If they can afford commitment like that at all.
>>
>>102180865
>It's elegant in its simplicity and gets the job done.
This is code for "you'll reinvent the wheel many times and do a worse job than the standard library builders".
>>
>>102180497
Game dev or game engine dev?
If the former then pick one of the 3 major engines and make a game. Unity uses c#, Godot uses it's own scripting language, Unreal uses a combination of c++ and node based visual scripting.
If the latter then yes you need to know c++
>>
>>102180497
>game development
Piss easy, the hardest bit is getting assets, music and sounds that fit within an overall theme. The programming itself is very easy but takes a fair amount of time to get right if you're inexperienced or you make buggy code (which everyone does on the first pass anyway). Use already made engines (unity, unreal, godot etc). Don't bother trying to reinvent the wheel unless you feel like you want to learn particular programming languages at which point you're basically engine deving minus the opengl. If you do want a code only run through use something like SDL, SFML or raylib

>game engine development
You must learn opengl or another rendering engine first. Choose a language (C or C++) and get to work. You will need to really think about your software design before beginning but generally the path for any engine is:
>getting a triangle on screen
>getting a rectangle on screen
>getting mouse input from the screen
>creating collision for your rectangle so you can click it
>decide on event handling pattern and apply it to above and everything else from this point on
>create a z index so that if you have two rectangles, the one in front is rendered and receives a click first
>passing and blocking clicks on your rectangles
>getting keyboard input
>moving an object on screen
>adding collision between objects (i.e. rectangle 1 cant pass into rectangle 2 because its blocking) and collision masking
>texturing your rectangles
>creating rendered text
>creating a button using your rectangles, text and click collision
>creating a vertical and horizontal menus (such that new elements automatically add themselves to the end of the menus elements)
>separation of game world and UI world
>adding animated sprites
Then when you have the above
>decide on 2d/3d
>if 2d you have enough elements to make a full game, everything from here is a derivative of the above
>if 3d learn how to add models, animate them, collisions
>learn pathfinding
>>
>>102180865
what about Odin?
>>
c# mogs your do nothing languages
>>
>>102165584
You can yak on about this trite shit but at the end of the day all software is getting worse: slower, bigger and more buggy. So your functional shit solves nothing when you actually look at empirical evidence.
>>
thread.page = 0
>>
>>102182161
c# also gets decompiled and edited with a simple tool, i thank unity for mainstreaming c#, now every game source code is mine
>>
>https://www.youtube.com/watch?v=t0z3RojiKFg
i think this video should be added in the op for all those anons asking how to start
>>
>>102183410
><PublishAot>true</PublishAot>
decompile this
>>
What they say here is bullcrap though
Sure grabbing the first person/third person shooter template and decorating it is going to be easy but if you try to make anything novel in an enigine you're going to come across problems. Even making a gun follow your mouse is a problem in itself and requires applying trigonometry. I hate these smug web dev fucks.
>>
>>102183500
you can even decompile il2cpp shenanigans
>>
>>102183597
no, il2cpp only leaves symbols names (class, member names). with aot you can strip off all textual type information, exceptions, stack traces etc.

you can compile c# into native library (dll) that contains all game logic and host it inside small c++ program that doing low level stuff like graphics.
>>
>>102183500
>>102183627
if it's easy how comes no indie devs are doing it? I don't even remember the last game that used obfuscation in the past 10 years let alone something that can't be reverse engineered. i think only Sega games add some protection.
>>
>>102183466
to start what?
>>
I keep chewing on shit when I try to game dev like pens or spoons. I've probably ingested over a kg of microplastic.
>>
>>102183809
>I keep chewing on shit when I try to game dev
stopped reading right here
>>
>>102182345
Yes, software is getting worse. And you imagine the proportion of software architected to this standard is increasing? Haha.
>>
When people say they're doing engine dev does that mean they're making a general purpose engine, or that they're making a game and just writing the code themselves?
>>
>>102184949
doesn't have to be a general purpose one
>>
>>102182161
it really does
https://www.alogoulogoi.com/post/2024/lesser-known-operators-in-cs.html
>>
>>102184949
Engine devving for me is making a custom built engine (read tools) to make your game(s). Making a general purpose engine as a solodev is retarded.
>>
>>102183679
Indie devs, and most devs, do not care if you decompile it.
>>
>>102184949
>or that they're making a game and just writing the code themselves?
I mean this one when I say enginedev. I also use frameworks though, so I am practically cheating I think?
>>
Goodmorning, I'm working on a simple mobile game for love2d, however I'm uncertain if it's fun. Please give advice, I'm also not sure how I should make it look, the special drops are going to be powerups but for now they are permanent. https://files.catbox.moe/eefgzg.zip Run it with love2d if you want to try, works on mobile and desktop.
>>
File: desc.png (2 KB, 536x49)
2 KB
2 KB PNG
If you guys are making your own engine, don't do this
>>
>>102185194
couldn't click on settings or quit the game without alt+f4 on windows
game is cryptic with no help, I guess you try to catch the falling squares? it's too bare bone.
>>
>>102185290
Strange, buttons should just work I tried it on most devices. You should catch the filled squares, that's the only condition. You can also grab the line squares but they give you a negative effect, they do give more points though. If you are carrying more then 5 squares you will get fatigued, you can prevent this to go to the left or right side of the screen and leaving them there. The effect thing I'm working on so for now it just decreases your speed or slowsdown your deposition speed (1/6 chance that it does nothing and you keep the 10 points)
>>
>>102185290
found out why it didn't work:
https://files.catbox.moe/wf621b.zip
>>
>>102186239
what was the problem? you were only testing for touch events?
>>
>>102186326
the problem was his bitcoin miner
>>
>>102186326
didn't check what device it was running on properly so yes
>>
if you're not rawdogging pointers what are you even doing
>>
>>102186584
rawdogging array indexing with []
>>
>>102186481
it's the actual source files for a love2d game, the least fishy thing posted in these threads.
>>
>>102186584
rawdogging your bussy
>>
>>102186584
tell me you're a zoomer scriptkiddie without telling me, the post
>>
>>102178260
is this an asset flip? it all seems stiched together
>>
>>102186731
Yep I agree
>>
>>102182161
Idk about mogging but it's pretty comfy.
>>
>>102186584
I make tender love to my pointers. Sometimes she gets feisty and causes a segfault and I drink bleach. But overall we have fun together.

>>102182161
>c# mogs ___
>>
>>102186584
I wrap my pointers in a smart pointer condom and you cant stop me
>>
Generational handles everywhere. Those things are nice and there's no way to program in any other way in Rust.
>>
>>102178260
The text alone indicates that the game is bad. The grammar is wrong in a way that only someone who doesn't read books would write. The text is amateur.
>Welcome to the world of Exoforge, a third-person action adventure
The world is an action adventure?
>take down dangerous NPCs
>diverse NPC enemies
Nobody wants to read the word NPC in an exciting description
>mine, craft and explore
Another shitty minecraft ripoff; instant skip
>all at your own pace!
Implies a lot of boring downtime
>take the fight to the enemy or [bring] resources back to base!
Bringing resources back to base is not exciting, yet there is an exclamation point. Incongruous
>the co-op experience you have been waiting for!
generic
>skilled artist that has done most of the art
A professional does not "do" art, he creates it, or a number of other verbs.
>>
>>102190679
i dont think gpt's grammar can be wrong bozo
>>
>>102184949
It means I'm making a subgenre-specific engine - one that's made for the game I'm making and which has a good toolset to make future sequels reusing most if the code that was used for the first game. This is what most of those "own engine" AAA studios do as well.
>>
>>102184949
Making stuff from Raylib, and i have had fun starting from a vram pointer on esoteric platforms
>>102161796
Hand-rolling and optimizing assembly, why ?
>>102183466
Raylib is superior
>>102181820
Joke
>>102180907
Sad but true. Consult the standard lib manpages kids
>>
Will I run into efficiency issues for a minecraft-like game if I use raylib instead of going with something like glfw?
>>
>>102192541
No you'll be fine
>>
The difference between this thread and /agdg/ is grim. They are really lost.
>>
>>102192541
I mean java minecraft already runs poorly for what it is, you should be more concerned with how you're actually going to implement the game itself since neither raylib or glfw will help with that. if you have issues with one then you can just switch to the other, your game code wont be affected
>>
File: 1709475390078157.gif (930 KB, 270x270)
930 KB
930 KB GIF
>>102192575
Cheers mate
>>
>>102192714
Ya, thats good point anon. I already always try to separate my graphic drawing code away from the rest of it so I'm just once again overthinking things I think
>>
This may be a bit off topic for this general but I thought you guys probably have the know-how for this type of problem. I want to develop a software for rendering 2d graphics for live streaming purposes. It would be mostly rendering text, videos, some images, and very simple vector shapes. I know C but I don't have experience with graphical application and especially not rendering. Could you recommend me where to get started?
>>
>>102192843
learnopengl.com
>>
>>102192843
>very simple vector shapes
No such thing. You will be best off sticking to raster images and SDFs.
>>
I can't make the fps camera work... I'm ngmi...
>>
>>102192700
The more "general"-oriented (i.e. rolling continuous threads) a thread is, the lower the quality. The best threads are standalone game dev discussion threads like those we (very rarely) have on some of the niche boards like /vst/ that have no continuity. Then come the /v/ game dev threads, which were fairly high quality but have deteriorated as they became more frequent and as attention whores / shitposters got attracted by their more continuous nature. Then comes /gedg/ which is a general thread and thus has low quality. Last of all comes /agdg/ which is also a general thread but, even worse, is on a board dedicated to general threads, so it attracts the worst sort of person by default.
>>
>>102193716
/gedg/ isn't low quality
>>
>>102193766
Alright, fine. I'll make a game and mog you all. Just have to learn C# and Godot; it won't be hard.
t. Senior React engineer
>>
>>102153206
I came to this thread just to see the progress of this game but the webbum is apparently corrupt.
>>
>>102153206
Excellent progress as always

>>102194076
works on my machine. Wonder if your browser is fucking you over.
>>
File: r.png (1.15 MB, 1279x766)
1.15 MB
1.15 MB PNG
yup, time to check glTF loading and instanced rendering off the list
>>
>>102194544
gormless jerma factory
>>
>started learning on learnopengl
>took 3 days to understand how vao, vbo worked and to feel a little bit confortable using them for the most basic stuffs
>just finished the hello triangle chapter and the small associated exercises
am i ngmi?
>graduated in math a few years ago so i should be all set for the linear algebra stuff tho
and btw do you guys remember the names of all the functions needed in the process like glVertexAttribPointer or glEnableVertexAttribArray? Or are they quickly abstracted when you start doing real stuff?
>>
>>102195998
Ideally they're things you abstract once then forget about
>>
>>102194544
>10ms
not very good instancing
>>
>>102163072
Not surprised. This is likely more common than you think. I am the same.
>>
Anons, wasn't there a voice generation general? I need a full audio screaming Morpheus meme in my life.
>>
>>102193971
>C# and Godot
>t. Senior React engineer
PFFFT HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA
>>
Decided to update clang and llvm to version 20 and now GLFW doesn't work??? It's throwing these errors:
[ERROR]: GLFW: GLX: No GLXFBConfigs returned
[ERROR]: GLFW: GLX: Failed to find a suitable GLXFBConfig
>>
>>102163048
No they don't get paid well - just like art, just because if something requires talent and a huge amount of time investment, it still won't be well paid, because the demand isn't there.

The ones making buck in games are people who write general purpose software, like backends for live service shit
>>
>>102197846
>if something requires talent and a huge amount of time investment, it still won't be well paid, because the demand isn't there.
If you don't pay your experienced programmers well then they will go somewhere else where they do get paid well
>>
>>102197634
Sounds unrelated.
>>
>>102198240
Yeah, I don't really get it. I tried compiling with gcc and it didn't work as well, so I suspect the issue could be something to do with llvm idk. I think I'll just roll back to stable.
>>
>>102198270
Does 'glxinfo' work?
>>
File: file.png (6 KB, 401x70)
6 KB
6 KB PNG
>>102198536
Nope
>>
>>102198683
Wayland?
>>
>>102197954
It doesn't work like that - graphics programming skills, while hard to obtain, don't transfer to enterprise jeetery, and most graphics programmers are passionate about this shit, so they wouldn't do it anyway. Yes I'm speaking from experience. I did some work as a graphics programmer, authoring shader. Thankfully I made decent money, because I was a generalist, and transferred internally and got to keep the salary, but it's not a career path to earning a ton of money, or one where you get marketable skills.



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