/gedg/ - Game and Engine Development General
Anonymous 01/12/25(Sun)04:24:21 | 339 comments | 56 images | đź”’ Locked
/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
Render bugs: https://renderdoc.org/
Previous: >>103813308
IRC: irc.rizon.net #/g/gedg
Progress Day: https://rentry.org/gedg-jams
/gedg/ Compendium: https://rentry.org/gedg
Render bugs: https://renderdoc.org/
Previous: >>103813308
Anonymous 01/12/25(Sun)05:10:30 No.103863063
this made me lose half my day
Anonymous 01/12/25(Sun)05:11:16 No.103863068
>>103863063
retard
retard
Anonymous 01/12/25(Sun)05:18:44 No.103863126
>>103863063
Lmao I can't say I haven't been there.
Lmao I can't say I haven't been there.
Anonymous 01/12/25(Sun)05:26:05 No.103863163
>>103863063
Don't worry, we've all been there. More often than we are willing to admit.
Don't worry, we've all been there. More often than we are willing to admit.
Anonymous 01/12/25(Sun)05:26:30 No.103863165
Thinking about having visceral sex instead of working on a game, what do?
Anonymous 01/12/25(Sun)05:32:09 No.103863192
>>103863165
Channeling lust into creative drive is a real thing and if you harness it you become unstoppable
Channeling lust into creative drive is a real thing and if you harness it you become unstoppable
Anonymous 01/12/25(Sun)06:10:08 No.103863437
SFML's Text implementation on c# was leaking like was no tomorrow. Every time you set a new strings, it must create a new array with its utf32 representation. I made a change to avoid this. And with this, I have zero new allocations in my game. I defeated the GC.
>Old
>New
>Old
// Copy the string to a null-terminated UTF-32 byte array
byte[] utf32 = Encoding.UTF32.GetBytes(value + '\0');
// Pass it to the C API
unsafe
{
fixed (byte* ptr = utf32)
{
sfText_setUnicodeString(CPointer, (IntPtr)ptr);
}
}
>New
_value = value;
Array.Clear(_utf32, 0, _utf32.Length);
var len = Encoding.UTF32.GetMaxByteCount(value.Length + 1);
if (len > _utf32.Length) _utf32 = new int[len];
var i = 0;
foreach (var rune in value.EnumerateRunes()) _utf32[i++] = rune.Value;
unsafe { fixed (int* ptr = _utf32) { sfText_setUnicodeString(CPointer, (IntPtr)ptr); } }
Anonymous 01/12/25(Sun)06:17:40 No.103863488
Anonymous 01/12/25(Sun)06:22:44 No.103863520
>>103863488
No idea, but just setting the string produced a one copy (besides the byte[] creation) every frame, and I had lying around 2k instances of strings for no reason. I tested it and it could very well reach 10k without the gc ever kicking.
I guess leaking is not the correct term in the context of a GC language.
No idea, but just setting the string produced a one copy (besides the byte[] creation) every frame, and I had lying around 2k instances of strings for no reason. I tested it and it could very well reach 10k without the gc ever kicking.
I guess leaking is not the correct term in the context of a GC language.
Anonymous 01/12/25(Sun)06:34:04 No.103863578
>>103863488
C bindings leak all the time because retards that are handheld through memory managment dont know better
C bindings leak all the time because retards that are handheld through memory managment dont know better
Anonymous 01/12/25(Sun)06:45:58 No.103863654
>>103862816
Nth post for SDL3 is very comfy and getting a hello_triangle up and running is barely any work at all.
Nth post for SDL3 is very comfy and getting a hello_triangle up and running is barely any work at all.
Anonymous 01/12/25(Sun)07:45:23 No.103864018
>>103863063
looks like a gay language and engine
looks like a gay language and engine
Frosch !!QxG8tdNNBUC 01/12/25(Sun)08:29:44 No.103864387
Anonymous 01/12/25(Sun)08:33:15 No.103864417
Anonymous 01/12/25(Sun)08:34:55 No.103864433
>>103863165
Make a porn game and put it on f95
Make a porn game and put it on f95
Anonymous 01/12/25(Sun)09:29:03 No.103864869
>>103859024
>Actually turns out Windows is a bit annoying, I'll have to do something to share the memory between spawned processes I think.
A child process that shares its parent's address space is commonly called a "thread". I'm pretty sure Windows supports these - you should look it up
>Actually turns out Windows is a bit annoying, I'll have to do something to share the memory between spawned processes I think.
A child process that shares its parent's address space is commonly called a "thread". I'm pretty sure Windows supports these - you should look it up
Anonymous 01/12/25(Sun)11:40:21 No.103866164
substance alternatives? I'm never installing an adobe product again, even pirated copies
Anonymous 01/12/25(Sun)11:43:38 No.103866208
>>103866164
make your own!
make your own!
Anonymous 01/12/25(Sun)11:53:31 No.103866343
I'm a genius, nobody thought about indice += 4
Anonymous 01/12/25(Sun)11:56:13 No.103866374
>>103866343
it's TERrain not QUADrain
it's TERrain not QUADrain
Anonymous 01/12/25(Sun)12:04:13 No.103866485
someone tell the wokies at godot to get back to work, I'm not paying them nothing so they can slack off
Anonymous 01/12/25(Sun)12:17:42 No.103866632
>>103866485
go add a pull request to the list
go add a pull request to the list
Anonymous 01/12/25(Sun)12:20:26 No.103866660
How much linear algebra do I need to grasp to do this? All of it? I suck so hard at proofs.
Anonymous 01/12/25(Sun)12:21:28 No.103866671
>>103866632
sorry, godot is woke now so that means I can't contribute, all I can do is let the wokies do all the labor for free while I collect the profits from my games
sorry, godot is woke now so that means I can't contribute, all I can do is let the wokies do all the labor for free while I collect the profits from my games
Anonymous 01/12/25(Sun)12:26:06 No.103866714
>>103866671
>>103866632
>>103866485
>3.1k pull requests open
"community driven" lmao
Godot devs are just paycheck stealers at this point
>>103866632
>>103866485
>3.1k pull requests open
"community driven" lmao
Godot devs are just paycheck stealers at this point
Anonymous 01/12/25(Sun)12:30:37 No.103866759
>>103866660
Just gotta know how vectors work, like what it means to add/subtract/multiply them, dot product and cross product, and normalized/unit vectors. Understanding transformation matrices is also a good idea if you're doing anything moderately complex
Just gotta know how vectors work, like what it means to add/subtract/multiply them, dot product and cross product, and normalized/unit vectors. Understanding transformation matrices is also a good idea if you're doing anything moderately complex
Anonymous 01/12/25(Sun)12:32:46 No.103866779
>>103866660
None if you just use geometric algebra
None if you just use geometric algebra
Anonymous 01/12/25(Sun)12:37:55 No.103866829
>Redot is for le ebil nazis
>one of their showcase games is about furries
hmm
>one of their showcase games is about furries
hmm
Anonymous 01/12/25(Sun)12:39:21 No.103866845
>>103866829
>"I think it's really unprofessional to politicize a game engine built by the community"
>"YOU ARE A NAZI"
>"I think it's really unprofessional to politicize a game engine built by the community"
>"YOU ARE A NAZI"
Anonymous 01/12/25(Sun)12:40:55 No.103866867
>>103866759
Alright, thank you. Yes I understand those basic things. Cross, dot (and why it provides thee angle between two vectors), vector normalization, projection etc. But I did not study CS at school so I figured I should pick up some pure math books and the proofs even for the most basic shit does my head in. Like even for simple stuff like Minkowski inequality. I think I should just get my hands dirty instead and look up what I need as I go.
Alright, thank you. Yes I understand those basic things. Cross, dot (and why it provides thee angle between two vectors), vector normalization, projection etc. But I did not study CS at school so I figured I should pick up some pure math books and the proofs even for the most basic shit does my head in. Like even for simple stuff like Minkowski inequality. I think I should just get my hands dirty instead and look up what I need as I go.
Anonymous 01/12/25(Sun)12:54:48 No.103867017
the shader reflection lib makes me jizz, no need for hardcoded descriptor sets
Anonymous 01/12/25(Sun)12:57:07 No.103867046
>>103866867
Yeah, the vast majority of stuff you see in a linear algebra class is not needed for gamedev. The kinds of vector spaces you use in games are usually pretty boring by mathematicians' standards. And I can't imagine why you'd ever need to understand a proof in detail, as opposed to just applying a particular theorem.
Yeah, the vast majority of stuff you see in a linear algebra class is not needed for gamedev. The kinds of vector spaces you use in games are usually pretty boring by mathematicians' standards. And I can't imagine why you'd ever need to understand a proof in detail, as opposed to just applying a particular theorem.
Anonymous 01/12/25(Sun)13:09:37 No.103867215
i'm going to write the /gedg/ine
i'll give you guys a 10% discount on the licensing fees once it's done
i'll give you guys a 10% discount on the licensing fees once it's done
Anonymous 01/12/25(Sun)13:18:46 No.103867364
>>103867046
Makes sense, I'll just skim most of the theory and get into it, can always look up specific stuff for deeper understanding. I'll just be making a basic 3D game, and likely swap to a real engine once I understand the fundamentals that underpin it all.
Makes sense, I'll just skim most of the theory and get into it, can always look up specific stuff for deeper understanding. I'll just be making a basic 3D game, and likely swap to a real engine once I understand the fundamentals that underpin it all.
Anonymous 01/12/25(Sun)13:19:51 No.103867374
>>103867215
>written in assembly for maximum speed
>bsp rendering because doom ran really fast 50 years ago when it came out so just think how fast it would be today
>uses raylib because vulkan/dx12 is hard
>written in assembly for maximum speed
>bsp rendering because doom ran really fast 50 years ago when it came out so just think how fast it would be today
>uses raylib because vulkan/dx12 is hard
Anonymous 01/12/25(Sun)13:22:07 No.103867405
>>103867374
that sounds so real
that sounds so real
Anonymous 01/12/25(Sun)13:29:55 No.103867505
>>103867374
I'll write the driver for the integrated display. Can't go fast if you have to support whatever random resolution the retarded user's monitor supports.
I'll write the driver for the integrated display. Can't go fast if you have to support whatever random resolution the retarded user's monitor supports.
Anonymous 01/12/25(Sun)14:33:21 No.103868313
Anonymous 01/12/25(Sun)14:46:33 No.103868505
>cant develop on linux all the time because renderdoc doesnt support wayland
>switch to windows
>neovim constantly loses focus in windows terminal or any other terminal i tried and its making me want to throw shit at my wall
there is no winning when writing your own engine
>switch to windows
>neovim constantly loses focus in windows terminal or any other terminal i tried and its making me want to throw shit at my wall
there is no winning when writing your own engine
Anonymous 01/12/25(Sun)14:53:19 No.103868588
Fixed a bug with lightning computation plus the editor now tells you the exact level of each tile.
Anonymous 01/12/25(Sun)15:36:20 No.103869041
I am a godot beginner and I am definitely doing something fundamentally wrong here.
I want the piece to keep track of what square it is hovered over. To do this, I added a variable for the current hovered square to the piece, and updated it using _on_area_2d_area_entered() and exited() (you can see the code in the video)
But due to update order (?) area exited on the first node is being called after area entered on the new node and the hovered square is getting overwritten to null.
do I need bigger dead zones? Is this not a valid way to handle adjacent areas? I feel retarded.
I want the piece to keep track of what square it is hovered over. To do this, I added a variable for the current hovered square to the piece, and updated it using _on_area_2d_area_entered() and exited() (you can see the code in the video)
But due to update order (?) area exited on the first node is being called after area entered on the new node and the hovered square is getting overwritten to null.
do I need bigger dead zones? Is this not a valid way to handle adjacent areas? I feel retarded.
Anonymous 01/12/25(Sun)15:46:26 No.103869166
>>103869041
And yes, i can check every frame, which does work for this small project. But it seems wasteful to check every piece every frame when the signal oriented approach feels like it should work.
And yes, i can check every frame, which does work for this small project. But it seems wasteful to check every piece every frame when the signal oriented approach feels like it should work.
Anonymous 01/12/25(Sun)15:48:18 No.103869192
>>103868505
just use alacritty on windows
just use alacritty on windows
Anonymous 01/12/25(Sun)15:51:50 No.103869244
>>103869166
>But it seems wasteful to check every piece every frame
i dont even understand what you're doing here
just make it so when you grab a piece, you start listening to mouse move events, from which you take the mouse coords, divide them by 8 and floor them and get the hovered board position
>But it seems wasteful to check every piece every frame
i dont even understand what you're doing here
just make it so when you grab a piece, you start listening to mouse move events, from which you take the mouse coords, divide them by 8 and floor them and get the hovered board position
Anonymous 01/12/25(Sun)15:54:04 No.103869272
AI (albeit a simple one) implemented. Fun thing, but the player also has AI for simplicity, however I forgot about that and started moving on its own. Hopefully tomorrow I'll expand on it.
Anonymous 01/12/25(Sun)15:56:12 No.103869302
>>103869244
I was trying to do it with the collision tools / areas to learn that system. I dont disagree with your solution, that is what i am using to snap the pieces to nodes. but right now, for almost every problem i encounter, I have to circumvent godots "intended" object oriented way, and implement my own version with scripts. Why force everything to be so object oriented if it is shit and never fucking works?
I was trying to do it with the collision tools / areas to learn that system. I dont disagree with your solution, that is what i am using to snap the pieces to nodes. but right now, for almost every problem i encounter, I have to circumvent godots "intended" object oriented way, and implement my own version with scripts. Why force everything to be so object oriented if it is shit and never fucking works?
Anonymous 01/12/25(Sun)15:57:28 No.103869321
>>103869302
Who is forcing you to do it?
Who is forcing you to do it?
Anonymous 01/12/25(Sun)15:58:10 No.103869333
>>103869302
sounds like you need to write your own engine
sounds like you need to write your own engine
Anonymous 01/12/25(Sun)16:00:20 No.103869363
>>103869321
godot's node oriented system is trying to incentivize you to structure your projects a certain way, so I wanted to try it out, maybe I would learn something new. No need to be a faggot about it.
godot's node oriented system is trying to incentivize you to structure your projects a certain way, so I wanted to try it out, maybe I would learn something new. No need to be a faggot about it.
Anonymous 01/12/25(Sun)16:02:32 No.103869404
>>103869333
I get the appeal now.
I get the appeal now.
Anonymous 01/12/25(Sun)16:35:20 No.103869813
>>103868505
Works fine on my machine, install powertoys.
Works fine on my machine, install powertoys.
Anonymous 01/12/25(Sun)16:45:46 No.103869948
Anonymous 01/12/25(Sun)18:48:47 No.103871419
>>103862816
Radiance cascades
Radiance cascades
Anonymous 01/12/25(Sun)19:39:27 No.103871973
>>103869041
your cpu has like 50-100M cycles per core to compute each frame and checking where the piece is takes like 20 stop worrying about doing it every frame when you dont understand your resources or work load
if you enter a new area you know youve exited the previous one you dont need to listen to both events you are creating a data race and blaming the tools for your bad programming
also events arent oop
your cpu has like 50-100M cycles per core to compute each frame and checking where the piece is takes like 20 stop worrying about doing it every frame when you dont understand your resources or work load
if you enter a new area you know youve exited the previous one you dont need to listen to both events you are creating a data race and blaming the tools for your bad programming
also events arent oop
Anonymous 01/12/25(Sun)19:43:25 No.103872012
>>103862816
Recently moved from engine programming to a decompilation project. It's as autistic as it gets
Recently moved from engine programming to a decompilation project. It's as autistic as it gets
Anonymous 01/12/25(Sun)19:56:05 No.103872136
>>103871973
>if you enter a new area you know youve exited the previous one you dont need to listen to both events you are creating a data race and blaming the tools for your bad programming
Later I am only going to enable certain squares based on the game logic, so I need to know when the piece is no longer in a valid area, so the piece can return to its old position rather than going to the last selected position.
I don't really see why listening to both events should cause a race condition, because I would assume the piece would always leave the previous area before entering the next area. I assumed both events are actually supposed to be used together. But that assumption was obviously incorrect.
I agree I have to get over my cycle saving autism and not be afraid of putting things in the physics processing update. I like to try to do things efficiently when I can, stuff like that adds up.
Obviously in this project it's irrelevant, but in a larger project, If I ignore godot's collision system and just put all the logic in a globally loaded script it would be a disaster.
My problem was that I was putting the logic for the piece in the boards events, rather than giving the piece its own area entered events and changing its state based on those.
>if you enter a new area you know youve exited the previous one you dont need to listen to both events you are creating a data race and blaming the tools for your bad programming
Later I am only going to enable certain squares based on the game logic, so I need to know when the piece is no longer in a valid area, so the piece can return to its old position rather than going to the last selected position.
I don't really see why listening to both events should cause a race condition, because I would assume the piece would always leave the previous area before entering the next area. I assumed both events are actually supposed to be used together. But that assumption was obviously incorrect.
I agree I have to get over my cycle saving autism and not be afraid of putting things in the physics processing update. I like to try to do things efficiently when I can, stuff like that adds up.
Obviously in this project it's irrelevant, but in a larger project, If I ignore godot's collision system and just put all the logic in a globally loaded script it would be a disaster.
My problem was that I was putting the logic for the piece in the boards events, rather than giving the piece its own area entered events and changing its state based on those.
Anonymous 01/12/25(Sun)20:47:09 No.103872613
>>103869041
Don't know much about Godot but couldn't you do something like
?
Don't know much about Godot but couldn't you do something like
if area.get_parent().lastHoveredSquare== area.get_parent():
area.get_parent().lastHoveredSquare= null
?
Anonymous 01/12/25(Sun)20:56:07 No.103872693
>>103867215
en/g/ine would be a better name, /gedg/ is too niche and usually gay.
en/g/ine would be a better name, /gedg/ is too niche and usually gay.
Anonymous 01/12/25(Sun)22:03:37 No.103873220
>>103863165
Go NoFap and go HAM on your game.
Go NoFap and go HAM on your game.
Anonymous 01/12/25(Sun)22:24:33 No.103873388
Alright , I think I'm happy with this terrain scale now. Increased the mountain size significantly. Now it actually looks like you're in a world.
Ready to move on from this now, I'd say.
Gotta fix a couple bugs, then onto lighting and textures. Then terrain editing, then water.
Praise be to the King Jesus Christ
Ready to move on from this now, I'd say.
Gotta fix a couple bugs, then onto lighting and textures. Then terrain editing, then water.
Praise be to the King Jesus Christ
Anonymous 01/12/25(Sun)23:38:11 No.103874011
>>103869948
What do you mean? Bloated as in install size or in features?
What do you mean? Bloated as in install size or in features?
Anonymous 01/13/25(Mon)01:10:14 No.103874768
Terrain Scroll webm.
Anonymous 01/13/25(Mon)01:24:54 No.103874889
i dont want girls to feel bad when they played my game so i made all the girls ugly
Anonymous 01/13/25(Mon)01:37:11 No.103874982
>>103874889
Make your protagonist an unlikable impulsive reckless asshole, and then go on about how it's female empowerment, because she's such a girl boss.
Make your protagonist an unlikable impulsive reckless asshole, and then go on about how it's female empowerment, because she's such a girl boss.
Anonymous 01/13/25(Mon)01:57:56 No.103875124
>>103874889
>I don't want black people to feel bad when they played my game so I made all black people stupid
This is you.
>I don't want black people to feel bad when they played my game so I made all black people stupid
This is you.
Anonymous 01/13/25(Mon)05:12:55 No.103876332
>>103863520
you can certainly get leaks, you just have to work a bit for it. SFML is pretty garbage if you use anything other than C++ though, the C binding is terribly designed
you can certainly get leaks, you just have to work a bit for it. SFML is pretty garbage if you use anything other than C++ though, the C binding is terribly designed
Anonymous 01/13/25(Mon)05:14:13 No.103876340
>fix bug a week ago
>suddenly its back
>suddenly its back
Anonymous 01/13/25(Mon)05:39:26 No.103876494
>backdoor'd some loser gamedev's pc a week ago
>I keep reintroducing the same bug into his game every time he fixes it just to watch him seethe in confusion
>I keep reintroducing the same bug into his game every time he fixes it just to watch him seethe in confusion
Anonymous 01/13/25(Mon)05:50:46 No.103876585
Anonymous 01/13/25(Mon)05:54:57 No.103876611
Anonymous 01/13/25(Mon)06:58:58 No.103876965
Anonymous 01/13/25(Mon)07:01:00 No.103876980
>>103876494
Thank you for the free features!
Thank you for the free features!
Anonymous 01/13/25(Mon)07:12:18 No.103877057
>>103876965
yeah, i should really look into x11 for the renderdoc support
yeah, i should really look into x11 for the renderdoc support
Anonymous 01/13/25(Mon)08:10:53 No.103877508
Anonymous 01/13/25(Mon)08:51:40 No.103877785
I pronounce OpenGL as "Oh pengle"
Anonymous 01/13/25(Mon)09:07:18 No.103877930
Is making a 3D game engine a meme idea? I like this idea, but I feel like I'm never going to make any actual game like that, although to be fair I enjoy engine dev more than game dev
Anonymous 01/13/25(Mon)09:14:33 No.103877988
>>103877930
Making a general-purpose 3D game engine for others to use is probably a meme.
Making a 3D game engine specifically designed for your game and its planned features without the bloat of public engines is based.
Making a general-purpose 3D game engine for others to use is probably a meme.
Making a 3D game engine specifically designed for your game and its planned features without the bloat of public engines is based.
Anonymous 01/13/25(Mon)09:17:05 No.103878015
>>103877988
I meant the latter, except that it's designed for all of my hypothetical 3D games, not for some specific one
I meant the latter, except that it's designed for all of my hypothetical 3D games, not for some specific one
Anonymous 01/13/25(Mon)09:18:51 No.103878032
>>103878015
I think it's a good idea.
I think it's a good idea.
Anonymous 01/13/25(Mon)09:21:55 No.103878064
>>103877930
im making a framework with a vulkan abstraction, something kinda like raylib that i later plan to use later for making games and visualizations
im making a framework with a vulkan abstraction, something kinda like raylib that i later plan to use later for making games and visualizations
Anonymous 01/13/25(Mon)09:31:27 No.103878148
Anonymous 01/13/25(Mon)10:45:25 No.103878836
>>103877508
Thank you.
Yep, Christ paid for everyone in his death and resurrection.
If anyone were to stay dead or go to 'eternal Hell', it would mean that they are damned without having anything to pay for.
Everyone is saved. Even the Devil.
God Bless.
Thank you.
Yep, Christ paid for everyone in his death and resurrection.
If anyone were to stay dead or go to 'eternal Hell', it would mean that they are damned without having anything to pay for.
Everyone is saved. Even the Devil.
God Bless.
Anonymous 01/13/25(Mon)11:26:32 No.103879217
i give up, i cant beat the cpu no matter what i try
Anonymous 01/13/25(Mon)11:40:58 No.103879374
Anonymous 01/13/25(Mon)11:46:17 No.103879445
>>103879374
because it doesnt stop the throttling after the window regains focus
because it doesnt stop the throttling after the window regains focus
Anonymous 01/13/25(Mon)11:52:04 No.103879507
>>103879445
give it a kiss on the forehead and a little tap on the ass for it to pick up the pace.
Learn how to treat your CPU ffs.
give it a kiss on the forehead and a little tap on the ass for it to pick up the pace.
Learn how to treat your CPU ffs.
Anonymous 01/13/25(Mon)11:53:54 No.103879524
Anonymous 01/13/25(Mon)11:57:11 No.103879568
>>103879507
i bully my cpu and it needs a beating since the only way i can get the performance back is to maximize and then restore the window
theres some kind of trash happening in a driver or the os that i cant figure out
i bully my cpu and it needs a beating since the only way i can get the performance back is to maximize and then restore the window
theres some kind of trash happening in a driver or the os that i cant figure out
Anonymous 01/13/25(Mon)12:09:55 No.103879708
>>103879568
So every time the window regain focus you need to maximize and restore the window?
wtf that's fucked up.
So every time the window regain focus you need to maximize and restore the window?
wtf that's fucked up.
Anonymous 01/13/25(Mon)12:11:23 No.103879723
>>103878148
I feel like you're right, but there's a part of me that really wants to build an engine instead
I feel like you're right, but there's a part of me that really wants to build an engine instead
Anonymous 01/13/25(Mon)12:16:43 No.103879776
>>103879723
what part of an engine interest you the most?
what part of an engine interest you the most?
Anonymous 01/13/25(Mon)12:24:31 No.103879840
>>103868588
nice water
i want to go fishing and catch a slimy frog and roast it on a fire and eat it and die
nice water
i want to go fishing and catch a slimy frog and roast it on a fire and eat it and die
Anonymous 01/13/25(Mon)12:27:55 No.103879865
>>103879708
after about 10s without focus performance tanks, then it drops even further after another 10s, then once it regains focus it takes 10s to climb a little bit but then it needs a maximize/restore to go back to how it was initially
at least 90% of the time. the other 10 it either works or does something else entirely
i cant think of anything else but the hardware is throttling me. even if i have set the thread and process priorities to real time and pinned the whole process to the performance cores, it behaves the same
after about 10s without focus performance tanks, then it drops even further after another 10s, then once it regains focus it takes 10s to climb a little bit but then it needs a maximize/restore to go back to how it was initially
at least 90% of the time. the other 10 it either works or does something else entirely
i cant think of anything else but the hardware is throttling me. even if i have set the thread and process priorities to real time and pinned the whole process to the performance cores, it behaves the same
Anonymous 01/13/25(Mon)12:31:54 No.103879899
>>103879776
The OpenGL/Vulkan stuff and stuff like ECS over OOP, I liked using it for 2D at least. Also it's pretty nice that I wouldn't have to use C#, UE's annoying C++ or GDScript.
The OpenGL/Vulkan stuff and stuff like ECS over OOP, I liked using it for 2D at least. Also it's pretty nice that I wouldn't have to use C#, UE's annoying C++ or GDScript.
Anonymous 01/13/25(Mon)12:45:17 No.103880078
just sent an application for an C++/OpenGL position, i hope i get the job because i've been a neet now for almost a year
Anonymous 01/13/25(Mon)12:50:52 No.103880150
>>103880078
Good luck anon!
Good luck anon!
Anonymous 01/13/25(Mon)12:56:01 No.103880224
>>103862816
Haven't posted in a while, work in progress as always, in short:
> game entities (biomes, items, landmarks, locations, units, heroes...) will be defined in INI/CFG file.
> refactored core UI, menus, input systems, extended basic GLFW+OpenGL renderer and more.
Now, in order to add new game entity, no recompilation is needed, just add 2 files, INI and PNG.
I kept separate Vulkan and XCB renderers, for rich people and/or ones without working GPU (XCB)...
That renderer choosing does require recompilation, I'm not willing to hot reload such stuff.
Trash in the terminal is debug output for parsing biome INI files, no memory leaks, MESA leaves few warnings.
--
Written in 100% C99. I miss C++ and Ada because I don't want to write ECS in C, but oh well.
Haven't posted in a while, work in progress as always, in short:
> game entities (biomes, items, landmarks, locations, units, heroes...) will be defined in INI/CFG file.
> refactored core UI, menus, input systems, extended basic GLFW+OpenGL renderer and more.
Now, in order to add new game entity, no recompilation is needed, just add 2 files, INI and PNG.
I kept separate Vulkan and XCB renderers, for rich people and/or ones without working GPU (XCB)...
That renderer choosing does require recompilation, I'm not willing to hot reload such stuff.
Trash in the terminal is debug output for parsing biome INI files, no memory leaks, MESA leaves few warnings.
--
Written in 100% C99. I miss C++ and Ada because I don't want to write ECS in C, but oh well.
Anonymous 01/13/25(Mon)13:12:04 No.103880409
OFFICIAL ANNOUNCEMENT:
I am making a game in Prolog using raylib, because it’s time to prove Prolog can be used to make games.
I am making a game in Prolog using raylib, because it’s time to prove Prolog can be used to make games.
Anonymous 01/13/25(Mon)13:35:25 No.103880639
>>103880409
Write Yume Nikki clone in Prolog if you dare...
Write Yume Nikki clone in Prolog if you dare...
Anonymous 01/13/25(Mon)13:46:00 No.103880761
I'm gonna do it
Anonymous 01/13/25(Mon)13:57:46 No.103880915
i have this sudden urge to rewrite everything
Anonymous 01/13/25(Mon)14:46:59 No.103881426
Water continues to look like ass, but a little less so - as there are no geometric problems with it. I already have a plan how to improve it.
My current task is making space occupancy via cellular automata - so I can get naturally spreading biomes.
Also - 70k LoC written.
My current task is making space occupancy via cellular automata - so I can get naturally spreading biomes.
Also - 70k LoC written.
Anonymous 01/13/25(Mon)14:48:53 No.103881445
>>103880761
DirectX started at 9, chud
DirectX started at 9, chud
Anonymous 01/13/25(Mon)14:51:54 No.103881473
>>103881426
> 70k lines of code
What the hell man, are you writing in Java? I'm generally curious about what language, libraries and APIs you use, and if there's some embedded data into the code, models, textures, scripts etc.
> 70k lines of code
What the hell man, are you writing in Java? I'm generally curious about what language, libraries and APIs you use, and if there's some embedded data into the code, models, textures, scripts etc.
Anonymous 01/13/25(Mon)14:53:34 No.103881489
>>103881445
what is chud?
what is chud?
Anonymous 01/13/25(Mon)14:56:43 No.103881524
>>103881473
I write in pure C++, render in Vulkan, manage the window with SDL. That 70k LoC But it incorporates a content editor I already wrote - and released even.
I write in pure C++, render in Vulkan, manage the window with SDL. That 70k LoC But it incorporates a content editor I already wrote - and released even.
Anonymous 01/13/25(Mon)14:57:45 No.103881533
>>103881426
>70k LoC
For your editor and this? That seem alot of code or there's something you're hiding?
>70k LoC
For your editor and this? That seem alot of code or there's something you're hiding?
Anonymous 01/13/25(Mon)14:58:46 No.103881544
Anonymous 01/13/25(Mon)14:59:03 No.103881550
>>103881489
a nazi who supports far right agendas like free speech and state rights
a nazi who supports far right agendas like free speech and state rights
Anonymous 01/13/25(Mon)15:00:02 No.103881562
so we DO have rust trannies here
Anonymous 01/13/25(Mon)15:00:32 No.103881572
Anonymous 01/13/25(Mon)15:02:26 No.103881589
>>103881533
I hide nothing. I just wrote code in systems - when I needed binary and quad tree - I wrote one. This project has a custom windowing system, configuration file management, and shitton of other auxiliary systems. I have a system for parsing config files, saving/loading content.
Oh - and of course, Unit Tests are included in this 70k number.
>>103881544
Vulkan does not take _that much_ of the chunk of this.
I hide nothing. I just wrote code in systems - when I needed binary and quad tree - I wrote one. This project has a custom windowing system, configuration file management, and shitton of other auxiliary systems. I have a system for parsing config files, saving/loading content.
Oh - and of course, Unit Tests are included in this 70k number.
>>103881544
Vulkan does not take _that much_ of the chunk of this.
Anonymous 01/13/25(Mon)15:14:53 No.103881776
>>103881524
Beyond based, good work Anon. Makes sense for 70k, reading the later reply about unit tests and your systems. Write once, reuse.
>>103881544
My minimal Vulkan 3D renderer was 3k lines of code, but I didn't went into "complex" stuff like lighting, particles, animations, etc.
Beyond based, good work Anon. Makes sense for 70k, reading the later reply about unit tests and your systems. Write once, reuse.
>>103881544
My minimal Vulkan 3D renderer was 3k lines of code, but I didn't went into "complex" stuff like lighting, particles, animations, etc.
Anonymous 01/13/25(Mon)15:20:04 No.103881844
>>103881589
>when I needed binary and quad tree - I wrote one. This project has a custom windowing system, configuration file management, and shitton of other auxiliary systems. I have a system for parsing config files, saving/loading content.
haha I have fallen into the "It's just a button, it shouldn't be that hard to implement!", forgive me for doubting.
>when I needed binary and quad tree - I wrote one. This project has a custom windowing system, configuration file management, and shitton of other auxiliary systems. I have a system for parsing config files, saving/loading content.
haha I have fallen into the "It's just a button, it shouldn't be that hard to implement!", forgive me for doubting.
Anonymous 01/13/25(Mon)16:08:28 No.103882475
how's AI sprite generators now? I'd like to feed them some 10k sprites I like and get new ones for my 2d or 2.5d isometric game
assets is what's stopping me from making a game, because I hate how most games look now and I don't want to release slop
assets is what's stopping me from making a game, because I hate how most games look now and I don't want to release slop
Anonymous 01/13/25(Mon)16:17:22 No.103882614
>>103882475
>How's AI sprite generators now?
>I don't want to release slop
Choose one or the other. You can't have both
>How's AI sprite generators now?
>I don't want to release slop
Choose one or the other. You can't have both
Anonymous 01/13/25(Mon)16:24:05 No.103882705
>>103882475
>AI sprite generators
lol
lmao
your only real option is learning to 3d model and render to sprites
>AI sprite generators
lol
lmao
your only real option is learning to 3d model and render to sprites
Anonymous 01/13/25(Mon)16:33:26 No.103882818
>>103882475
They're complete shit, "AI" pixel art and sprite generators didn't advance in same proportion as regular one did.
If you use any of those, you'll have issues with alpha channel, image encoding, artifacts, with pixel art it gets worse.
My advice is to browse opengameart.org and itch.io, and pray to Gott you'll find matching styles under CC-anything.
Problem with that, good ones usually come under -NC and/or -ND part of license, and that -ND part is the real shitter.
And even single artist makes bunch of very small sets, in different styles across sets, so you'll have trouble matching them.
--
Been there, I ripped HoM&M 3/4/6 sprites from vg-resourcer for debug/testing build of the game engine...
I don't know what the hell I'll do if I want to legally publish it without getting slapped by Ubishit, maybe I hire someone.
They're complete shit, "AI" pixel art and sprite generators didn't advance in same proportion as regular one did.
If you use any of those, you'll have issues with alpha channel, image encoding, artifacts, with pixel art it gets worse.
My advice is to browse opengameart.org and itch.io, and pray to Gott you'll find matching styles under CC-anything.
Problem with that, good ones usually come under -NC and/or -ND part of license, and that -ND part is the real shitter.
And even single artist makes bunch of very small sets, in different styles across sets, so you'll have trouble matching them.
--
Been there, I ripped HoM&M 3/4/6 sprites from vg-resourcer for debug/testing build of the game engine...
I don't know what the hell I'll do if I want to legally publish it without getting slapped by Ubishit, maybe I hire someone.
Anonymous 01/13/25(Mon)18:17:45 No.103883938
>>103880224
Amazing, anon!
Amazing, anon!
Anonymous 01/13/25(Mon)18:35:47 No.103884119
>>103879899
I am learning basic engine dev just so I can also have an easy time editing UE to fit my needs, and also to land a gamedev job. I have no idea how retarded of an idea this is, but I guess I will know soon.
I am learning basic engine dev just so I can also have an easy time editing UE to fit my needs, and also to land a gamedev job. I have no idea how retarded of an idea this is, but I guess I will know soon.
Anonymous 01/13/25(Mon)18:43:34 No.103884177
>>103882475
I've been trying to get it to generate static objects for my game, but haven't had much luck so far. Specifically, I've been giving it a screenshot from my game with a hole in it (for style/context reference) and having it inpaint the new object. I was hoping it would at least give me something I could clean up manually into something usable, but it can't even manage that. Even with a pixel art LoRA, it seems to mainly spit out stuff that looks like it came off Pixeljoint rather than from a game screenshot. Just look at the example images for any pixel art LoRA on civitai (or even fancier stuff like Retro Diffusion) to see what I mean. At some point I may try training my own LoRA on a bunch of SNES/GBA maps from vgmaps.com and see how much it helps.
>>103882818
>Problem with that, good ones usually come under -NC and/or -ND part of license, and that -ND part is the real shitter.
FYI, opengameart.org doesn't allow -NC or -ND licenses. Everything on there is free as in FOSS.
You're otherwise spot on, unfortunately. It's a nightmare trying to cobble together enough stuff for a full game and have it all look decent together. Best option atm is probably Liberated Pixel Cup, which has quite a lot of content but is kind of bland looking IMO. There's also George's 16x16 / Intersect asset pack, which looks a little nicer but isn't as complete. Then you get into stuff like Hyptosis's scraps, which look amazing but barely have anything beyond grass, one tree, and a rock or two.
I've been trying to get it to generate static objects for my game, but haven't had much luck so far. Specifically, I've been giving it a screenshot from my game with a hole in it (for style/context reference) and having it inpaint the new object. I was hoping it would at least give me something I could clean up manually into something usable, but it can't even manage that. Even with a pixel art LoRA, it seems to mainly spit out stuff that looks like it came off Pixeljoint rather than from a game screenshot. Just look at the example images for any pixel art LoRA on civitai (or even fancier stuff like Retro Diffusion) to see what I mean. At some point I may try training my own LoRA on a bunch of SNES/GBA maps from vgmaps.com and see how much it helps.
>>103882818
>Problem with that, good ones usually come under -NC and/or -ND part of license, and that -ND part is the real shitter.
FYI, opengameart.org doesn't allow -NC or -ND licenses. Everything on there is free as in FOSS.
You're otherwise spot on, unfortunately. It's a nightmare trying to cobble together enough stuff for a full game and have it all look decent together. Best option atm is probably Liberated Pixel Cup, which has quite a lot of content but is kind of bland looking IMO. There's also George's 16x16 / Intersect asset pack, which looks a little nicer but isn't as complete. Then you get into stuff like Hyptosis's scraps, which look amazing but barely have anything beyond grass, one tree, and a rock or two.
Anonymous 01/13/25(Mon)18:50:41 No.103884227
>>103884177
We should go to /ic/ or somewhere and make pixel art drawing challenge threads, then collect the good stuff. Like 16x16, 256 tiles.
Theme should be full pixel art spritesheet / tileset, I'm sure they can spit something out, considering how many sinister stuff they put out.
> FYI, opengameart.org doesn't allow -NC or -ND licenses.
I didn't know that about OGA, much nice, very appreciate, so okay.
One /v/ Anon posted me this years ago, image related, it's nice, I used it in one SDL2 demo game, it has soul if you ask me.
We should go to /ic/ or somewhere and make pixel art drawing challenge threads, then collect the good stuff. Like 16x16, 256 tiles.
Theme should be full pixel art spritesheet / tileset, I'm sure they can spit something out, considering how many sinister stuff they put out.
> FYI, opengameart.org doesn't allow -NC or -ND licenses.
I didn't know that about OGA, much nice, very appreciate, so okay.
One /v/ Anon posted me this years ago, image related, it's nice, I used it in one SDL2 demo game, it has soul if you ask me.
Anonymous 01/13/25(Mon)19:55:17 No.103884881
>>103871419
Here it is applied to the world. I don't have lighting information shared between chunks yet, which is pretty visible.
Here it is applied to the world. I don't have lighting information shared between chunks yet, which is pretty visible.
Anonymous 01/13/25(Mon)20:08:01 No.103885001
Anonymous 01/13/25(Mon)20:09:22 No.103885013
>>103880639
but Yume Nikki is scary :-x
but Yume Nikki is scary :-x
Anonymous 01/13/25(Mon)20:24:52 No.103885160
>>103885001
Thanks!
Thanks!
Anonymous 01/13/25(Mon)20:32:26 No.103885245
Anybody use the unique handles from vulkan hpp?
Anonymous 01/13/25(Mon)20:36:06 No.103885291
>>103884881
Neat. I wanted to try RC for a while but it doesn't fit any of my use cases.
Neat. I wanted to try RC for a while but it doesn't fit any of my use cases.
Anonymous 01/13/25(Mon)21:16:35 No.103885670
>>103882475
Looking at https://civitai.com/tag/pixel%20art, it seems like people are having fairly good luck training LoRAs for ultra-specific styles like "Pokemon trainer battle sprites" or "Fire Emblem units". If you legitimately have 10k sprites in the style you want, you could probably train your own LoRA along the same lines.
Looking at https://civitai.com/tag/pixel%20art
Anonymous 01/13/25(Mon)21:37:14 No.103885861
Skimming through game engine architecture book again gives me inspiration after coming back to dev on my project, the memory/alllocator section is pretty informative
Anonymous 01/13/25(Mon)21:39:19 No.103885883
>>103885245
no, im a C API gamer, i do have a "Defer" class that i use in literally one place where i delete shader modules tho
i should really delete it, but sunk cost fallacy is kicking in
no, im a C API gamer, i do have a "Defer" class that i use in literally one place where i delete shader modules tho
i should really delete it, but sunk cost fallacy is kicking in
Anonymous 01/13/25(Mon)22:36:28 No.103886419
>>103885245
yes? why wouldn't you if you're using the C++ headers
they're just smart pointers/handles for vulkan types
you do have to be aware of the vulkan object hierarchy when using them so you can make sure they get destructed in the right order
if you can't do that i think? maybe the more complex raii headers have like some sort of general context object maybe?
yes? why wouldn't you if you're using the C++ headers
they're just smart pointers/handles for vulkan types
you do have to be aware of the vulkan object hierarchy when using them so you can make sure they get destructed in the right order
if you can't do that i think? maybe the more complex raii headers have like some sort of general context object maybe?
Anonymous 01/13/25(Mon)23:54:19 No.103887006
Anonymous 01/13/25(Mon)23:59:41 No.103887045
>>103880224
hello xolatile long time no see
hello xolatile long time no see
Anonymous 01/14/25(Tue)00:38:15 No.103887255
procgen sure is fun, at least when it builds on the autism of thankless suckers that work for free. thank you fastnoise
Anonymous 01/14/25(Tue)00:54:50 No.103887353
>>103881426
i like it anon
i like it anon
Anonymous 01/14/25(Tue)01:24:26 No.103887534
shieet, this substance designer stuff is crazy, I always figured AAA just baked all their textures from 3d models but they actually like structured procgen that shit
Anonymous 01/14/25(Tue)01:50:29 No.103887685
>>103887534
Isn't Substance Designer and the things you can download for it really expensive?
Isn't Substance Designer and the things you can download for it really expensive?
Anonymous 01/14/25(Tue)02:02:01 No.103887742
Anonymous 01/14/25(Tue)02:06:35 No.103887768
added Blinn Phong lighting and made my terrain look better, more to scale.
Anonymous 01/14/25(Tue)02:07:35 No.103887775
>>103887768
at this point you can get lost in mountain ranges and go across sprawling fields. It's the contrast I wanted.
at this point you can get lost in mountain ranges and go across sprawling fields. It's the contrast I wanted.
Anonymous 01/14/25(Tue)02:16:46 No.103887819
>>103887534
If you want to be technical, generating 3D models from height maps is just as much 3D modeling as generating 3D models by moving vertices around.
If you want to be technical, generating 3D models from height maps is just as much 3D modeling as generating 3D models by moving vertices around.
Anonymous 01/14/25(Tue)02:21:18 No.103887833
>>103887742
But TBP is gone now.
But TBP is gone now.
Anonymous 01/14/25(Tue)02:23:53 No.103887846
Anonymous 01/14/25(Tue)02:27:46 No.103887858
>>103887833
I'm not going to spoonfeed you but you can already get the CC 2025 master collection and it's better than the official version because all the telemetry has been disabled and you aren't digitally signing a ridiculous one-sided all-inclusive perpetual sublicensing agreement to Adobe for all your work
I'm not going to spoonfeed you but you can already get the CC 2025 master collection and it's better than the official version because all the telemetry has been disabled and you aren't digitally signing a ridiculous one-sided all-inclusive perpetual sublicensing agreement to Adobe for all your work
Anonymous 01/14/25(Tue)02:29:36 No.103887873
>>103887846
Can't connect to the site.
Can't connect to the site.
Anonymous 01/14/25(Tue)02:33:21 No.103887890
>>103879865
Huh? Are you using Microsoft Windows or something, anon? You have to set some weird resource flag thingie. I don't know the details, since I use a real operating system.
Huh? Are you using Microsoft Windows or something, anon? You have to set some weird resource flag thingie. I don't know the details, since I use a real operating system.
Anonymous 01/14/25(Tue)02:34:22 No.103887897
>>103887858
>digitally signing a ridiculous one-sided all-inclusive perpetual sublicensing agreement to Adobe for all your work
that shit's hilarious, clearly trying to protect their own asses from being sued for training their AI on their users' artwork and when the AI inevitably shits out infringing work based on the dataset it was trained on
>digitally signing a ridiculous one-sided all-inclusive perpetual sublicensing agreement to Adobe for all your work
that shit's hilarious, clearly trying to protect their own asses from being sued for training their AI on their users' artwork and when the AI inevitably shits out infringing work based on the dataset it was trained on
Anonymous 01/14/25(Tue)02:39:35 No.103887916
Anonymous 01/14/25(Tue)02:41:05 No.103887923
Just use C++23, use modules, use all the modern C++ features and compile it with GCC for GNU/Linux, Clang for Apple macOS and MSVC for Microsoft Windows, what is the problem, anons?
Anonymous 01/14/25(Tue)02:47:37 No.103887955
>music
Anonymous 01/14/25(Tue)02:54:51 No.103887995
>>103887923
>using modules when none of the libraries you're using use modules
just another 500 years until modules are ready for use in production, anon
>using modules when none of the libraries you're using use modules
just another 500 years until modules are ready for use in production, anon
Anonymous 01/14/25(Tue)03:12:50 No.103888116
>>103887995
If Microsoft provided a Windows SDK (including DirectX) module implementation I might use them, but they won't invest that much effort into an optional feature for a single language. C libraries can be consumed by C, C++, and all the meme languages.
If Microsoft provided a Windows SDK (including DirectX) module implementation I might use them, but they won't invest that much effort into an optional feature for a single language. C libraries can be consumed by C, C++, and all the meme languages.
Anonymous 01/14/25(Tue)03:43:09 No.103888293
>>103888116
The way that modules are designed makes that impossible, you cannot export macros from modules so at that point it's not even Windows SDK anymore it's something else. Plus, modules are a fucking meme they're not a serious feature. It's simple mathematics, it's hard enough for developers to keep the legacy ABI from breaking every time they add new features, trying to also keep the modules ABI from breaking would require twice as much effort. So flat out if something is going to break, it's going to be modules first. It's just straight up not worth the effort. Every few months somebody writes their little blog post about learning modules trying to defend them "works on my machine" and then they disappear and nobody talks about them for months. They're shit. DOn't waste your time.
The way that modules are designed makes that impossible, you cannot export macros from modules so at that point it's not even Windows SDK anymore it's something else. Plus, modules are a fucking meme they're not a serious feature. It's simple mathematics, it's hard enough for developers to keep the legacy ABI from breaking every time they add new features, trying to also keep the modules ABI from breaking would require twice as much effort. So flat out if something is going to break, it's going to be modules first. It's just straight up not worth the effort. Every few months somebody writes their little blog post about learning modules trying to defend them "works on my machine" and then they disappear and nobody talks about them for months. They're shit. DOn't waste your time.
Anonymous 01/14/25(Tue)03:53:15 No.103888376
>>103887923
my problem is that modules are trash when you want to use c libraries that are packed with macros
otherwise im using all the new toys and some c++26 as it gets more support in the compiler
my problem is that modules are trash when you want to use c libraries that are packed with macros
otherwise im using all the new toys and some c++26 as it gets more support in the compiler
Anonymous 01/14/25(Tue)03:54:26 No.103888385
Jesus Christ, just forget about C++ already
Anonymous 01/14/25(Tue)03:56:55 No.103888400
C# is the ideal gamedev language.
Anonymous 01/14/25(Tue)03:59:11 No.103888418
>>103888400
The ideal gamedev language would be a mix between C++ and C#
The ideal gamedev language would be a mix between C++ and C#
Anonymous 01/14/25(Tue)04:01:21 No.103888433
anything else is a cope
Anonymous 01/14/25(Tue)04:03:52 No.103888445
>>103887768
now add erosion
now add erosion
Anonymous 01/14/25(Tue)04:09:58 No.103888485
I dare you to turn this into a reality:
https://arch.b4k.co/v/thread/663161618/#663174986
It has everything you need to prove your game devving skills.
https://arch.b4k.co/v/thread/663161
It has everything you need to prove your game devving skills.
Anonymous 01/14/25(Tue)04:16:39 No.103888536
>>103888485
Yeah I'm going to make your shitty idea instead of my own
Yeah I'm going to make your shitty idea instead of my own
Anonymous 01/14/25(Tue)04:26:19 No.103888592
>>103887006
i was originally just going to say opengl but added c++ in front of it just before posting
<shrug emoji>
i was originally just going to say opengl but added c++ in front of it just before posting
<shrug emoji>
Anonymous 01/14/25(Tue)04:33:04 No.103888642
>>103888536
His shitty idea is a minigame simulator that attempts to be Grand Theft Auto with Aliens. Except there's not Theft Auto, it's more like Deus Ex with minigames as your wagecuck simulator.
His shitty idea is a minigame simulator that attempts to be Grand Theft Auto with Aliens. Except there's not Theft Auto, it's more like Deus Ex with minigames as your wagecuck simulator.
Anonymous 01/14/25(Tue)04:34:05 No.103888645
>>103888642
So basically if you can't do minigames then you shouldn't gamedev at all.
Can't make Tetris, Pinball, Bejeweled? You're not cut out for game devving.
So basically if you can't do minigames then you shouldn't gamedev at all.
Can't make Tetris, Pinball, Bejeweled? You're not cut out for game devving.
Anonymous 01/14/25(Tue)04:47:34 No.103888710
Anonymous 01/14/25(Tue)04:53:01 No.103888755
>>103888433
Is there even a point to assembly if you're not directly interoping with the hardware? Everything in gamedev is done through C-based APIs, you're not writing to memory mapped hardware registers like on a retro console or in DOS...
Is there even a point to assembly if you're not directly interoping with the hardware? Everything in gamedev is done through C-based APIs, you're not writing to memory mapped hardware registers like on a retro console or in DOS...
Anonymous 01/14/25(Tue)05:11:54 No.103888884
>>103887685
The one that only has painter and designer is quite accessible. You do not need anything else, as that can be done with Blender or some other software. If you can use the pirated version go for it, though the normal one does have access to a bunch of online stuff you can use.
The one that only has painter and designer is quite accessible. You do not need anything else, as that can be done with Blender or some other software. If you can use the pirated version go for it, though the normal one does have access to a bunch of online stuff you can use.
Anonymous 01/14/25(Tue)05:33:14 No.103889024
>>103884881
this looks badass as a mf, can you summarize the maths involved in this, for a pre college level maths dude with no gamedev xp
this looks badass as a mf, can you summarize the maths involved in this, for a pre college level maths dude with no gamedev xp
Anonymous 01/14/25(Tue)06:02:25 No.103889182
>>103888710
Shut up, gen-Z. You weren't even born back then.
Shut up, gen-Z. You weren't even born back then.
Anonymous 01/14/25(Tue)06:13:31 No.103889257
Hey non retards, what optimizations do you use for a 2D top-down 1 screen Unity game when it comes to 300+ objects moving on screen and most stacked on each other? Prove you're not a retard.
Anonymous 01/14/25(Tue)06:14:31 No.103889266
>>103889257
Stop using Unity and just write C code
Stop using Unity and just write C code
Anonymous 01/14/25(Tue)06:16:59 No.103889286
>>103889257
>what optimizations
i write my own renderer and dont use slop like un*ty, we're elitist here
>what optimizations
i write my own renderer and dont use slop like un*ty, we're elitist here
Anonymous 01/14/25(Tue)06:23:55 No.103889331
Anonymous 01/14/25(Tue)06:31:29 No.103889376
Anonymous 01/14/25(Tue)06:33:17 No.103889387
>>103873388
Based, what game are you making?
Based, what game are you making?
Anonymous 01/14/25(Tue)06:36:33 No.103889410
>>103889257
300 objects shouldn't be a problem. Are you having one? I don't know how Unity works, but I assume you are using heap allocated classes to represent objects and brute force collision test right?
300 objects shouldn't be a problem. Are you having one? I don't know how Unity works, but I assume you are using heap allocated classes to represent objects and brute force collision test right?
Anonymous 01/14/25(Tue)06:41:29 No.103889454
>>103889376
lol why would I want to be hired by the game industry and have to work like a slave for peanuts?
I'm more happy earning big money doing webdev shit and then doing gamedev as an hobby.
lol why would I want to be hired by the game industry and have to work like a slave for peanuts?
I'm more happy earning big money doing webdev shit and then doing gamedev as an hobby.
Anonymous 01/14/25(Tue)06:42:08 No.103889461
>>103888400
C# is not ideal, but I concede is the best thing available, in features, tools, and libs. Thanks to structs, refs and spans you can manage your own memory while leaving the garbage collector to do the rest. All in all it does a good job for fags who don't even know how to optimize, so imagine in the hands of a experience programmer.
>>103887955
use this https://github.com/tildearrow/furnace
>>103880224
Long time no see, why did you scrap ada?
>>103885861
Thanks for the heads up.
C# is not ideal, but I concede is the best thing available, in features, tools, and libs. Thanks to structs, refs and spans you can manage your own memory while leaving the garbage collector to do the rest. All in all it does a good job for fags who don't even know how to optimize, so imagine in the hands of a experience programmer.
>>103887955
use this https://github.com/tildearrow/furna
>>103880224
Long time no see, why did you scrap ada?
>>103885861
Thanks for the heads up.
Anonymous 01/14/25(Tue)06:47:02 No.103889485
>>103863063
Just like that you found the problem with mutability. That wouldn't be a problem in Haskell. If you feel it's only for wizards, it wouldn't be a problem in Rust. If you feel it's tranny, that wouldn't be a problem in Scala. If you still feel it's for weirdos, it wouldn't be a problem Java if you know how to use constants.
Just like that you found the problem with mutability. That wouldn't be a problem in Haskell. If you feel it's only for wizards, it wouldn't be a problem in Rust. If you feel it's tranny, that wouldn't be a problem in Scala. If you still feel it's for weirdos, it wouldn't be a problem Java if you know how to use constants.
Anonymous 01/14/25(Tue)06:48:11 No.103889493
Anonymous 01/14/25(Tue)06:52:08 No.103889520
>>103889461
I don't know why you guys feel like C# is even remotely good at game development, it's just okay. It's a complete mess of a language with pointless and dangerous features that added by code monkeys that don't know what they're doing. C# success in gaming was just a sad coincidence because Unity decided to use it.
What is actually C# good at, it's Java, but from Microsoft, with lots more crap features. It's not bad, it's good, it's that. Rust is better at doing lower level things that you probably don't need, and a declarative language like Haskell would be better for safety and maintenance but performance is kind of sketchy.
Point being you guys just think C# is good because it's popular.
I don't know why you guys feel like C# is even remotely good at game development, it's just okay. It's a complete mess of a language with pointless and dangerous features that added by code monkeys that don't know what they're doing. C# success in gaming was just a sad coincidence because Unity decided to use it.
What is actually C# good at, it's Java, but from Microsoft, with lots more crap features. It's not bad, it's good, it's that. Rust is better at doing lower level things that you probably don't need, and a declarative language like Haskell would be better for safety and maintenance but performance is kind of sketchy.
Point being you guys just think C# is good because it's popular.
Anonymous 01/14/25(Tue)06:53:14 No.103889531
>>103889493
You overwrote the same state, which wouldn't be possible in Haskell. That's what.
You overwrote the same state, which wouldn't be possible in Haskell. That's what.
Anonymous 01/14/25(Tue)06:57:20 No.103889554
Anonymous 01/14/25(Tue)06:58:33 No.103889560
>Haskell
go write a white paper or something. this is a gamedev general.
go write a white paper or something. this is a gamedev general.
Anonymous 01/14/25(Tue)06:58:39 No.103889561
>>103889554
More like you don't have the technical skills to debate.
More like you don't have the technical skills to debate.
Anonymous 01/14/25(Tue)06:58:56 No.103889564
>>103889520
But I don't need to do things at low level, I need to make a game. And there is no better alternative than C#. I just don't use the "pointless and dangerous features", which is not a problem with a good IDE. Besides, it compiles in less than 5 seconds, it can even hot reload your stuff. Debugging is unparalleled using an IDE.
You say its popularity is just a coincidence, but even in this thread most people advocating for C or C++ never progress past the engine level. C# is a language made for productivity and it shows.
But I don't need to do things at low level, I need to make a game. And there is no better alternative than C#. I just don't use the "pointless and dangerous features", which is not a problem with a good IDE. Besides, it compiles in less than 5 seconds, it can even hot reload your stuff. Debugging is unparalleled using an IDE.
You say its popularity is just a coincidence, but even in this thread most people advocating for C or C++ never progress past the engine level. C# is a language made for productivity and it shows.
Anonymous 01/14/25(Tue)06:59:25 No.103889570
>>103889561
If you're suggesting either of those two languages you no have experience at all
If you're suggesting either of those two languages you no have experience at all
Anonymous 01/14/25(Tue)07:00:03 No.103889575
>>103889570
I have experience in all the languages I've talked about. You probably don't.
I have experience in all the languages I've talked about. You probably don't.
Anonymous 01/14/25(Tue)07:02:49 No.103889597
>>103889531
so you're just a language preacher? got it
i will use whatever language i and and enjoy, i WILL fall into pitfalls but im okay with it because that just makes me a better programmer
i also dont go around the 4channel basket weaving forum telling people why a specific language is better that another
so you're just a language preacher? got it
i will use whatever language i and and enjoy, i WILL fall into pitfalls but im okay with it because that just makes me a better programmer
i also dont go around the 4channel basket weaving forum telling people why a specific language is better that another
Anonymous 01/14/25(Tue)07:02:50 No.103889598
>>103889575
Yes but you have no experience in making games which is the important bit
Yes but you have no experience in making games which is the important bit
Anonymous 01/14/25(Tue)07:05:32 No.103889611
>>103889564
Of course they don't because C and C++ are awful for game development. We can agree that C# is better than C or C++. Nowadays micro optimizations are not very interesting in game development. However, C# is just as bad as Java in memory issues and performance, which is okay for most games, but the biggest problem is safety, concurrency and maintenance. Once your game starts getting too big C# is a mess. You will have stupid bugs in C# it's inevitable. It's very hard to optimize multicores in C#.
You can say oh but there's nothing better than C#. Kotlin, Java, Go, Scala, etc are all in the same level of C#, give it or take. They're not really much better than each other.
Of course they don't because C and C++ are awful for game development. We can agree that C# is better than C or C++. Nowadays micro optimizations are not very interesting in game development. However, C# is just as bad as Java in memory issues and performance, which is okay for most games, but the biggest problem is safety, concurrency and maintenance. Once your game starts getting too big C# is a mess. You will have stupid bugs in C# it's inevitable. It's very hard to optimize multicores in C#.
You can say oh but there's nothing better than C#. Kotlin, Java, Go, Scala, etc are all in the same level of C#, give it or take. They're not really much better than each other.
Anonymous 01/14/25(Tue)07:07:00 No.103889621
>>103889611
You don't have a clue what you're talking about
You don't have a clue what you're talking about
Anonymous 01/14/25(Tue)07:07:39 No.103889629
>>103889597
>>103889598
My criticism is not about preaching languages or that you can't make games in C#, it's that game developers overvalue C# and forget it's possible to do better. Not if you invest lots and lots in C#. It's going to have the same fate and C++. Awful for game developement, but there's so much legacy and libraries that nobody wants to move on.
>>103889598
My criticism is not about preaching languages or that you can't make games in C#, it's that game developers overvalue C# and forget it's possible to do better. Not if you invest lots and lots in C#. It's going to have the same fate and C++. Awful for game developement, but there's so much legacy and libraries that nobody wants to move on.
Anonymous 01/14/25(Tue)07:08:36 No.103889638
>>103889611
>Once your game starts getting too big C# is a mess. You will have stupid bugs in C# it's inevitable. It's very hard to optimize multicores in C#.
I have no reasons to believe this. Why would optimizing multicores in C#, the language that popularized async, would be hard? What stupid bugs are you talking? Why would C# of all languages become a mess with a big project and how do other languages avoid this?
>Once your game starts getting too big C# is a mess. You will have stupid bugs in C# it's inevitable. It's very hard to optimize multicores in C#.
I have no reasons to believe this. Why would optimizing multicores in C#, the language that popularized async, would be hard? What stupid bugs are you talking? Why would C# of all languages become a mess with a big project and how do other languages avoid this?
Anonymous 01/14/25(Tue)07:08:40 No.103889639
>>103889621
Omg you're right! I will change everything with your pointless reply.
Omg you're right! I will change everything with your pointless reply.
Anonymous 01/14/25(Tue)07:08:45 No.103889640
>>103889629
>it's possible to do better
Not really
It's not like C# is amazing or anything but there's nothing else that's really better for its domain
It's not a legacy language either, it's pretty new
>it's possible to do better
Not really
It's not like C# is amazing or anything but there's nothing else that's really better for its domain
It's not a legacy language either, it's pretty new
Anonymous 01/14/25(Tue)07:09:16 No.103889642
>>103889639
Just stop making things up and only talk about things you actually know
Just stop making things up and only talk about things you actually know
Anonymous 01/14/25(Tue)07:10:04 No.103889648
>>103889642
Why are you replying if you feel it's really stupid? Because you know it's not. You know you don't have the technical knowledge. Just shut up hypocrite.
Why are you replying if you feel it's really stupid? Because you know it's not. You know you don't have the technical knowledge. Just shut up hypocrite.
Anonymous 01/14/25(Tue)07:10:44 No.103889652
>>103889648
It's not that you're misunderstanding things, you are literally just making things up
It's not that you're misunderstanding things, you are literally just making things up
Anonymous 01/14/25(Tue)07:11:06 No.103889659
>>103889640
Fair enough, and I meant C++ is legacy, not C#, but I'm tired of this stupid preaching of C# when it's just alternative Java.
Fair enough, and I meant C++ is legacy, not C#, but I'm tired of this stupid preaching of C# when it's just alternative Java.
Anonymous 01/14/25(Tue)07:15:37 No.103889688
>>103889638
Async is not a good method to do safe concurrency. They just stole that crap from Typescript and it's basically syntax sugar for promises that helps do some asynchronous computations. It's too much of a loose canon to be useful for generic concurrency. You can only really do safe concurrency if your code is mostly pure. Otherwise you always end up in problems. Either that or the engine handles that for you and you have a high level language that doesn't give you too much liberty, like Godot or Unreal with it's script language.
Async is not a good method to do safe concurrency. They just stole that crap from Typescript and it's basically syntax sugar for promises that helps do some asynchronous computations. It's too much of a loose canon to be useful for generic concurrency. You can only really do safe concurrency if your code is mostly pure. Otherwise you always end up in problems. Either that or the engine handles that for you and you have a high level language that doesn't give you too much liberty, like Godot or Unreal with it's script language.
Anonymous 01/14/25(Tue)07:17:03 No.103889696
My codebase is such a mess. As I refactor it, I keep finding more shit to clean up...
Anonymous 01/14/25(Tue)07:20:25 No.103889726
>>103889659
>C# when it's just alternative Java.
Having used both, there are some things I prefer of C#:
- Structs, this will reduce the majority of allocations you have in java
- nullability and its operators, this removed each and every NPE I had in java. They just don't exist in C#, java should copy this and fast.
There are other subtle things, but the most apparent are these. There are also small QoL things like literal collections, not needed to specify the type of the class you are instantiating when it is obvious because of the context. Now java's std lib is still miles ahead of c# strangely. And enums are actually a step back from java, they work like C's enum.
>C# when it's just alternative Java.
Having used both, there are some things I prefer of C#:
- Structs, this will reduce the majority of allocations you have in java
- nullability and its operators, this removed each and every NPE I had in java. They just don't exist in C#, java should copy this and fast.
There are other subtle things, but the most apparent are these. There are also small QoL things like literal collections, not needed to specify the type of the class you are instantiating when it is obvious because of the context. Now java's std lib is still miles ahead of c# strangely. And enums are actually a step back from java, they work like C's enum.
Anonymous 01/14/25(Tue)07:29:08 No.103889784
Time to post some progress. I wanted to add a behavior for fleeing away from a target, and first I added the ability to compute two paths using the editor, which helped me to catch a couple of bugs. I still need to work on this, and add the ability to plan opening doors and such.
Anonymous 01/14/25(Tue)07:30:38 No.103889793
>>103889726
There are things that are better in Java and others better in C# but they're kind of the same. Scala is a better Java to be honest and fixes what you mentioned but that's not the point. Just that C# popularity in gaming was pretty much just a coincidence. What cringes me a bit more is that some people think C# is the evolution of C++ glorifying it even more, kind of like people mixing JavaScript with Java. C# isn't even used for everything in Unity, just to glue things, like a script language would be used for, like GDScript is used. Weird but I suppose Unity devs decided it's an already easy to use static typed language and ended up being a good idea.
There are things that are better in Java and others better in C# but they're kind of the same. Scala is a better Java to be honest and fixes what you mentioned but that's not the point. Just that C# popularity in gaming was pretty much just a coincidence. What cringes me a bit more is that some people think C# is the evolution of C++ glorifying it even more, kind of like people mixing JavaScript with Java. C# isn't even used for everything in Unity, just to glue things, like a script language would be used for, like GDScript is used. Weird but I suppose Unity devs decided it's an already easy to use static typed language and ended up being a good idea.
Anonymous 01/14/25(Tue)07:31:35 No.103889800
>>103889784
And here it is in action, the brown circle represents a rat.
This marks my second week of development. In general I'm happy with how things are going, and I need to move fast before the thrill is gone. My two next goals are more AI improvements and the introduction of real sprites/tiles.
And here it is in action, the brown circle represents a rat.
This marks my second week of development. In general I'm happy with how things are going, and I need to move fast before the thrill is gone. My two next goals are more AI improvements and the introduction of real sprites/tiles.
Anonymous 01/14/25(Tue)07:33:16 No.103889810
>>103889800
What's the objective of that game? It does look cool.
What's the objective of that game? It does look cool.
Anonymous 01/14/25(Tue)07:35:20 No.103889827
>>103887045
Yeah, 1*5 minute limit is killing me, and I was busy finishing a lot of separate projects, testing them, documenting, didn't push any to Git yet.
>>103889461
> Long time no see, why did you scrap ada?
I'm working with a lot of textual data, and strings in Ada are so safe it's painful to use them. I have C 'ini/cfg' parser now tho, I might bind it.
I still love Ada and fucking Fortran, it's like breaking up with a very good girl because she's too pedantic and forbids you smoking cigs...
I'm still not over it... And I don't want to rewrite some 30 projects from Ada to C anytime soon. C is so low-effort girl that it's kinda cool to use it.
Yeah, 1*5 minute limit is killing me, and I was busy finishing a lot of separate projects, testing them, documenting, didn't push any to Git yet.
>>103889461
> Long time no see, why did you scrap ada?
I'm working with a lot of textual data, and strings in Ada are so safe it's painful to use them. I have C 'ini/cfg' parser now tho, I might bind it.
I still love Ada and fucking Fortran, it's like breaking up with a very good girl because she's too pedantic and forbids you smoking cigs...
I'm still not over it... And I don't want to rewrite some 30 projects from Ada to C anytime soon. C is so low-effort girl that it's kinda cool to use it.
Anonymous 01/14/25(Tue)07:41:38 No.103889860
>>103889810
>What's the objective of that game?
It's a cross between zomboid/stalker/dayz and hitman/mgs type of games in a dark and decadent future where you have to kill vampires to free what remains of society.
>It does look cool.
Y-you too
>>103889827
Can you post an example of string safety in ada?
>What's the objective of that game?
It's a cross between zomboid/stalker/dayz and hitman/mgs type of games in a dark and decadent future where you have to kill vampires to free what remains of society.
>It does look cool.
Y-you too
>>103889827
Can you post an example of string safety in ada?
Anonymous 01/14/25(Tue)07:54:05 No.103889930
>>103889860
In short:
https://learn.adacore.com/courses/intro-to-ada/chapters/standard_library_strings.html
In long:
Ada has several standard types of strings, those are literal, fixed, bounded and unbounded strings. No null termination, strings are sized.
Package specifications (headers) for those pre-defined string types are full of useful functions, and you don't have unsafe functions like in C.
There's no real casting mechanism in Ada either, since it's *strongly type safe* language, you have to convert from one type to another.
There's operator overloading, so conversion function names are same, but they do very different things, depending on types used in it.
Example:
You can kinda see that C is much less verbose, for the better or worse, I still like Ada and Pascal syntax (which was inspired by Fortran) tho.
You see more keywords and less random operators. If you don't hack-ishly write Ada, it'll be very safe, but it's that kind of BDSM language.
--
When I finish some projects that I want in C, I might come back to Ada, to finish graphical roguelike I made in it using Raylib, if I don't switch Ray for my own 2D library. Yeah, you can call C from Ada.
In short:
https://learn.adacore.com/courses/i
In long:
Ada has several standard types of strings, those are literal, fixed, bounded and unbounded strings. No null termination, strings are sized.
Package specifications (headers) for those pre-defined string types are full of useful functions, and you don't have unsafe functions like in C.
There's no real casting mechanism in Ada either, since it's *strongly type safe* language, you have to convert from one type to another.
There's operator overloading, so conversion function names are same, but they do very different things, depending on types used in it.
Example:
static struct {
char * name, kind;
} const foo = {
"name", "kind"
};
--------------------------------------
type foo_t is record
name, kind : access string := null;
end record;
foo : constant foo_t := (
new string'("name"),
new string'("kind")
);
You can kinda see that C is much less verbose, for the better or worse, I still like Ada and Pascal syntax (which was inspired by Fortran) tho.
You see more keywords and less random operators. If you don't hack-ishly write Ada, it'll be very safe, but it's that kind of BDSM language.
--
When I finish some projects that I want in C, I might come back to Ada, to finish graphical roguelike I made in it using Raylib, if I don't switch Ray for my own 2D library. Yeah, you can call C from Ada.
Anonymous 01/14/25(Tue)08:31:07 No.103890180
What are you guys doing writing your own renderers, lighting system, physics, etc. ? Who's ever going to use your engine? Who do you rhimk you are? John Carmack?
Where is your GDD for your game?
Where is your GDD for your game?
Anonymous 01/14/25(Tue)08:32:19 No.103890188
>>103889376
It’s why I don’t want to work in industry
It’s why I don’t want to work in industry
Anonymous 01/14/25(Tue)08:32:43 No.103890194
Anonymous 01/14/25(Tue)08:34:43 No.103890210
If you didn't make a game+engine on the level of Animal Well and Hat Kid then we have nothing to discuss.
Your game must run on a NES console or on a PS1.
Your game must run on a NES console or on a PS1.
Anonymous 01/14/25(Tue)08:41:11 No.103890255
>>103890180
>Who's ever going to use your engine?
Me
>Where is your GDD for your game?
In my head
Nice bait
>Who's ever going to use your engine?
Me
>Where is your GDD for your game?
In my head
Nice bait
Anonymous 01/14/25(Tue)08:46:44 No.103890289
What are your yearly salaries?
If you're a security dev then I seriously don't know wtf you're doing with gamedev even as a hobby.
Games don't make that level of money.
If you're a security dev then I seriously don't know wtf you're doing with gamedev even as a hobby.
Games don't make that level of money.
Anonymous 01/14/25(Tue)08:48:09 No.103890298
>>103890180
Weak bait, tho it may be worth a reply to (You).
I'm not a professional programmer, nor I want to be one, I just own a laptop by chance, and I want to try make games I played as a kid 20 years ago.
Map editors in Age of Mythology and Cube got me into this, and I believe it's nice to learn and create things, even if you don't make money of it.
Since we're living in a real world, I need money and job, and factory is enough to get by normally, in my free time I write autistic programs and read.
>>103890210
I have both PS1 and PS2, nothing newer than that, but I can't find one cable for PS1, plus I think it's better to write games for GEENOO*Leenoocks.
Weak bait, tho it may be worth a reply to (You).
I'm not a professional programmer, nor I want to be one, I just own a laptop by chance, and I want to try make games I played as a kid 20 years ago.
Map editors in Age of Mythology and Cube got me into this, and I believe it's nice to learn and create things, even if you don't make money of it.
Since we're living in a real world, I need money and job, and factory is enough to get by normally, in my free time I write autistic programs and read.
>>103890210
I have both PS1 and PS2, nothing newer than that, but I can't find one cable for PS1, plus I think it's better to write games for GEENOO*Leenoocks.
Anonymous 01/14/25(Tue)08:54:06 No.103890336
>Programs for the sake of programming.
You're just like an animator who animates for the hell of it and has 0 skills in storytelling good stories, just likr you with gamedev.
Except that just like the animator when I attempt to discuss physics and 12 principles he too falters like the Grug he is and I realize he can't really animate.
Just like you can't program your VHS's clock or a 4chan bot to shitpost and bump threads. So you're not just bad at the art of making good games, you suck as a programmer too.
Prove it, faggot. Make a 4chan bot that bumps threads or replies to 2 proxies.
As for proving you're good at game dev, try to make an autistically detailed document on the level of measuring Super Mario's jumps just like the creator did on his maths notebook.
You're just like an animator who animates for the hell of it and has 0 skills in storytelling good stories, just likr you with gamedev.
Except that just like the animator when I attempt to discuss physics and 12 principles he too falters like the Grug he is and I realize he can't really animate.
Just like you can't program your VHS's clock or a 4chan bot to shitpost and bump threads. So you're not just bad at the art of making good games, you suck as a programmer too.
Prove it, faggot. Make a 4chan bot that bumps threads or replies to 2 proxies.
As for proving you're good at game dev, try to make an autistically detailed document on the level of measuring Super Mario's jumps just like the creator did on his maths notebook.
Anonymous 01/14/25(Tue)08:55:59 No.103890347
The third world mind can't comprehend a man spending his time on a hobby unless it might one day make more money than his dayjob
Anonymous 01/14/25(Tue)08:57:28 No.103890360
>>103890347
>Not working on real trains as a real train conductor and engineer.
You suck at your hobby, Dilbert.
>Not working on real trains as a real train conductor and engineer.
You suck at your hobby, Dilbert.
Anonymous 01/14/25(Tue)08:58:39 No.103890368
Anonymous 01/14/25(Tue)09:02:50 No.103890401
>>103890368
>moves you into Beverly Hills
You're right, now I desperately need to grind for more money to escape this commie shithole
>moves you into Beverly Hills
You're right, now I desperately need to grind for more money to escape this commie shithole
Anonymous 01/14/25(Tue)10:08:15 No.103891016
Anonymous 01/14/25(Tue)10:46:49 No.103891411
>>103889387
3D Dwarf Fortress and 3D Space Station 13.
And I want to make even more games such as an im-sim which takes place in an Elohim's star temple. But The two I mentioned are the main priority.
3D Dwarf Fortress and 3D Space Station 13.
And I want to make even more games such as an im-sim which takes place in an Elohim's star temple. But The two I mentioned are the main priority.
Anonymous 01/14/25(Tue)11:10:06 No.103891689
Hi /g/ anons, I'm a relatively new programmer and would like to learn how to create relatively low-spec late 90's - early 2000s -style 3D and pseudo-3D games as a hobby for myself. My ultimate goal would be to be able to create games technically equivalent to something like Elder Scrolls Morrowind or GTA 3/VC, but I understand that would take a lot of learning and experience and is a long term goal of mine (I hope to be able to achieve this after maybe 10 years of learning). For now, my goal is to make something akin to Doom 2 RPG so that I can learn the basics of creating game engines. What should I learn in order to be able to make this achieve this? Also is something like a Doom 2 RPG clone a realistic goal to be able to achieve in 1-2 years while learning programming simultaneously? Sorry this is kind of a lot but I'm just looking for some advice.
Anonymous 01/14/25(Tue)11:15:01 No.103891744
Anonymous 01/14/25(Tue)11:16:03 No.103891757
>>103891689
I recommend C with legacy OpenGL if you want to RP making a Low Spec game.
If you want to make a Doom 2 looking one then maybe software rendering for even more immersion.
I recommend C with legacy OpenGL if you want to RP making a Low Spec game.
If you want to make a Doom 2 looking one then maybe software rendering for even more immersion.
Anonymous 01/14/25(Tue)11:26:50 No.103891863
>>103891689
Anon below is comletely on point, I'll expand on his reply.
>>103891757
Choose low-friction statically compiled programming language, I recommend C, Pascal and very strict-subset of C++ at worst case scenario.
You don't need fancy features, only a way to define and modify variables via functions, define constant game data and to bind to some library.
For example, you can use Raylib, SDL2 or other libraries in any language. Start "high-level", make a platformer, then shooter, then roguelike.
Morrowind you mentioned combines a lot of systems from older games into it, also I would recommend you to make it 2D, it's easier.
--
It's kinda common knowledge that for every finished game ever, there's like 30 unfinished prototypes and demos.
When you learn basics, then wonder what's the minimal amount of work to finish a project with prototype systems. Then expand the content.
There's no easy way, but since it's a hobby, you'll constantly learn and improve, as long as you don't abandon it.
Lastly, don't buy too much into OOP, ECS, GC, arena allocators, good graphics, everything has pros and cons, those above do as well...
Anon below is comletely on point, I'll expand on his reply.
>>103891757
Choose low-friction statically compiled programming language, I recommend C, Pascal and very strict-subset of C++ at worst case scenario.
You don't need fancy features, only a way to define and modify variables via functions, define constant game data and to bind to some library.
For example, you can use Raylib, SDL2 or other libraries in any language. Start "high-level", make a platformer, then shooter, then roguelike.
Morrowind you mentioned combines a lot of systems from older games into it, also I would recommend you to make it 2D, it's easier.
--
It's kinda common knowledge that for every finished game ever, there's like 30 unfinished prototypes and demos.
When you learn basics, then wonder what's the minimal amount of work to finish a project with prototype systems. Then expand the content.
There's no easy way, but since it's a hobby, you'll constantly learn and improve, as long as you don't abandon it.
Lastly, don't buy too much into OOP, ECS, GC, arena allocators, good graphics, everything has pros and cons, those above do as well...
Anonymous 01/14/25(Tue)11:27:48 No.103891874
>>103891689
>For now, my goal is to make something akin to Doom 2 RPG so that I can learn the basics of creating game engines.
https://fabiensanglard.net/doomIphone/index.php
https://fabiensanglard.net/quake3/
>For now, my goal is to make something akin to Doom 2 RPG so that I can learn the basics of creating game engines.
https://fabiensanglard.net/doomIpho
https://fabiensanglard.net/quake3/
Anonymous 01/14/25(Tue)11:34:24 No.103891929
Anonymous 01/14/25(Tue)11:37:37 No.103891957
>>103891874
One guy made Doom-style renderer in bash of all things:
https://github.com/izabera/pseudo3d
It's limited by bashs slowness, but he explained what he did and why.
One guy made Doom-style renderer in bash of all things:
https://github.com/izabera/pseudo3d
It's limited by bashs slowness, but he explained what he did and why.
Anonymous 01/14/25(Tue)11:39:58 No.103891984
>>103891957
if you understand the doom rendering process you can write it in whatever you want
you're not going to learn much about practical modern gamedev cloning doom tho
if you understand the doom rendering process you can write it in whatever you want
you're not going to learn much about practical modern gamedev cloning doom tho
Anonymous 01/14/25(Tue)11:40:02 No.103891985
>>103891863
Yeah my thinking is that I'll try to progress making projects in this order
1. Very simple 2D grid-system moving a dot around on a map
2. A more detailed project 1, with sprites and colors and such
3. An isometric pseudo-3D engine similar to maybe Pokemon games from the Gameboy Advance
4. A more advanced Isometric pseudo-3D game like Fallout 1&2
5. A proper 3D isometric version of Fallout 1&2
6. A simple Doom/Wolfenstein-style pseudo 3D first person engine
7. A proper 3D First/Third Person Engine, akin to Elder Scrolls Morrowind or GTA 3 on a technical level.
Yeah my thinking is that I'll try to progress making projects in this order
1. Very simple 2D grid-system moving a dot around on a map
2. A more detailed project 1, with sprites and colors and such
3. An isometric pseudo-3D engine similar to maybe Pokemon games from the Gameboy Advance
4. A more advanced Isometric pseudo-3D game like Fallout 1&2
5. A proper 3D isometric version of Fallout 1&2
6. A simple Doom/Wolfenstein-style pseudo 3D first person engine
7. A proper 3D First/Third Person Engine, akin to Elder Scrolls Morrowind or GTA 3 on a technical level.
Anonymous 01/14/25(Tue)11:44:34 No.103892036
Anonymous 01/14/25(Tue)11:52:50 No.103892112
>>103891689
Tbh just use whatever language you already know, or Python if you're just starting out. Performance will probably be garbage compared to C, but if you're replicating a game from the 90s, you don't need super-optimized code to make it work decently on modern hardware. Plus there's probably 99999 tutorials on "how to make game with Python + [popular library]"
Be advised, if you just want to make a game in a reasonable amount of time, enginedev is not the way to do it (just use Godot). But if you want to learn how games work internally or just have a fun programming project to work on, this is the way to go, with the caveat that you might never actually finish a playable game.
Also, if you're more interested in the programming side, it's worth thinking about how much content/assets you'll need to create for your game. I saw a blog post at some point about "games that devour content", which was about the ratio of amount of time required to develop some chunk of content vs amount of time the player spends interacting with that content, and how this ratio varies between genres. A game like Morrowind is very high on this scale: devs spend hundreds or thousands of man-hours designing a city, with all its custom buildings, interiors, NPCs, etc, but the player spends only a few hours there at most. Contrast with a traditional roguelike, where you might spend a few hours implementing a new monster with a special move or a new level generation algorithm, which the player will see dozens of times across multiple runs.
Tbh just use whatever language you already know, or Python if you're just starting out. Performance will probably be garbage compared to C, but if you're replicating a game from the 90s, you don't need super-optimized code to make it work decently on modern hardware. Plus there's probably 99999 tutorials on "how to make game with Python + [popular library]"
Be advised, if you just want to make a game in a reasonable amount of time, enginedev is not the way to do it (just use Godot). But if you want to learn how games work internally or just have a fun programming project to work on, this is the way to go, with the caveat that you might never actually finish a playable game.
Also, if you're more interested in the programming side, it's worth thinking about how much content/assets you'll need to create for your game. I saw a blog post at some point about "games that devour content", which was about the ratio of amount of time required to develop some chunk of content vs amount of time the player spends interacting with that content, and how this ratio varies between genres. A game like Morrowind is very high on this scale: devs spend hundreds or thousands of man-hours designing a city, with all its custom buildings, interiors, NPCs, etc, but the player spends only a few hours there at most. Contrast with a traditional roguelike, where you might spend a few hours implementing a new monster with a special move or a new level generation algorithm, which the player will see dozens of times across multiple runs.
Anonymous 01/14/25(Tue)11:57:53 No.103892162
>>103891985
That's a good plan, and I would advise you to focus on system (game engine, non-general one, focused on only one type of game) rather than on content for start...
That's a good plan, and I would advise you to focus on system (game engine, non-general one, focused on only one type of game) rather than on content for start...
Anonymous 01/14/25(Tue)11:59:08 No.103892176
>>103892084
>terrible name
>awful graphics
>looks like it just uses Unity built-in everything
>trying to sell a mobile game on pc
>terrible name
>awful graphics
>looks like it just uses Unity built-in everything
>trying to sell a mobile game on pc
Anonymous 01/14/25(Tue)12:00:47 No.103892196
>>103892176
That post was meant for aggy daggy. I forgot that I wasn't in the shitpost thread, sorry.
That post was meant for aggy daggy. I forgot that I wasn't in the shitpost thread, sorry.
Anonymous 01/14/25(Tue)12:02:59 No.103892220
>>103892196
the only difference between the two threads is jannies here ban pedophiles
the only difference between the two threads is jannies here ban pedophiles
Anonymous 01/14/25(Tue)12:04:28 No.103892237
Despite having 0 time to work on things, I actually managed to slightly do something. Sprite data is represented as a color key & and list color indices (same system as GIF, or anything that uses a color table), colors are defined either with static values or based off 1-of-2 variable colors. A color key using a variable color can apply a transform (lightness and hue shift). Each individual copy in this image uses '3 colors' (static black, blue for the stripe, yellow for the ball (hue shift makes the red star)).
Is this useful to me? Perhaps? But I wanted to do it and now it's done, so that alone is nifty.
Is this useful to me? Perhaps? But I wanted to do it and now it's done, so that alone is nifty.
Anonymous 01/14/25(Tue)12:13:14 No.103892314
>>103891929
fukken math wizards, love this, it's like a trick more than a simulation?
fukken math wizards, love this, it's like a trick more than a simulation?
Anonymous 01/14/25(Tue)12:17:37 No.103892359
>>103892237
It also works on Caterpies
It also works on Caterpies
Anonymous 01/14/25(Tue)12:19:59 No.103892386
I wonder how should I handle visibility. Initially any entity had a set of visible points that I updated every tick using shadowcast. But I think this is too much in both memory and performance, and while the game is not demanded in its visuals, I may create big stages with loads of people. The other alternative is to use simple brehensam line algorithm, which individually will be fast but due to no result caching I may end up doing a lot of duplicate work. In any case, now I wonder how other games do it.
Anonymous 01/14/25(Tue)13:26:44 No.103893220
So are you gonna tell me what's wrong with using Rust for game dev or not? I use ECS anyway.
Anonymous 01/14/25(Tue)13:32:38 No.103893302
>>103893220
there is nothing wrong with it, the problem are the trannies that push it into everything
there is nothing wrong with it, the problem are the trannies that push it into everything
Anonymous 01/14/25(Tue)13:33:41 No.103893317
I'm personally writing it in Zig
Anonymous 01/14/25(Tue)13:35:01 No.103893336
>>103893302
Don't fall for the bait.
Don't fall for the bait.
Anonymous 01/14/25(Tue)13:43:00 No.103893429
>>103893220
Use what you want and don't beg for approval.
Use what you want and don't beg for approval.
Anonymous 01/14/25(Tue)13:50:53 No.103893501
>>103892386
so you are trying to do a micromanagement game?
the optimization is to first check using a bbox or radius distance, then do the raycast.
if you are dealing with a huge visibility distance like 100x100 view, that might be slow, but if you are only talking about 20x20, that's relatively fast.
and if you are using the raycast for AI, there are probably plenty of ways to optimize away the raycast for situations where the visibility will not lead to anything happening, and after something is detected as visible, you don't need to continue doing the raycast after the pathfinding algorithm starts (but I think tile grid pathfinding is like 100x more expensive than a raycast, so it kind of makes the cost of raycasting visibility negligible).
You can also do another optimization for situations where a lot of entities are bunched together, so you can just chunk your map into tiles and just check if the tile has any solid tiles, and just skip the raycast step if there are none. You could also speed up the raycast algorithm (and maybe the pathfinding?) by using 2x2 chunks or something (that's how games like teardown does a lot of raycasting to render every pixel, I think).
so you are trying to do a micromanagement game?
the optimization is to first check using a bbox or radius distance, then do the raycast.
if you are dealing with a huge visibility distance like 100x100 view, that might be slow, but if you are only talking about 20x20, that's relatively fast.
and if you are using the raycast for AI, there are probably plenty of ways to optimize away the raycast for situations where the visibility will not lead to anything happening, and after something is detected as visible, you don't need to continue doing the raycast after the pathfinding algorithm starts (but I think tile grid pathfinding is like 100x more expensive than a raycast, so it kind of makes the cost of raycasting visibility negligible).
You can also do another optimization for situations where a lot of entities are bunched together, so you can just chunk your map into tiles and just check if the tile has any solid tiles, and just skip the raycast step if there are none. You could also speed up the raycast algorithm (and maybe the pathfinding?) by using 2x2 chunks or something (that's how games like teardown does a lot of raycasting to render every pixel, I think).
Anonymous 01/14/25(Tue)13:51:07 No.103893504
>>103893317
did you sign the coc first?
did you sign the coc first?
Anonymous 01/14/25(Tue)13:58:27 No.103893582
>>103893504
Zig's Code of Conduct covers only official GitHub repos and their IRC channel
Zig's Code of Conduct covers only official GitHub repos and their IRC channel
Anonymous 01/14/25(Tue)13:59:02 No.103893590
>>103891689
Like the other anons said. C, SDL, OpenGL is the way.
I'd add that the main difficulties if you're a beginner, is that you don't have much experience and you'll probably screw up a few things. The important is to finish the stuff you're starting. Start with simple projects and go further step by step.
Like the other anons said. C, SDL, OpenGL is the way.
I'd add that the main difficulties if you're a beginner, is that you don't have much experience and you'll probably screw up a few things. The important is to finish the stuff you're starting. Start with simple projects and go further step by step.
Anonymous 01/14/25(Tue)14:02:35 No.103893618
>>103893501
Thanks. Didn't know about teardown, it looks like they made a video about how their engine works https://archive.org/details/teardown-voxel-game-technical-q-a-deep-dive-twitch-archive
>tile grid pathfinding is like 100x more expensive than a raycast, so it kind of makes the cost of raycasting visibility negligible
Is this because you need to check every tile instead of a set of walls? They could be cached too.
Thanks. Didn't know about teardown, it looks like they made a video about how their engine works https://archive.org/details/teardow
>tile grid pathfinding is like 100x more expensive than a raycast, so it kind of makes the cost of raycasting visibility negligible
Is this because you need to check every tile instead of a set of walls? They could be cached too.
Anonymous 01/14/25(Tue)14:03:50 No.103893628
>>103893504
>>103893582
>has a CoC
Dead language not worth wasting your time with. Any project with a CoC will eventually cannibalize itself and shut down. Even C++ is dying from it.
>>103893582
>has a CoC
Dead language not worth wasting your time with. Any project with a CoC will eventually cannibalize itself and shut down. Even C++ is dying from it.
Anonymous 01/14/25(Tue)14:04:52 No.103893639
>>103893618
Also, here is a video of a npc chasing me. Gaming time soon.
Also, here is a video of a npc chasing me. Gaming time soon.
Anonymous 01/14/25(Tue)14:15:27 No.103893735
>>103890289
240k
240k
Anonymous 01/14/25(Tue)14:20:28 No.103893788
>>103893590
Ok, thanks anons. I will proceed accordingly.
Ok, thanks anons. I will proceed accordingly.
Anonymous 01/14/25(Tue)14:28:35 No.103893886
>>103891689
>Also is something like a Doom 2 RPG clone a realistic goal to be able to achieve in 1-2 years while learning programming simultaneously?
AHAHAHAHAH
no
try tetris or chess or whatever basic game first.
making doom would be 10000x more easier than making doom in the 1990's, you don't even need to optimize anything if your game is 10000 polygons in total, that's like one tree in modern games.
but you will be fucked due to the map editor and just getting basic stuff running (collision, opengl, C or C++). At most maybe you could "reference" the GPL code from doom editors / doom games and try to simplify it or something.
You could try making a boomer shooter with a premade engine, like Ion Fury (and I don't think you will be able to make it in 1-2 years).
Unity is a good choice if you want to finish any 3d game in 1-2 years, and if you want modding, unity is amazing because if your game gets popular with like 100k downloads, people can make their own mod loader, website, and maps if they felt like it, they could even make the game multiplayer if with enough work (and if people make virus mods that hack your discord or whatever, it's not your responsibility, the mod loader is hosted by fans). And if your game flops, the work spent on implementing mods / map editor is not wasted since you spent 0 time on it.
It's unrealistic to expect a game that only gets 100 downloads would magically get a player to make a custom map that would suddenly make your game 100x more popular.
>b-but I can reuse that editor / etc code in my next game!
you can, but every single programmer who is starting out will write the most horrendous monkey code at first, and they learn from their mistakes and typically re-write everything to fix issues, and to make a completely different game. And you could also reuse code in unity as well, just with more ECS instead, but with unity it's faster to iterate, dispose and move on.
>Also is something like a Doom 2 RPG clone a realistic goal to be able to achieve in 1-2 years while learning programming simultaneously?
AHAHAHAHAH
no
try tetris or chess or whatever basic game first.
making doom would be 10000x more easier than making doom in the 1990's, you don't even need to optimize anything if your game is 10000 polygons in total, that's like one tree in modern games.
but you will be fucked due to the map editor and just getting basic stuff running (collision, opengl, C or C++). At most maybe you could "reference" the GPL code from doom editors / doom games and try to simplify it or something.
You could try making a boomer shooter with a premade engine, like Ion Fury (and I don't think you will be able to make it in 1-2 years).
Unity is a good choice if you want to finish any 3d game in 1-2 years, and if you want modding, unity is amazing because if your game gets popular with like 100k downloads, people can make their own mod loader, website, and maps if they felt like it, they could even make the game multiplayer if with enough work (and if people make virus mods that hack your discord or whatever, it's not your responsibility, the mod loader is hosted by fans). And if your game flops, the work spent on implementing mods / map editor is not wasted since you spent 0 time on it.
It's unrealistic to expect a game that only gets 100 downloads would magically get a player to make a custom map that would suddenly make your game 100x more popular.
>b-but I can reuse that editor / etc code in my next game!
you can, but every single programmer who is starting out will write the most horrendous monkey code at first, and they learn from their mistakes and typically re-write everything to fix issues, and to make a completely different game. And you could also reuse code in unity as well, just with more ECS instead, but with unity it's faster to iterate, dispose and move on.
Anonymous 01/14/25(Tue)14:34:09 No.103893950
Which 2D and 3D physics engines should one use in 2024?
Anonymous 01/14/25(Tue)14:41:25 No.103894052
>>103893618
>Is this because you need to check every tile instead of a set of walls?
A* is expensive because you generally need to reconstruct the pathing graph every tick for the best quality path, you might be able to mostly cache it based off distance from the target (as long as no obstacle blocks the unit, like another unity), or use a incremental algorithm.
You could probably get away with a dumb chasing algorithm, where it just goes towards you and slides off walls towards your direction, and fixing some special edge cases (that's how a lot of RTS games did it).
But since you are not making a micromanagement game, you should use your shadow casting algorithm.
The only target monsters will go towards is your player, unless you intend on making a companion NPC ai (which makes things quite complicated, I think the only game I know with NPC's would be ultima 7 and I think they are pretty dumb).
>Is this because you need to check every tile instead of a set of walls?
A* is expensive because you generally need to reconstruct the pathing graph every tick for the best quality path, you might be able to mostly cache it based off distance from the target (as long as no obstacle blocks the unit, like another unity), or use a incremental algorithm.
You could probably get away with a dumb chasing algorithm, where it just goes towards you and slides off walls towards your direction, and fixing some special edge cases (that's how a lot of RTS games did it).
But since you are not making a micromanagement game, you should use your shadow casting algorithm.
The only target monsters will go towards is your player, unless you intend on making a companion NPC ai (which makes things quite complicated, I think the only game I know with NPC's would be ultima 7 and I think they are pretty dumb).
Anonymous 01/14/25(Tue)14:42:57 No.103894076
>>103893950
*2025
*2025
Anonymous 01/14/25(Tue)14:49:02 No.103894162
>>103892386
>In any case, now I wonder how other games do it.
https://www.roguebasin.com/index.php/Field_of_Vision
Bresenham produces wonky results IIRC. Depending on the exact angle, it can skip some cells that the line actually passes through. You might want to run some tests, like take a 20x20 grid with a viewer, an object, and a single obstacle, and make a bunch of visibility queries as the viewer moves along a straight line. Along a straight line, there should only be a single range of positions where the object is out of view behind the obstacle, but I suspect with Bresenham that might not be the case.
>In any case, now I wonder how other games do it.
https://www.roguebasin.com/index.ph
Bresenham produces wonky results IIRC. Depending on the exact angle, it can skip some cells that the line actually passes through. You might want to run some tests, like take a 20x20 grid with a viewer, an object, and a single obstacle, and make a bunch of visibility queries as the viewer moves along a straight line. Along a straight line, there should only be a single range of positions where the object is out of view behind the obstacle, but I suspect with Bresenham that might not be the case.
Anonymous 01/14/25(Tue)14:53:58 No.103894218
Anonymous 01/14/25(Tue)14:56:12 No.103894234
>>103893950
your own
your own
Anonymous 01/14/25(Tue)14:56:32 No.103894241
how do i go from high school math, basic calc and algebra, to being able to understan 3d gfx
idk what a matrix is yet
idk what a matrix is yet
Anonymous 01/14/25(Tue)14:57:28 No.103894254
>>103894234
Why would I write my own 3D physics engine?
Why would I write my own 3D physics engine?
Anonymous 01/14/25(Tue)14:57:55 No.103894259
>>103894052
*also shadowcasting does not use much memory at all
When I use shadowcasting, I store the shadow into a NxN array that tightly fits the view, and when I render, I check if the tile is inside the shadowcasting box, then I access the shadow mapping array based off the offset to the map.
It's similar to the code you use for drawing the tiles based off the offset of your camera.
So it's like:
This code might legit be wrong, I don't like using 2d arrays because they don't exist and it makes more sense when the array can be resized dynamically, you could very easily put a wrapper around the shadow array and map to internally store a 1d array but with get(x,y) and set(x,y,v) or operator or whatever you want.
*also shadowcasting does not use much memory at all
When I use shadowcasting, I store the shadow into a NxN array that tightly fits the view, and when I render, I check if the tile is inside the shadowcasting box, then I access the shadow mapping array based off the offset to the map.
It's similar to the code you use for drawing the tiles based off the offset of your camera.
So it's like:
bool IsVisible(int x, int y)
{
if(check if xy is inside map bounds)
{ return false; }
return shadow_cast_array[(y - shadow_y) * shadow_width + (x - shadow_x)];
}
This code might legit be wrong, I don't like using 2d arrays because they don't exist and it makes more sense when the array can be resized dynamically, you could very easily put a wrapper around the shadow array and map to internally store a 1d array but with get(x,y) and set(x,y,v) or operator or whatever you want.
Anonymous 01/14/25(Tue)14:58:00 No.103894260
>>103894254
why would you not?
why would you not?
Anonymous 01/14/25(Tue)14:58:36 No.103894264
>>103894241
a matrix is like a big bag full of numbers
a matrix is like a big bag full of numbers
Anonymous 01/14/25(Tue)14:59:51 No.103894271
>>103894260
It's clearly unnecessary and will be worse than existing solutions in everything
It's clearly unnecessary and will be worse than existing solutions in everything
Anonymous 01/14/25(Tue)15:01:50 No.103894295
>>103894264
thanks i think im ready now
thanks i think im ready now
Anonymous 01/14/25(Tue)15:11:35 No.103894391
>>103894259
That's clever, I also thought about using a bitset to save more memory. Still, visiting each square might be more work in the end than throwing a spare ray to one or two points in the common case.
That's clever, I also thought about using a bitset to save more memory. Still, visiting each square might be more work in the end than throwing a spare ray to one or two points in the common case.
Anonymous 01/14/25(Tue)15:31:21 No.103894604
>>103894391
the problem with rays is that it wont match up with your shadow casting.
So it's up to you if you prefer the look of raycasting more than shadowcasting.
https://www.roguebasin.com/index.php?title=Comparative_study_of_field_of_view_algorithms_for_2D_grid_based_worlds
And also note that there is a "denoising" post processing since raycasting the view creates a lot of holes in the view, so you might "see" a unit, but the unit can't see you if it used the raycast (but you don't need to do the raycast again because you can just access the shadow array).
And performance does not matter at all for your situation, if you were dealing with 100x100 view, maybe. On 2009 hardware it runs 30ms on a 20x20 empty map (that's like 30fps), but I think if you benchmark your code, it actually runs more like 100 micro seconds because the algorithm you are using might be faster + the CPU is like 8x faster, because I bet the person is using a pentium or something.
the problem with rays is that it wont match up with your shadow casting.
So it's up to you if you prefer the look of raycasting more than shadowcasting.
https://www.roguebasin.com/index.ph
And also note that there is a "denoising" post processing since raycasting the view creates a lot of holes in the view, so you might "see" a unit, but the unit can't see you if it used the raycast (but you don't need to do the raycast again because you can just access the shadow array).
And performance does not matter at all for your situation, if you were dealing with 100x100 view, maybe. On 2009 hardware it runs 30ms on a 20x20 empty map (that's like 30fps), but I think if you benchmark your code, it actually runs more like 100 micro seconds because the algorithm you are using might be faster + the CPU is like 8x faster, because I bet the person is using a pentium or something.
Anonymous 01/14/25(Tue)15:35:37 No.103894666
Why is anyone writing a game in C?
Anonymous 01/14/25(Tue)15:39:42 No.103894723
>>103894666
It's a tradition of our people.
It's a tradition of our people.
Anonymous 01/14/25(Tue)15:41:47 No.103894747
>>103892112
>blog post games that devour content
Can you please share? I googled “games that devour content” (in quotes) and your comment is literally the only result
>blog post games that devour content
Can you please share? I googled “games that devour content” (in quotes) and your comment is literally the only result
Anonymous 01/14/25(Tue)15:56:00 No.103894911
what happens if i dive right into this without knowing math
Anonymous 01/14/25(Tue)15:57:05 No.103894922
>>103894911
You'll learn math very quickly because none of it is useless.
You'll learn math very quickly because none of it is useless.
Anonymous 01/14/25(Tue)15:57:52 No.103894935
the idea that you need to understand math in order to write a game engine is white supremacy
Anonymous 01/14/25(Tue)15:58:06 No.103894938
>>103894922
sounds good. hard to find motivation to study math straight from a textbook without the need to apply it.
sounds good. hard to find motivation to study math straight from a textbook without the need to apply it.
Anonymous 01/14/25(Tue)15:59:19 No.103894950
>>103894935
I agree and I'm white
I agree and I'm white
Anonymous 01/14/25(Tue)15:59:37 No.103894958
>>103894935
nand2tetris is all you need anyways desu
nand2tetris is all you need anyways desu
Anonymous 01/14/25(Tue)16:01:34 No.103894984
>>103894958
nta but this looks fucking awesome and i didnt know it existed, ty
nta but this looks fucking awesome and i didnt know it existed, ty
Anonymous 01/14/25(Tue)16:03:42 No.103895019
>>103894935
t. dei shill
t. dei shill
Anonymous 01/14/25(Tue)16:06:02 No.103895048
You need to know CMake to write a game engine
Anonymous 01/14/25(Tue)16:06:36 No.103895054
>>103894958
bookmarked this and never bothered with it fml
bookmarked this and never bothered with it fml
Anonymous 01/14/25(Tue)16:07:56 No.103895063
>>103895048
I use C + Makefile + Vulkan
I use C + Makefile + Vulkan
Anonymous 01/14/25(Tue)16:08:52 No.103895072
>>103895048
>majority of world use cmake
>itty bitty game devs get hard filtered by it
Really makes you think.
>majority of world use cmake
>itty bitty game devs get hard filtered by it
Really makes you think.
Anonymous 01/14/25(Tue)16:09:04 No.103895075
>>103894747
Sorry, I don't have a link. I also tried googling before I posted but couldn't find it. Probably I have the phrasing slightly wrong
Sorry, I don't have a link. I also tried googling before I posted but couldn't find it. Probably I have the phrasing slightly wrong
Anonymous 01/14/25(Tue)16:09:55 No.103895080
Anonymous 01/14/25(Tue)16:11:10 No.103895101
>>103894935
true, and that's exactly the way it should be
true, and that's exactly the way it should be
Anonymous 01/14/25(Tue)16:13:17 No.103895135
>>103895072
the majority uses cmake in the most shallow way possible, in fact, they usually just use a tool to create the cmake files and then limit their project around the limitations of said tool
the majority uses cmake in the most shallow way possible, in fact, they usually just use a tool to create the cmake files and then limit their project around the limitations of said tool
Anonymous 01/14/25(Tue)16:15:50 No.103895165
>>103889659
>alternative java
1 is a big block engine cast by sandniggers in a hole in the ground and the other is a machine shop manufactured alternative
>alternative java
1 is a big block engine cast by sandniggers in a hole in the ground and the other is a machine shop manufactured alternative
Anonymous 01/14/25(Tue)16:16:37 No.103895173
>>103894911
learning is copy+pasting and chatgpt or o3 will tell you why you are retarded because math is a memorization issue, not a skill issue.
like if you HAD to write everything in scratch, that would be a skill issue, but the problem is that you are absolutely going to follow some vulkan or whatever tutorial and it's going to give you everything you need to make a 3d game, but you are going to spend 99% of your time making an engine, not a game, so you will never finish the game, but there is a chance you will finish the engine, and maybe someone will use your engine and make a game with it! (more than half of the games on steam use unity, and the only game that sold a life changing amount of copies, without a team of coders, and without a engine is balatro made in lua + love2d, plus insane talent in music and creativity).
So uh, make some friends or use an engine, or join the solo engine dev purgatory just like everyone else here.
learning is copy+pasting and chatgpt or o3 will tell you why you are retarded because math is a memorization issue, not a skill issue.
like if you HAD to write everything in scratch, that would be a skill issue, but the problem is that you are absolutely going to follow some vulkan or whatever tutorial and it's going to give you everything you need to make a 3d game, but you are going to spend 99% of your time making an engine, not a game, so you will never finish the game, but there is a chance you will finish the engine, and maybe someone will use your engine and make a game with it! (more than half of the games on steam use unity, and the only game that sold a life changing amount of copies, without a team of coders, and without a engine is balatro made in lua + love2d, plus insane talent in music and creativity).
So uh, make some friends or use an engine, or join the solo engine dev purgatory just like everyone else here.
Anonymous 01/14/25(Tue)16:18:23 No.103895197
damn balatro is lua + love2d? time to pick up that for myself.
Anonymous 01/14/25(Tue)16:20:23 No.103895220
>>103894911
I did that and I just been learning as I go.
I keep saying I gotta start a math Haskell side project. One of these days I'll do my Haskell math camp side project.
I just look stuff up as I go. I don't know how I'm going to do dynamic fluid simulation yet, but I know I'll just learn it when it is time to.
>>103895173
demoralization. I will prove you wrong.
I did that and I just been learning as I go.
I keep saying I gotta start a math Haskell side project. One of these days I'll do my Haskell math camp side project.
I just look stuff up as I go. I don't know how I'm going to do dynamic fluid simulation yet, but I know I'll just learn it when it is time to.
>>103895173
demoralization. I will prove you wrong.
Anonymous 01/14/25(Tue)16:23:32 No.103895257
Anonymous 01/14/25(Tue)16:26:06 No.103895293
Anonymous 01/14/25(Tue)16:27:08 No.103895309
>>103888418
You're describing Beef.
You're describing Beef.
Anonymous 01/14/25(Tue)16:32:53 No.103895381
>>103895220
>demoralization. I will prove you wrong.
first step would be to leave 4chan and make die hard fans on other platforms and generate hype towards release.
I bet you probably watch a streamer, leeching off their discord is much more effective at translating to die-hard fans than leeching off 4chan because you will be considered no more than a 4chan developer and you will have trouble with community retention, since 4chan hates tripfags / avatarfags / discord ads (advertisement is against the rules I think as well).
Other platforms are soulless compared to 4chan but that's the way the system works.
I like the people here, people give praise to hard work and progress, you can have zero followers on 4chan yet people will reply to you (if you posted progress on twitter, 99% chance nobody will reply to you... I think).
But you also have to deal with people like me. If I vented on any other platform, I would be considered "toxic". Every minute you spend on 4chan is a net zero improvement on the hype / eyes on your game, you get a short dopamine boost when someone says they like your game, but it doesn't scale as well as post on a different platform going viral, and it's also just as bad for your mental health as going on any other platform as well, even if all the "toxic" people are taken away.
>demoralization. I will prove you wrong.
first step would be to leave 4chan and make die hard fans on other platforms and generate hype towards release.
I bet you probably watch a streamer, leeching off their discord is much more effective at translating to die-hard fans than leeching off 4chan because you will be considered no more than a 4chan developer and you will have trouble with community retention, since 4chan hates tripfags / avatarfags / discord ads (advertisement is against the rules I think as well).
Other platforms are soulless compared to 4chan but that's the way the system works.
I like the people here, people give praise to hard work and progress, you can have zero followers on 4chan yet people will reply to you (if you posted progress on twitter, 99% chance nobody will reply to you... I think).
But you also have to deal with people like me. If I vented on any other platform, I would be considered "toxic". Every minute you spend on 4chan is a net zero improvement on the hype / eyes on your game, you get a short dopamine boost when someone says they like your game, but it doesn't scale as well as post on a different platform going viral, and it's also just as bad for your mental health as going on any other platform as well, even if all the "toxic" people are taken away.
Anonymous 01/14/25(Tue)16:34:13 No.103895399
>>103889257
300 sounds tiny? I could maintain 60 fps with 10,000 randomly moving sprites in 2019 with an i7-2500k on python2.7+Rabbyt and I improperly used separate clock schedules for each entity instance like a big dummy even
300 sounds tiny? I could maintain 60 fps with 10,000 randomly moving sprites in 2019 with an i7-2500k on python2.7+Rabbyt and I improperly used separate clock schedules for each entity instance like a big dummy even
Anonymous 01/14/25(Tue)16:42:44 No.103895497
>>103895293
i just realized, why the fuck would "an position" matter when i wrote "an C++..."?
i dont know which one of us is more retarded
i just realized, why the fuck would "an position" matter when i wrote "an C++..."?
i dont know which one of us is more retarded
Anonymous 01/14/25(Tue)17:05:22 No.103895756
>>103892036
Point lights are the situation the technique handles worst! It does everything else better. There are solutions to that problem, but they add overhead... people are working on improving it. I'm just happy to have another tool in the box
>>103892314
Depends what you mean by trick..! If this is a trick, so are ambient occlusion and skybox lightmapping, and this technique is less trick-like than either of those, I think, because it's a unified lighting technique that handles the whole range of high angular resolution/low spatial resolution to vice versa
Point lights are the situation the technique handles worst! It does everything else better. There are solutions to that problem, but they add overhead... people are working on improving it. I'm just happy to have another tool in the box
>>103892314
Depends what you mean by trick..! If this is a trick, so are ambient occlusion and skybox lightmapping, and this technique is less trick-like than either of those, I think, because it's a unified lighting technique that handles the whole range of high angular resolution/low spatial resolution to vice versa
Anonymous 01/14/25(Tue)17:17:03 No.103895900
What are the cons of using Lua? More people use Godot's GDScript than Lua right?
Anonymous 01/14/25(Tue)17:17:58 No.103895908
Anonymous 01/14/25(Tue)17:19:58 No.103895935
>>103894052
>A* is expensive because you generally need to reconstruct the pathing graph every tick for the best quality path,
I've been thinking about this, and there is actually a way to avoid it. Every tick you check if your path is getting you closer to your target, otherwise, restart it. You don't even need to check each and every point.
>A* is expensive because you generally need to reconstruct the pathing graph every tick for the best quality path,
I've been thinking about this, and there is actually a way to avoid it. Every tick you check if your path is getting you closer to your target, otherwise, restart it. You don't even need to check each and every point.
Anonymous 01/14/25(Tue)17:25:10 No.103895996
>>103895935
you've been thinking wrong and this won't give you a good results.
you've been thinking wrong and this won't give you a good results.
Anonymous 01/14/25(Tue)17:28:30 No.103896047
>>103895996
Rude, and I tried it and it's working.
Rude, and I tried it and it's working.
Anonymous 01/14/25(Tue)17:29:19 No.103896061
As far as renderer structure goes is it better to have a parent class that’s contains all the setup logic and derive from that as the Vulkan examples do or is it better to shove all that stuff into a “util” file?
Anonymous 01/14/25(Tue)17:30:27 No.103896074
>>103895197
If you open up balatro.exe in 7zip (or whatever archiver you have) you'll see all the source files. The dev didn't obfuscate anything.
If you open up balatro.exe in 7zip (or whatever archiver you have) you'll see all the source files. The dev didn't obfuscate anything.
Anonymous 01/14/25(Tue)17:31:45 No.103896090
>>103895309
Beef look so cool. I just wish their IDE worked with Linux.
Beef look so cool. I just wish their IDE worked with Linux.
Anonymous 01/14/25(Tue)17:35:56 No.103896141
Coding collision is such a slog. I'm really sick of lines and AABBs.
Anonymous 01/14/25(Tue)17:41:22 No.103896196
>>103895935
A* is for advanced obstacles, your approach is no different than taking a bee line towards the player.
Sometimes the best path is to go the opposite direction of the player.
But depending on the game, if all obstacles block visibility (all walls cast shadows, monsters can stack, fences / glass don't exist).
Don't get me wrong, maybe you want monsters to be stupid and to get stuck on walls and stop following you after not being visible for a couple of seconds, the bee line approach works fine.
However A* is fast enough that you can do it like 10000 times per frame for 20 tile distances and hit 60fps (as long as you aren't using retarded slow tutorial code that calls new/malloc 1000 times...).
There are a lot of modifications you can do to A* and other pathfinding approaches to increase performance and maybe slightly damage the quality of the path in exchange, but you are an idiot if you intend on optimizing your code without actually comparing it to a baseline, that's called premature optimization (but benchmarking in C++ is a PhD level topic, but it will save you time both in the time you spend doing optimization and the performance of the game, think smarter not harder, it's possible that you spend 99% of your time on vsync because your game runs at 1000fps, because your game only has like 3 monsters on the screen).
A* is for advanced obstacles, your approach is no different than taking a bee line towards the player.
Sometimes the best path is to go the opposite direction of the player.
But depending on the game, if all obstacles block visibility (all walls cast shadows, monsters can stack, fences / glass don't exist).
Don't get me wrong, maybe you want monsters to be stupid and to get stuck on walls and stop following you after not being visible for a couple of seconds, the bee line approach works fine.
However A* is fast enough that you can do it like 10000 times per frame for 20 tile distances and hit 60fps (as long as you aren't using retarded slow tutorial code that calls new/malloc 1000 times...).
There are a lot of modifications you can do to A* and other pathfinding approaches to increase performance and maybe slightly damage the quality of the path in exchange, but you are an idiot if you intend on optimizing your code without actually comparing it to a baseline, that's called premature optimization (but benchmarking in C++ is a PhD level topic, but it will save you time both in the time you spend doing optimization and the performance of the game, think smarter not harder, it's possible that you spend 99% of your time on vsync because your game runs at 1000fps, because your game only has like 3 monsters on the screen).
Anonymous 01/14/25(Tue)17:51:19 No.103896323
>>103896141
okay now code global illumination
okay now code global illumination
Anonymous 01/14/25(Tue)17:52:47 No.103896335
>>103896323
ezpz lemon squeezy if you’re doing screen space
ezpz lemon squeezy if you’re doing screen space
Anonymous 01/14/25(Tue)17:54:29 No.103896361
>>103896335
okay now code pronouns
okay now code pronouns
Anonymous 01/14/25(Tue)17:59:52 No.103896413
>>103896323
...Yessir.
...Yessir.
Anonymous 01/14/25(Tue)18:01:38 No.103896429
global illumination is a meme we don't need
it looks like shit and runs like shit
look at how good games from the 90s and 00s look without using global illumination
it looks like shit and runs like shit
look at how good games from the 90s and 00s look without using global illumination
Anonymous 01/14/25(Tue)18:02:15 No.103896438
>>103896074
Just like God intended
Just like God intended
Anonymous 01/14/25(Tue)18:03:17 No.103896453
>>103896429
those games looked good because you were playing them on a crt
those games looked good because you were playing them on a crt
Anonymous 01/14/25(Tue)18:04:15 No.103896470
>>103896074
All games should be that way to be honest. All software even.
All games should be that way to be honest. All software even.
Anonymous 01/14/25(Tue)18:09:08 No.103896518
>>103893220
This has been discussed dozens of times, search the archive
This has been discussed dozens of times, search the archive
Anonymous 01/14/25(Tue)18:15:53 No.103896591
gamedev should be easy like tv so people in /gedg/ can get good jobs
Anonymous 01/14/25(Tue)18:30:56 No.103896762
>>103896090
the IDE is not that big of a deal the get running, it's the custom debgger that's annoying but I guess linux users are used to subpar debugging so maybe you could hook up gdb or someting..
the IDE is not that big of a deal the get running, it's the custom debgger that's annoying but I guess linux users are used to subpar debugging so maybe you could hook up gdb or someting..
Anonymous 01/14/25(Tue)18:32:53 No.103896789
>>103896047
>it works on my contrived example, therefore my addition to to this well understood algorithm is le genius
>it works on my contrived example, therefore my addition to to this well understood algorithm is le genius
Vogelfag revealed 01/14/25(Tue)18:34:56 No.103896807
>website programmers in charge of making video games
Lol, even roflmao said the namefag.
Average Webdevs shouldn't be considered programmers and webdevs are even less qualified than security programmer to make games.
I'd sooner trust a hardware designer than a webdev to make my game.
What college did you guys and trannies attend? with which grades -_- ? and don't consider you finished college until you have a master degree at least, let alone a PhD.
Lol, even roflmao said the namefag.
Average Webdevs shouldn't be considered programmers and webdevs are even less qualified than security programmer to make games.
I'd sooner trust a hardware designer than a webdev to make my game.
What college did you guys and trannies attend? with which grades -_- ? and don't consider you finished college until you have a master degree at least, let alone a PhD.
Anonymous 01/14/25(Tue)18:38:52 No.103896856
Anonymous 01/14/25(Tue)18:40:13 No.103896874
>>103896856
fug, it filtered out the
fug, it filtered out the
Anonymous 01/14/25(Tue)18:40:47 No.103896883
>>103895935
Dwarf Fortress does something like this. When a dwarf needs to go somewhere, the game runs A* to find a path, then saves that path. Each turn, it tries to move the dwarf one step along the path. This can fail if a new obstacle appeared after the path was calculated, in which case it reruns A* to calculate a new path.
One issue with this is that the path is only recalculated when dwarf reaches the obstacle, not when the obstacle first appears. This means the dwarf can potentially waste a lot of time moving in the wrong direction after the obstacle appears but before it's detected. The other issue is that if an obstacle suddenly disappears, allowing for a shorter path, it will never be detected by this approach.
Dwarf Fortress does something like this. When a dwarf needs to go somewhere, the game runs A* to find a path, then saves that path. Each turn, it tries to move the dwarf one step along the path. This can fail if a new obstacle appeared after the path was calculated, in which case it reruns A* to calculate a new path.
One issue with this is that the path is only recalculated when dwarf reaches the obstacle, not when the obstacle first appears. This means the dwarf can potentially waste a lot of time moving in the wrong direction after the obstacle appears but before it's detected. The other issue is that if an obstacle suddenly disappears, allowing for a shorter path, it will never be detected by this approach.
Anonymous 01/14/25(Tue)18:41:34 No.103896893
>>103896807
>we live on a big space rock called america
average 33IQ lard demon communicates over copper tech. you're right on webshitters, though
>we live on a big space rock called america
average 33IQ lard demon communicates over copper tech. you're right on webshitters, though
Anonymous 01/14/25(Tue)18:44:23 No.103896928
>>103896807
Hi Mandark. Fancy seeing you here. What sort of game are you working on today?
Hi Mandark. Fancy seeing you here. What sort of game are you working on today?
Anonymous 01/14/25(Tue)18:47:30 No.103896965
>>103896883
Dwarf Fortress's source code is probably one of the things I want to see the most in this world.
Dwarf Fortress's source code is probably one of the things I want to see the most in this world.
Anonymous 01/14/25(Tue)18:53:55 No.103897051
>>103896965
sdl slop
sdl slop
Anonymous 01/14/25(Tue)19:00:28 No.103897133
>>103897051
Yeah I'm sure he wants to see the DF source code to see how it interfaces with the OS
Yeah I'm sure he wants to see the DF source code to see how it interfaces with the OS
Anonymous 01/14/25(Tue)19:18:58 No.103897362
>this edge case should be rare enough that I'll never come across it in my lifetime
>came across it first try
I give up. Why do I even bother trying to make better solutions.
>came across it first try
I give up. Why do I even bother trying to make better solutions.
Anonymous 01/14/25(Tue)19:23:22 No.103897404
>>103896807
I got a math phd, do I qualify? :3
I got a math phd, do I qualify? :3
Anonymous 01/14/25(Tue)19:30:22 No.103897468
Anonymous 01/14/25(Tue)19:42:26 No.103897587
>have dll and scripting capability
Why?
Why?