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


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: 1718457578415606.png (70 KB, 1920x1018)
70 KB
70 KB PNG
/gedg/ Wiki: wiki.installgentoo.com/wiki/Gedg
IRC: irc.rizon.net #/g/gedg
Progress Day: rentry.org/gedg-jams
/gedg/ Compendium: rentry.org/gedg
/agdg/: >>/vg/agdg

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

Previous:
>>100976638
>>
Anyone using Godot with C#?
I'm trying to make an attack animation involving a timer so the player doesn't attack too fast.
I want the hitbox to only be active between .15 and .35 seconds in the animation. The animation itself takes .5 seconds to perform.

Naturally, I would think the time_left property would be the answer, but everything I try and look up just doesn't even acknowledge it's existence or lack there of.
The documentation talks about it, and I'm pretty sure it exists in GDscript, but I just need to know if there's anything that can do that in C#. Is my solution really to just have three timers for attack windup, attack swing, and attack follow through?
Even if I can just use one timer, and set the wait_time, that's still ridiculous.
>>
Looked into porting game to wasm. I hate it.
>>
>>101065065
It would be nice if there was a useable toolchain that wasn't some bloated monstrosity like emscripten.
>>
I would love an update with the 32 bits sky SHINING!
>>101036564
>>
>>101064194
Why use C# when GDScript is so integrated? GDScript is a beautiful language
>>
>>101065065
why?
>>
>>101065065
what are you porting from?
>>
>>101064194
in c# isn't it `timer.TimeLeft`? multiple timers toggling the raycast.Enabled property is better anyway.
>>
how
>>
>>101066263
you just do it
>>
>>101064194
>using Godot with C#?
Oh dear, you've got C# brain rot. Or maybe Stockholm syndrome. There is no other reason to use that language for games.
>>
>>101064194
You can set key frames on the animation timeline to turn the hit box on and off again without touching code but that's in gdscript, I don't know how wacky it gets while trying to do it in Microsoft Java
>>
>>101066407
the language war has started already
>>
File: IvyMen_GJ6mUIMWtW.webm (3.31 MB, 1008x728)
3.31 MB
3.31 MB WEBM
Added flanking AI to my enemies. They calculate the tangent vector between their current position and a circle 1.5 units around the player, then circle around you when they get there
>>
>>101067464
So they never attack you? gg ez game
>>
>>101067520
Lol there's attacking logic as well but I commented it out to demonstrate the flanking. They throw explosives at you, but I need to adjust the force with which they throw things at you because if you're too close they chuck things way past you. Also want to make things explode on impact with the player; currently the explosives are just timed
>>
>>101067464
nice hdoom clone
>>
>>101067592
more of a wolfenstein clone
>>
>>101067634
hwolfenstein?
>>
>>101067464
here's an idea, if there is a swarm of enemies and you start targeting one of them, it starts flanking counterclockwise while the others flank clockwise. I'm gonna use that one for sure
>>
>>101067965
Kind of a resident evil pattern; making it hard to do very basic aiming by having the enemies dodge around or bob their head in different directions
>>
>>101067464
>they're coming for da booty
>>
What exactly is a game engine? Like, what does it even do that a normal program doesn't?
>>
>>101068032
it makes games
>>
>>101067464
You could add some swarm flavor to their movement by also adding a long-distance-attraction-short-term-repulsion force that exists between each enemy and every other enemy in its swarm. This will make them look like a flock of animals working together, instead of them independently only reacting to the player. It's a novel way to use your existing assets to add some charm to their movement.

(I know about this because I did my dissertation on these systems, called nonlocal aggregation systems, 10 years ago.)
>>
>>101068032
I think a game engine lets you swap assets and game logic in and out without having to fundamentally rewrite the functions: how assets are loaded, how entities are queued up to update their state. Rendering can become pretty configurable all the way down to the bottom though. Unity pushes the limits of an "engine". Someone once described unity to me as the NodeJS of engines, where you had to go and find the different components and staple them together to create an actual game. Compared to Unreal engine which comes with FPS frameworking out of the box
>>
>>101068032
It's basically an IDE specialized for games with some boilerplate code created for you already.
>>
>>101068032
it's like the engine of a game.
Just like a car engine is the engine of a car.
>>
File: update.png (108 KB, 1920x1052)
108 KB
108 KB PNG
This was from yesterday. I added consuming/using items, hunger depletion, I fixed some bugs in the player computer screen (used for hacking and reading notes and such), I added the time of day system and the passing of time. Buildings have interiors again but I still have to reimplement lockpocking /door bashing for the locked doors.

This morning I started adding back NPCs and their movement logic. Hopefully that doesn't take too long so I can start adding in their dialog and bartering systems. Then finally comes combat.

I also added a few more settings to change colors of elements on screen, which saves with the player save.
>>
>>101068194
how many windows are you using?
>>
>>101067464
Are you using BSP trees for the rendering and collisions etc.?
Any references you'd care to share?
>>
>>101068262
How many windows? I suppose there's a main menu, then the main game window, which 95% of interactions happen through, the only real exceptions being leveling up, which is button presses in the Stat screen (shown on left) or visually referencing the inventory (shown on right), but these can be opened/closed on whim. The only other windows are the little computer screen that pops up to the side when in use, or like your note screen if taking notes really. A settings menu too. But it's really just a bunch of top level instances over a single root. I tried to not make it too cluttered feeling but I'm not sure how else to display stats or inventory other than like this considering how dense with info they can be.
>>
>>101068032
if you write a game from scratch you are essentially writing a game engine, and it's optional to split your code between engine and game, but if it's a 2D game there isn't much reason to split it apart because the reusable code for 2D graphics is like 5% of your project (3D games have a lot of code related to drawing the scene that can be reused in other games).
if you split your code between engine and game you have the option to reuse the engine for another game.
however engines like unity, unreal, godot are general purpose game engines, are a different kind of beast. You can make essentially any game you want in these engines, they have high level API's but also have low level API's, letting you work with raw vertices or even directly use opengl/etc code.
traditional engines like quake's or whatever, you just have code with a engine / game split (I think for quake 1, the single player game is completely done using scripts), but if a feature isn't supported by the engine it is expected for you to modify the engine to add that feature.
>>
>>101068363
>>101068032
I get the impression that game engines are only useful for physics based games like platformers and FPS. Suppose I was making a puzzle game or an Turn based strategy, is there a lot of reusable code between games?
>>
>>101068407
there are more than 1 reason to use an engine, and every engine has it's pros and cons.
I can tell you right now the best parts of using an engine (this list is not exhaustive):
>GUI's (the ui could be the default set by the engine, but I bet there are 3rd party plugins you probably have to pay but could give you the style you want, like I think there should be a way to use HTML for your UI using a plugin).
>C / C++ are not going to export to other operating systems (and the web if it's compatible) very easily (+the general problems you encounter with those languages)
>3D is very difficult, you can get something working in like a day in an engine that would take months for a engine dev, like things for lighting or advanced animations, and only drawing what you see in the screen.
>if you are bilingual it should be pretty easy to add translations to your game (machine translations are also getting to the point where it's better than human translation). In C / C++ adding translations isn't straightforward.
>godot has tools to help you make special effects and animations in 2D, which could be very helpful.
>documentation, there are not a lot of good examples of games written in scratch that you can use. open source games exist but they are above your skill level to understand.
>nobody releases games without an engine, the only game that became a big hitter without an engine would be balantro (lua). I can't think of anything else recent.
Like I admit for a simple 2D game, as long as your graphics framework has a decent way of drawing text (raylib is the only one that comes to mind), you don't really need more than that (doing your UI yourself is soul).
And if you are aiming for a english only retro art style, drawing a bitmap fonts uses only 10 lines of code with like SDL2 or opengl (also I don't think raylib is good for rendering japanese text, or even japanese input, that is something only very fancy GUI's get right like HTML).
>>
Is PS1 development a bad starting point for game and engine dev? I have a bachelor's in CS
>>
>>101069041
Developing PS1 games is kind of like developing Atari games: just because it's old doesn't mean its charming. What Atari 2600 did for 2d games (just barely made them playable if you used your imagination) is what PS1 did for 3D games. It doesn't carry any of the polished charm that NES, Genisis, and SNES did even though it's newer than them.
>>
>>101067464
I'm giggling like I'm stoned. I want to play this.
>>
File: 1715761884654233.png (12 KB, 1224x1047)
12 KB
12 KB PNG
>>101069041
there's no bad starting point. Just like make game.
>>
Why do we even need shaders?
>>
>>101069441
this question seems racist
>>
>>101069441
you dont, graphics are overrated
>>
>>101069441
>shaders
>don't shade
what did they mean by that?
>>
>>101069329
So are you saying we should make 3D games for 6th/7th generation consoles instead?
>>
>>101069329
I grew up playing PS1 games and I do find them charming, even these days
>>
>>101067464
Total witch genocide.
>>
File: Ridley_SM.gif (57 KB, 498x498)
57 KB
57 KB GIF
>>101069441
We don't even need 3D.
>>
>>101070469
we dont even need pixels
>>
>>101070554
pure audio game?
>>
>>101070780
not even audio, just pure haptic feedback
>>
>>101070842
>touching boobs simulator
1 million dollar idea, right here.
>>
>>101068032
the definition is a bit muddied because of people misusing the word but when most people think of a game engine what comes to mind is an editor with a viewport where you can manipulate things. thats basically the heart of your game engine, its where developers are probably gonna spend the most time
if you're writing a piece of game software from scratch its entirely up to you what part of the game is the "engine". there is no concrete part of programming that draws a line that says "this section of code right here is the game engine"
>>
>>101068277
Looks like a typical square grid raycaster to me.
>>
>>101067464
add some emphasis to the jewish nose q;^)
>>
File: John_96zNY6E3XG.webm (676 KB, 1286x1020)
676 KB
676 KB WEBM
>>101068277
It's just tile based orthogonal walls, not fancy like doom (more like wolfenstein 3D). Here's my level editor
>>
>>101069041
Developing for an old system like that adds a bunch of additional barriers. Can't recommend it for a newcomer unless you have the autism to make it work. PC development is the recommended place to start.
>>
>>101071660
I like your color choices
>>
Oh my god, le heckin' assembly??!!
>>
>>101067464
This isn't usually done on FPS not because its a technical challenge, but because its "not fun"

When you have say 20 enemies in a room and they are all constantly flanking you its hard for the player to keep track of and having a swarm circling you while focusing on one target feels cheap for the player, this is why usually its normally enemies who shot straight at you from either static positions or beelining toward you as the player can mitigate against this by staying mobile and they can overall keep track of the relative position of enemies
>>
>>101072071
What!?!
>>
>>101071660
Any advice on making a gui? I'd be happy to make something like that.
>>
>>101069969
if it floats your boat. I also played ps1 games growing up, getting one for christmas 1996. There's some beautiful ones like ff7, chrono cross, and some platformers are charming like crash 3 and spyro. idk maybe I'm just remembering how ps1 had a very peculiar look. Like you could tell something was a ps1 game just by a screenshot. It's not like that anymore. Would your game run on ps1 emulators or would you try recreating ps1 texture stretching for modern computers?
>>
>>101070861
haptit feedback
>>
File: R.gif (385 KB, 498x498)
385 KB
385 KB GIF
>>101072226
yes: making a gui is mindnumbing and makes me want to kill myself. I wrote this thing in C++ with SDL and designed the UI system entirely myself and it makes me want to blow my brains out every time I touch the code base
>>
>>101072332
Yeah, I use SDL too. So just hack away until it works is the approach?
>>
>>101063587
That's older screenshot I posted on some thread, like 30 or more commits back, but thanks I appreciate it... (:
Here's the current one, it doesn't look like much changed but there's:
> roguelike battle system (only melee for now).
> player can lead an army (friendly bots follow you soon).
> procedural world generation finished.
>>
File: machineGuni.gif (76 KB, 512x512)
76 KB
76 KB GIF
>>101072332
>>101072368
Here's the code, for reference

https://github.com/shortrounddev/john

Every element is a UINode, and takes a few sets of configuration parameters (size, position), and each node can take an arbitrary set of child nodes. You can create a generic UINode by just passing some style parameters to it and it will just display what you tell it to, OR you can create a child class of the UINode and define some custom event handlers. For example, the checbox button:

https://github.com/ShortRoundDev/John/blob/master/Checkbox.cpp

Checkbox::Checkbox(bool initialValue, std::function<void(bool)> onClick) : UINode(
{
24, 0,
22, 22,
"",
CGA_TRANSPARENT,
StyleDirection::TOP,
StyleDirection::RIGHT
}
)
{
this->onClick = onClick;
toCheck = nullptr;

init(initialValue);
}


accepts an initial value and a callback function to call when it's pressed. The click handling is set by this virtual function:

bool Checkbox::onMouseUp(const SDL_Event& e)
{
/* Removed some other code for brevity */
if(onClick.has_value()) /* If there is a callback function */
{
value ^= true; /* Toggle the value */
onClick.value()(value); /* Call the callback with the value */
}

/* Set the background image */
image = value
? checkDepressed
: uncheckDepressed;
return true;
}


1/2
>>
File: glock.gif (13 KB, 512x512)
13 KB
13 KB GIF
>>101072501
2/2

You can then use the checkbox to bind a value like this:

// say your class has a member called "bool m_enabled"

addChild(
new PropertyLine(
(uint16_t)children.size() + toAdd.size() - toRemove.size(), /* sets the position of the line */
name, /* Sets a label for the checkbox */
new Checkbox(initialValue, [this](bool value) -> {
this->m_enabled = value; // called when the user presses the button
}) /* The checkbox
)
);


If this looks eerily familiar to HTML/javascript, that is very much intentional
>>
>>101072226
not anon, but a lot of developers use dear imgui to handle complex menus used for tools and in game debugging.
the library itself isn't linked traditionally, you need to manually copy the files (and the correct backend) into your project sources.
you still need a UI system for your game, but it really depends on the game if you need more than a dumb and simple UI or maybe imgui could fit into your game's ui.
like for my first game I just made all the menu's and text drawn from ms paint with a simple animation when you hover over buttons.
>>
>>101072735
You can use vcpkg to easily add dear imgui if you use vcpkg. Works with cmake too, not just visual studio
>>
>>101071327
A game engine is a set of tools to build a game on, it's not a WYSIWYG editor, most game engines don't have this
>>
>>101072518
Thanks, looks neat. You're doing it all with the built-in SDL stuff? Rather than an opengl context?
>>
File: output.webm (1.41 MB, 1280x764)
1.41 MB
1.41 MB WEBM
We do be making video games
>>
>>101073273
yea fair enough
>>
File: T_Daisy_Eye_Alb.7.png (13 KB, 128x128)
13 KB
13 KB PNG
Anyone know much about how much data modern 3d games stick into each vertex?
Best example I've seen so far is Doom 2016 packing everything into a 48 byte vertex, but I'm curious how bad things can get. Your supposed to be able to use anything up to 2048 bytes but I haven't found anything that actually does that... yet.
Its a bit hard to find some good examples though since I don't actually play a lot of current gen games.
>>
>>101075024
Having large amounts of vertex data will have a significant effect on performance, so I imagine they try to keep it small
>>
Say I were to, hypothetically, program a game engine for the next few months in the style of a late 90s pc game engine, as preparation for my plans for future games to make.
Should I make it in C or C++? What standard version should I target? What platforms should I target, besides modern linux/windows? What build system should I use?
>>
>>101075751
> Language: ANSI C (C89 / C90).
> Library: Raylib for graphics.
> Platforms: Linux, then Windows, then Mac if desperate...
> Advice: 2D only.
> Build: make (we hate CMake, ninja, meson etc.)
>>
>>101075751
Make an engine with the capabilities of a late 90s PC game, don't use the same programming practices because you'll be gimping yourself unneccessarily
>>
>>101075751
if the game is 2D, the problem I have is how?
what even is an engine at that point?
you are just making the game, the game is the engine, you can put layers of abstraction to simplify things, but that isn't really an engine.
you could try emscripten if you want the game to run on the web, I got a demo running in github pages, but you can't use threads or precise timers due to cross origin rules, and learning a bit of html/JS is part of it.
>>
>>101076052
>>101075889
Wtf do you guys mean? It's 3D, not 2D.
>>101076024
Noted. Should I do C++20 then?
>>
>>101076052
ah yes, the late 90s Javascript game engine
>>
>>101076056
Only Visual Studio 2019 supports C++20
>>
>>101076056
oh sorry that was a complete misunderstanding.
by the way the problem with non-general purpose game engines is that they are not general purpose. so you are limited to making just one type of game with them.
>>
>>101076072
Wrong https://en.cppreference.com/w/cpp/compiler_support
>>101076088
I plan to make several types of games with the engine.
>>
>>101076122
>I plan to make several types of games with the engine.
anon people who write engines typically spend like 5 years making them, I wish you good luck.
>>
>>101076133
Making a Quake-like engine wouldn't be that hard, there's no complicated graphics or physics
>>
>>101065750
Glium. Really nice API but nobody's updating it anymore.
>>101065306
Overlooked emscripten t.b.h. Glium used to work with it; maybe I could hack something up.
>>101065704
I hate it because the 'recommended' way forward would require me to rewrite all my render code for a worse API. Maybe it wouldn't be so bad.
>>
>>101076177
anon...... you are clueless
>>
>>101076202
I've made a 3D engine
>>
>>101076133
Hmm, maybe you're right. I still want to make a general purpose engine for my games though (I mainly plan to make a TPS and an RPG)
>>101076177
Really? Wouldn't it be more tailored to FPSes?
>>
>>101075751
>>101076056
I think you're making the scope quite big, but fine...
Make a graphical roguelike game engine...
// physics
if (map.try_move (x, y) == clip) return;
// graphics
map.draw_tile (tile.grass, x, y);
// state
world.execute (me);
>>
>>101076222
There's nothing about a Quake-like engine that makes it specifically suited towards FPS games
>>
code snippet from the jedi academy source code
>>
File: sc-00.png (165 KB, 900x500)
165 KB
165 KB PNG
>>101004840
Responding to a guy from the last thread in case he checks this one. He was asking about how to do collision with moving platforms. I've been working on a precision platforming game for a while so I've got a decent bit of experience with 2d collision detection. And basically there's not one simple answer but it depends what your use case is. If you need to compare arbitrarily-sized rectangles against one another, the easiest drop-in solution is just to use a swept AABB test. This works pretty good for entity-to-entity collisions until you want to get really picky about certain interactions. Here's an implementation from my current engine in Jai, you can probably translate it back to C pretty trivially: https://pastebin.com/njeBxhWW. For player to tilemap collisions, I'm a big proponent of just using point-based collisions to directly index the tiles your player interacts with. If you end up with a situation where a player/tilemap moves too far in one frame and it causes incorrect collisions, then you can just move the player in half or quarter steps. I skimmed over that blog post from the Celeste guy and desu I think that's all a bunch of BS. The whole moving things by one pixel at a time thing is retarded because it ties your rendering to your collision detection, and those two should be entirely unrelated. It also only works for strictly grid-based systems.
And since I'm posting I might as well show off a bit of my own game: https://youtu.be/UhAlO6l__Mk?si=MZaCJ5V8apEprmCI&t=1024
This video is basically just a bunch of clips taken from my old engine in C (at various points in time) that I'm currently rewriting, but there's some good bits in there especially after the timestamp in the link. One of the cool things I found that I could do more easily with point-based collision detection is to run collisions with arbitrarily rotated tilemaps like you see in pic/video related.
>>
>>101076604
this looks awesome
>>
>>101076604
>The whole moving things by one pixel at a time thing is retarded because it ties your rendering to your collision detection
wtf, no it doesn't
>>
>>101076440
Very cute; so what parameters does the GameCube pass to main()?
>>
>>101063587
Why not use AI to help with the mundane coding? Examine and then make changes to the code as necessary
>>
>>101076930
Faster to write it yourself
>>
>>101076604
>whole moving things by one pixel at a time thing is retarded because it ties your rendering to your collision detection, and those two should be entirely unrelated. It also only works for strictly grid-based systems
If your sprites are snapped to pixel boundaries, then your collision checks should be too. Otherwise, you can end up end up in a situation where it detects a collision even when there's no visual overlap.
>>
>>101076791
Depends how bad your engine is. Like if your object coordinate system is 1:1 your pixels your already fighting with fire.
>>
>>101076993
What are you even talking about
>>
>>101076935
Obviously not. The thread is full of people asking questions about various things and trying to get an answer. The particular one before my post was about a guy who wanted to know how to do collissions. This can easily be done with AI in <10 secs.
>>
>>101077033
You're advocating for a style of programming where you don't understand what your code does, which is awful
>>
>>101077052
Obviously the person needing help will review the code, they have a brain, you know. What do you think they do when they read another person's code? They just download that in their brain and then run that code? Fucking retard.
>>
>>101077095
So you're not churning out code in 10 seconds, you're spending time auditing the code the AI produces
Better to just write yourself so you understand it and it's actually good
>>
File: duck-dance.gif (1.96 MB, 498x482)
1.96 MB
1.96 MB GIF
AI can be handy if you get stuck or need a new idea on how to approach something, but it also frequently suggests garbage or gets stuck on the wrong track.
>>
>>101077052
I bet they said something similar about C.

>are you kidding me? adding a layer of abstraction just for convenience? you're advocating for a style of programming where you won't have to understand basic assembly!

Maybe I should learn assembly too. While I'm at it, maybe I need to learn binary machine code? Hell, maybe I need to understand how to create my own logic gates and transistors. Now that I think of it, I never actually learned how to fabricate a CPU. If I don't know how to do that, how will I know how to fix or troubleshoot a bus malfunction? Wait... I need to learn physics in order to do that - but how will I understand physics without understanding the mechanisms of cognitive function that make it possible for me to learn anything at all? That's it, I'm learning everything.

Maybe that sounds ridiculous to you, but what are you going to say when the ability to write code is just made completely superfluous by sophisticated AI models that don't fuck up loke ChatGPT? When you can describe a game you want in detail and an AI model can just shit out the enitre thing in minutes? Do you know the ins and outs of memory allocation? Enough to understand the millions of operations your CPU performs in real time? No? Nobody does: the CPU is too fast for you to sit there and stare at some performance monitor that shows real-time dynamic allocation of memory to registers. At some point, you focus on what the machine can't do without you. That margin is closing rapidly with time. How many coders will be out of a job in 20 years when AI makes human coders unnecessary? How many people in school for comp sci right now are wasting their time, money, and effort?
>>
File: sc-01.png (414 KB, 1419x1048)
414 KB
414 KB PNG
>>101076791
Yes it does. What happens if your camera zooms in or out? Assuming you can at least update your pixel unit -> world unit ratio in realtime, then you still have a situation where if the camera zoom is now affecting how large of steps your player is taking in the game world. I'm not sure how you think that this does not affect your collision detection?
I assume this world units to pixel units ratio is what >>101076993 is getting at. And in a tile based game you probably want your world units to be based on tiles and not pixels.

>>101076985
If your collision is decent then that shouldn't be a problem anyhow because your collision points won't be on the exact edge graphical edge of your player, and should have minimum 1 pixel of overlap before even considering something a collision.

>>101077033
If you have mundane code your game is probably mundane. And if I had used AI to do my collision detection I never would have had the insights that led me to do cool stuff like the tilemap rotations, because I wouldn't have understood the code at a deep enough level to see where I could exploit it and do something new with it.
>>
>>101077226
The biggest problem with AI models writing code is that their training data is not updated quickly enough for them to adapt to breaking changes with new versions. Godot is a great example:

I tried using ChatGPT for Godot, but ChatGPT doesn't even know that "KinematicBody2D" has been replaced with "CharacterBody2D" after Godot4.0. I had to prompt it with specific changes to keep in mind. Eventually, I had to find documentation and spoonfeed it to ChatGPT to get it to produce valid code. Until ChatGPT's training data includes robust Godot4.0 documentation, it will not be able to help beyond some easy basics.

I tried having ChatGPT help me make a GUI with Gtk and Iced. It used outdated methods, functions, and attributes and could not figure out a valid correction - it just kept providing more outdated code. That's because the model is designed to do what you say and it doesn't get that it can't help you without certain knowledge. I even tried getting it to make one black window with winit and pixels in C++, and of course it had outdated knowledge of them and couldn't do shit without me fetching thennew documentation for those.

Learning to program is necessary if you want to make programs... for now.
>>
>>101077250
This is a terrible analogy
You can write C code and you fully understand what it does even if you don't understand what it compiles to
AI writing code for you means you have no idea what it does
>>
>>101077269
Pixel-based collisions doesn't mean you literally use rendering data to test your collisions
>>
>>101077362
But you know exactly how to prompt the AI to do what you want. That's the new skill that makes the previous skill obsolete. Maybe a thousand people can now competently write in assembly. At a time, that was anyone who wanted to write programs.
>>
>>101077384
You know how to prompt the AI to do something, and that something might resemble what you want, but you have no idea how robust it is and if it works under every circumstance
No artificial intelligence or intelligence in the world will ever write a program for you that does exactly what you want unless you are able to rigorously, unamibigiously define what you want. And if you can do that, you're a programmer and you don't need the AI
>>
>>101077376
That has literally nothing to do with what I said and I never even implied that you need to use rendering data in your collision tests. I'm only referring to the unit conversion that needs to be done between game-world units and pixel units. Because if you move things based on pixel units, that will correspond to different amounts in game-world units at different levels of zoom. If you can't understand that simple concept I don't know what to tell you.
>>
>>101077428
>I never even implied that you need to use rendering data in your collision tests
You're talking about the camera zooming out like that has anything to do with your colliders
>>
>>101077432
It does if you're moving the colliders by pixel units rather than world units.
>>
>>101077426
>And if you can do that, you're a programmer and you don't need the AI
Bullshit. All you have to do is be descriptive with ordinary human language.

>write code for a start menu for a 2D pixel art-style game in Godot. Size the main window at 800x800px and give it a red border of 2px with a panel on the left side that includes 4 buttons: New, Load, Settings, and Quit
>not a huge fan of the shade of red and it would look a lot better if you could add some intricate patterns to the border. Make the shade a bit darker and blah blah blah

Sure, you won't get exactly what's in your head, but 1. It might come up with something better, and; 2. The time it takes to prompt an adjustment is absolutely eclipsed by the time it takes to write the code yourself - and that's not even mentioning the time it takes to learn to code. The AI can spit out 200 lines of code in like 15 seconds AS OF NOW.
>>
>>101077473
Why is why I said you don't use rendering data to test your collisions
The camera you use for rendering should have nothing to do with your physics
Don't think of it as pixels, think of it as a tiny grid of collision data that is the same regardless of how you're viewing it
>>
>>101077493
>The time it takes to prompt an adjustment is absolutely eclipsed by the time it takes to write the code yourself
Any programmer can do what you just described in 5 minutes
>>
>>101077500
At this point I'm not even sure what you're describing. It sounds like you're just talking about a tilemap, but split up into smaller tiles for some reason? And I don't think that corresponds at all to what was in that article I was talking about.
>>
>>101077519
After years of learning, and the AI can do it in 15 seconds (as of now). Will it really be worth it to spend years learning to code only for ChatGPT10o to come out and write entire programs in seconds?
>>
i think there are people here confused about what screen space is calling it "pixel units" you should be more clear the entire render pipeline follows a series of invertible linear transformations
>>
>>101077530
When you do "pixel-based collisions" you are not literally using the pixels being drawn on screen to test collisions
>>
>>101077535
>Will it really be worth it to spend years learning to code only for ChatGPT10o to come out and write entire programs in seconds?
Yes. AI can't code. It can deliver you a probablistic outcome of a program that might look like something you want, which can be useful, but that's not what programming is. Programming is unambigious, which is the opposite of what AI is, AI tries to guess the most likely outcome for an ambigious question
>>
>>101077519
Let me put it this way: first there was machine code. Then:

>assembly
>C
>C++
>Python
>Javascript
>JS + React

and now ordinary human language can act as the highest-level programming language. You can say things that make sense to you and the AI can translate it into lower-level code for you. If you don't understand how this makes lower-level programming languages obsolete over time, I can't help you.
>>
>>101077610
AI prompting is not a programming language, programming languages are unambiguous
>>
>>101077591
You can just use more words to make the outcome less ambiguous. The more words you use, the less ambiguous it gets. Again, if the AI is allowing you to use ordinary language to create code, then it is doing something very similar to a higher-level programming language - translating abstraction into concreteness. Python takes Python code and re-interprets it as machine code. Why does Python exist if we already have a very, very unambiguous machine code? Convenience. Why don't you know machine code, anon? It's the most unambiguous programming language there is.
>>
>>101077672
If you were to assign relative ambiguity ratings to programming languages it would be something like
assembly - 10
C - 20
C++ - 50
Python - 100
AI prompt engineering - 1000000000000
AI prompting is literally nothing like a high level programming language, to suggest this just means you don't understand programming at all
Programming languages are not ambigious. Higher level programming languages provide higher level abstractions, but abstractions are not ambigious
>>
>>101077627
Okay, well the AI is generating code and that code does work and it can be adjusted recursively until it is exactly what you want, and that is done through ordinary language. Again, WHEN (not if) AI gets good enough at this for people to walk away from learning code, you can sit there spinning your wheels about how it's not real programming while the rest of us enjoy a creative capacity that isn't gatekept by tomes and documentation and forums filled with cunts.
>>
>>101077723
Literally anyone can make a video game right now using Unity or GameMaker, you don't need to sit here shitting your pants complaining about how hard programming is, you don't need to wait for AI
>>
>>101077720
Yeah fine. I know that the CPU uses a well-defined microcode to fetch, decode, and execute exact instructions that, at a low level, won't work unless every single character is valid and correctly placed. AI can generate that. It can write assembly code that can be used to build a kernel with your exact requirements if you are specific enough. Call that what you will.
>>
>>101077735
I am actively learning C++ and Rust, and I have already gained a basic understanding of GDScript.
>>
>>101077767
>won't work unless every single character is valid and correctly placed
You know this is how every single programming language works right? Like I said, unambigous. There are no statistical models involved
>>
>>101077783
Why the fuck are you complaining about being gatekept by programming and then learning overcomplicated languages like C++ and Rust? Are you retarded?
>>
>>101077785
Yes, I know. You seem to be dodging the point. I agree that what the AI is doing is different from being unambiguous - but it writes code which is unambiguous. It literally generates lines of code that work. So it is using ambiguous means to create unambiguous code. Whatever you want to call that, it's the future and it's progressing in effectiveness and efficiency very rapidly.
>>
>>101077798
I want to get to the other side of the gate. I need to make a game in which performance is critical, so a language that allows me low-level customization is necessary.
>>
>>101077819
>it writes code which is unambiguous
It doesn't actually, it doesn't "understand" code, it generates code that doesn't work, it generates code that works but might not do what you want it to do
The future of programming will never be having someone guess what you want and just hoping it's correct
>>
>>101077846
What's so special about your game that you need to learn C++ to do it
>>
>>101077871
I don't want to describe that here because when I release it on Steam the last thing I need is someone using my posts to identify the game and out me as a 4chan chud and come review bomb my game. There will be a lot, and I mean A LOT of real-time rendering of assets and processes across a large game space that will require efficient optimization.
>>
>>101077917
I'm pretty sure you could do it in Unity and you just have delusions of grandeur
>>
>>101072071
asm is cool. Often GCC will know how to optimize your C code better than you know how to optimize your asm code, but it's a useful skill to learn. You learn more in depth how a processor works. S()ydevs will fetishize it for it's difficulty. To be sure, it is difficult for large-scale graphical projects, but it's not like it's this impossible thing to learn.
>>
Say I want to do homebrew. Which of the following consoles would be coolest to make (3D) homebrew for -- N64, Dreamcast, or NDS?
>>
>>101074022
Close call on that second set of pipes.
>>
>>101077936
It's just ignorance, anon. Not delusions of grandeur. I have never seen a game like what I have in mind and I know based on experience that something like it could easily cause performance bottlenecks on modern systems if not done correctly. Could it easily be done in Unity? That would be sick - but everything I've learned from looking into it indicates that my safest bet is just to use a language that allows me to optimize performance at a low level. I'm not about to start a project in C# or Python only to discover that it simply can't meet my demands and I have to rebuild from scratch in C++ or Rust. So fuck you.
>>
>>101077564
Well just tell me what you're actually doing then. Link me a video or article if you don't wanna type it out. But if your "pixel-based" collision is not based on pixels then maybe you should call it something less retarded. And again I in no way implied that you are using the literal rendered pixels to perform the collision test.
>>
>>101077853
Goddamn you are pedantic. Okay, ignore me then.

>Heyyy... anon
>you're probably wondering why I brought Karen from HR
>you see, I have some bad news
>we're downsizing and unfortunately you have been selected to be let go
>we have opted to purchase an API subscription for an LLM that our senior developer says can optimize his workflow to such a degree that we no longer need a team of paid staff under him

>WHAT?! BUT AI CAN'T EVEN WRITE CODE!!! IT JUST AMBIGUOUSLY THROWS UP GUESSES AND SOMETIMES THEY WORK I GUESS BUT IT'S NOT EVEN REAL PRO-

>yes. Sorry, anon :/

Watch it happen and weep.
>>
>>101074022
What's the zig bindings for raylib like to work with?
>>
>>101078168
That's both irrelevant to the thread and not concerning to me because I'm not a junior programmer hired to shit out boilerplate
>>
>>101078116
The way you act like you're being "gatekept" out of programming and that you think someone is seirously going to dox your game and CANCEL you just because you posted your idea on 4chan makes it sound like you think far too much of yourself
If you drop your ego and share your idea you might be able to have a productive discussion about it
>>
>>101078275
My intuition tells me that being paranoid is better than being forthcoming. It takes one mistake to fuck something up and little effort to avoid divulging "sensitive" information. You're partially right though: if this game is done right, I believe it will be really good. It's a creative concept implimented to look and feel simple that fills a void of something I've wanted to see out of a game and never have. I expect that it will be well-regarded by others. Time will tell, I guess. I don't need 4chan to help me out if that means I have to spoil the concept regardless of whether or not getting doxxed on the internet is realistic.
>>
>>101078365
Your "intuition" is retarded and you think too much of yourself
>I don't need 4chan to help me out
Weren't you just complaining that you couldn't program and you needed AI to do it for you?
You're depriving us of an productive gamedev discussion here
>>
>>101078384
Yes. I'm a narcissist. You'll notice that AI is not you, and neither are the forums and documentation and books I refer to in lieu of someone on 4chan who may or may not know what they're talking about.
>>
>>101078423
A forum or AI or book is not going to tell you if your game idea is feasible in Unity or not, so why don't you tell us what it is?
>>
>>101078074
surely worth it as a gamedev who uses C to do a small side project in assembly just to work in it right?
>>
>>101077123
So why not fire all jr developers at a company and have the lead dev do all the work?
>>
>>101078449
Sure they will.
>>
>>101078466
AI can't replace juniors yet
I don't think AI is ever going to be able to do anything that better tools won't, but it might be quicker to train an AI to use a shitty tool than build new tools although that's just kicking the can down the road
But that's worked for webdev so far
>>
>>101078488
A book will tell you HOW to program, it can't tell you anything about your particular idea and it's performance requirements. You can try to figure it out yourself but that's very hard for an amateur to do and they're nearly always wrong about it when they try. Asking experienced developers about your idea is one of the most valuable things you can do
>>
>>101078500
Recently AI seems to give surprisingly good results. Either that or I've just worked with really shitty people. Or I'm shit too, who knows.
>>
What the fuck is itch.io? Can I, like, make a static website on it? What kind of files can I put there? Can I upload source that needs to be compiled? Nothing is explained in their shitty FAQ.
>>
>>101072495
What are you using to make this?
>>
>>101078459
In my opinion, yes, but I haven't shipped a game or anything, so take that with a grain of salt. I enjoy the challenge of learning it and understanding what the computer is doing at a lower level. I'd like to make a small ASCII roguelike with it at some point.
>>
>>101076930
aside from the fundamental copyright issues with using it for anything aside from non-creative menial tasks (copyright can only be held if a work is majority-human), AI is only useful for glue code and data entry, only after fucktons of fuzzing, and that's all it will be good for
nvidia's not going to be using AI, or at least not LLMs to write high performance compute kernels
same thing with games

this idea that if you had tools where you can describe things in plain english you can just make things like the people who have actual skills is fundamentally flawed
you cannot actually describe something in a meaningful way without understanding it and the level of detail you would need for performance for complex multiplatform real time multimedia applications like video games is extreme, multicontextual, and there are plenty of gotchas
people will absolutely try, and it'll probably work for very basic bitch shit, just like the existing no-code solutions do
i mean for fuck's sake ubisoft writes large chunks of their games in a scratch clone and one of the reasons given behind a game of theirs being delayed/canceled (i forget the game in question) is actually the reason why their games feel all samey, their game programmers are literally incapable of anything other than assassins creed/far cry

you shouldn't be proud of being retarded btw, and if you're actually interesting in using AI maybe do something a little more than just using the chatgpt website for help and actually learn how to use libraries like pytorch or transformers
like most of the benefit for developer speed would be working into existing workflows and tooling
>>
>>101067464
That's cool Anon, is this representative of the kind of game your making? Also what engine is this?
>>
>>101078953
Yeah, that's a good idea. I may change my ASCII planned side projects to assembly. Might as well.
>>
>>101078995
>making games isn't about making games, its about learning how to make games and not make games and feel superior about it
LMAO
>>
>>101079206
Nobody is feeling superior, you're feeling inferior because you don't want to put in the work and think the AI wizard can do it for you
>>
>>101068062
Engines don't make games. People make games.
>>
these retards think ai is going to be able to code them a multithreaded game engine that utilizes opengl drivers like it isnt just a sophisticated markov chain fed stack overflow answers
plus ai makes up packages that dont even exist because its fucking retarded
>>
>>101079206
yes, you have to learn to actualize a vision for it to actually exist
i'm not sure why this is a foreign concept to people like you
also anyone can go fucking learn, the only thing it costs is time, and not much
letting retarded executive disfunction get in your way and stop you until the solution flies into your lap is extremely stupid
it's not like you need to learn hyper-advanced shit or even be good at programming, but being able to program at all is what separates games that are literally just walking simulator/shooter templates from shit with actual uniqueness
like even just basic understanding of shaders would immediately visually separate your game from every the unity or unreal game "look"

also describing even just a game like doom in totality would be huge, especially limited to non-academic english
>>
The communist-like uprising of people who think AI has liberated creativity from people who actually put in the work to get the job done will never stop being funny to me
>>
>>101079348
very humorous way of putting it
>>
>>101079348
Communists like working.
>>
>>101079364
in theory perhaps
>>
>>101079373
True in theory. in practice, they dont want to work, and they hate AI because it steals their jobs.

March of technology will happen. Just like it has for the last thousands of years. People will cry about AI just like they cried about computers in the past, just like how they cried about math, sciences, technology, etc. There's nothing special about human labor and human creativity. Its all goyslop thats been replicated.
>>
>>101079390
Human creativity hasn't been replicated
>>
>>101079399
Music, art, coding, writing, its all there brah.

Dont let this revelation hit you in the face. Its been coming for the last few years.
>>
>>101079390
if you genuinely listen to ai music regularly i feel sorry for you and i hope a honda civic crashes into you and kills you instantly in the near future
>brah
make it a ford pickup truck, won't you god?
>>
>>101079410
The technical process of producing a drawing or a song is not in of itself creative
>>
>>101079415
god doesn't real
>>
>Trying to assign resources from stockpile of faction to individual unit to transfer to neutral faction to sell/drop off.
Boys I'm getting filtered by babies first rts process
>>
>>101079415
If you aren't then I feel sorry for you. Shits awesome. Better than 99% of the goyslop humans produce. Created in just 30 seconds and on demand of any design
>>
>>101079419
>creating something isn't creative
get a skill or a hobby zoomie
at some point you're going to realuze you wasted your life having the computer generate funny pictures for you and that you have no real skills or passions or hobbies or memories or connections
>>101079447
https://www.youtube.com/watch?v=gmvB-XD-g6o
>>
>>101079441
You make Pong first, right?
>>
>>101079456
>>creating something isn't creative
Yes, literally creating something isn't creative
You aren't creative if you have kids

>>101079447
There's no way someone actually thinks this
>>
>>101079462
hahahahaha.
I probably should've but I'd also have given up and not retained interest
>>
How viable is it to make a retro styled FPS solo?
>>
>>101079951
It wouldn't be too hard for an experienced programmer but it's probably out of the ability of a beginner
>>
>>101079951
Use Claude's newest model that was released today and see what happens.
>>
>>101079951
you can do it.
>>
>Today
Finished poison status effect shader; it's okay.
Made death do grayscale.
Shrews were spamming hundreds of sounds, and the audio mixer caps out at 24, so I've made them quieter and had the audio mixer sort more carefully.
Did some cheaty play-testing, had [spoilers]fun[/spoilers].
https://files.catbox.moe/1nsazv.webm
(For some reason the audio got recorded weird.)
>>
>>101079951
Get a good grasp of C/C++ and OpenGL, start with making a Wolfenstein 3D like game
>>
>>101080180
What are you going to add after shrews?
Also the bevels look really nice, would be cool if you were able to get them to work at all angles
>>
>>101080290
>after shrews
I'm going to grind on the engine some more. I have a some underpowered DSLs that I want to replaced by a single more powerful VM.
>bevels look really nice
Thanks. Beveling more edges would cause an explosion in triangle and/or model count. But maybe some day as a graphics setting.
>>
>>101079985
>he thinks making a good networking solution isnt too hard
>>
>>101080506
Retro FPS games didn't have good networking solutions
>>
>>101080180
kicking and exploding shrews. thats brutal
>>
>>101080519
what makes you say that?
>>
>>101080555
I studied and reimplemented Half-Life's networking system when I was 17 years old
>>
>>101080836
how was it done?
>>
>>101080871
For lag compensation, when you fire a weapon the server winds back the position of the targets based on your ping to where they were at that time
Other games at the time like Quake / CoD didn't have any lag compensation at all
>>
>>101080905
Can a player who will die kill other players?
>>
>>101078168
it's gonna end up like years ago with php devs, employing jeets en masse etc
>writing code expensive
>there is a cheap option
>jump on it
>job market gets worse for devs
>now product is shit, we're losing clients
>have to employ good devs once again
>job market gets better for devs
rince and repeat
>>
>>101081000
No, it still plays the events in order so you can't fire after you're dead
The most obvious artifact you can notice is that when you're being chased by someone and you turn a corner you will get shot around the corner, because you were visible on his screen but on your computer it's impossible for him to hit you
>>
>>101079951
you can make any project solo, it's just a matter of how much time you're willing and able to put into the project.

imo the theoretical maximum one person could do within a reasonable design cycle (<=5 years) is probably gamecube-tier wrt graphics and game scope. but it'd not only require extreme discipline, but competence in all areas as well as extremely customized tooling and pipelines
>>
>>101080905
and how do you do that, how do you wind back time
how do you know the difference between lag, ping, and other timing factors, not to mention that non if it is stable
>>
>>101081091
>how do you wind back time
You keep a list of the states of each object going back X amount of frames
>how do you know the difference between lag, ping, and other timing factors, not to mention that non if it is stable
You use one ping value which is usually an average over the past X seconds, if it's not stable then it just doesn't work
>>
>>101075751
>Should I make it in C or C++?

I recommend doing it another language.
>>
>>101081115
>You keep a list of the states of each object going back X amount of frames
>he measures time in frames
now thats dumb
>if it's not stable then it just doesn't work
and none of it is stable, even something as simple as ping depends on network congestion which isnt guaranteed to be the same in each direction
>>
>>101081144
Games are updated in discrete frames
Ping is stable enough for this lag compensation to work most of the time
Why are you arguing with me like I invented this method
>>
>>101081153
>Games are updated in discrete frames
thats a bold assumption
>Ping is stable enough for this lag compensation to work most of the time
thats a bold assumption
>Why are you arguing with me like I invented this method
you said it was simple, so i inquired and argued that what you did, even if wasnt originally done by you, isnt a robust solution
>>
>>101075751
well here's my set up:
>lang: C w/Clang
>frameworks: SDL w/Vulkan
>platform: developed on linux, release on windows
>build system: custom one written in LuaJIT utilizing its C FFI to interact with linux
>>
>>101081171
It's the solution used by the most popular FPS games in the world, but of course I'm sure you know better
>>
>>101081178
and thats why i know it is hard. but lets go with yours for now, then what do you do with packet loss? tcp? udp? tcp over udp (good luck with that last one)?
>>
>>101081198
>yours
It's not "mine" you retard, this is what was done in Half-Life, I merely copied it
There is nothing you can do about packet loss. There's no such thing as a networked game system that can just perfectly handle lag and connection issues, it's literally impossible. You come up with something that has a tradeoff that's just good enough. That system is the best system for FPS games where you're fighting each other with hitscan guns. The system doesn't work for projectile weapons so if your game has a lot of those you want a full rollback system like Overwatch has
>>
>>101067464
SOVL
>>
>>101081222
>It's not "mine" you retard
are you esl or just stupid?
>There is nothing you can do about packet loss
tcp handles packet loss. of you could just let people get angry when they get killed because of packet loss
>>
>>101081267
It "handles" packet loss by making sure the packets get delivered. They won't get delivered on time though, so this will still cause a disruption in play and there's nothing you can do about that
>>
>>101081267
>tcp for multiplayer
actually retarded
>>
>>101081294
im well aware of its drawbacks, im just saying that tcp handles packet loss by design
also what do you think tcp over udp is?
>>
>>101068032
not a single reply gave a good answer to your post, so i'll take a stab at it
games are generally put together in a different way than other programs, because they require having to juggle a bunch of different things - processing user input, displaying graphics, processing physics, processing game logic, etc etc - and so an engine consists of all of those things as well as the stuff that ties it all together into one program. some of the replies seem to associate the engine with editors, but that's not actually related, seems they're just influenced by the common public engines (which seems to have become almost archetypal) also doubling as editors. this description of an engine is very broad, but that's because engines can come in a very large variety due to the needs of different games.
>>
>>101081572
i also want to point out that the "systems + the stuff that ties them all together" is the distinguishing feature between an engine and a framework. a framework is code that simplifies interacting with the user's computer, but they are strictly not engines because they usually don't have systems made, nor do they tie any systems together.

for instance, SDL allows me to draw things, but it doesn't have a rendering loop that deals with having loading shaders, or defining different game-specific graphical primitives with whatever attributes they need, nor does it offer a main logic loop. what it DOES have are things that make putting that stuff together simpler.
>>
just use unreal my niggy
>>
C++-like C or C-like C++?
>>
File: 600px-PMMM8701.jpg (52 KB, 600x338)
52 KB
52 KB JPG
i posted this in /xcom/, but i'd like /gedg/'s opinion too

anons, i need some help. i'm in the process of creating a xcomlike battle system, with unique characters, i.e. no randomly generated soldiers, every unit is unique(kinda like jagged alliance). so far the first iteration is leaning on xcom equipment research system.

however, i want to incorporate magic/skills into it, such as to have a unit or units that can use some supernatural skills or magical skils, however you want to name it. the problem i have is that if i have a regular soldier, i can have it use a rifle, a shotgun or a laser cannon and research and improve those things. but if i have a magician, how can i "research and improve" what he/she does? how would you marry guns and magic together? i'm drawing a huge blank here, i feel like "research laser weapons" and "research improved magic wands" is cheap and lame.

I'd appreciate any input
>>
>>101081968
Research spells, but if you put more effort maybe make spell caster work differently than shooting guns so it feels more diverse.
>>
File: 1620157763772.jpg (34 KB, 400x400)
34 KB
34 KB JPG
>>101081954
c++like c++
>>
>>101081968
develop/refine new enchantments/spells
do something like noita and give them simple base affects you can chain together into complex stuff in part of a gear loadout or something
maybe also do offensive support and go more interesting than basic buffs
>>
>>101081954
assembly-like C is the actual way to go
>>
>>101082044
i play a lot of noita and it sounds great, but also extremely complicated, difficult to implement, and a nightmare to balance. thanks for the input though, i'll keep it in mind
>>101081999
yeah, basically i want it to feel different, like the character is treated differently than another character that's purely about guns. i don't want to restrict the player though with inane stuff like "sorry, this character can't use this weapon"
>>
>>101081954
C with classes C++ is retarded, C style code using C++ features to enhance things in a C way isn't, it's quite nice
i think the dev of DearImGUI has some sort of document defining a good minimalist subset of C++ somewhere for example
either way don't do C++ in C
>>
SHOULD I ENGINEDEV?
>>
>>101082550
no, please dont
>>
>>101082550
no no, can you?
>>
>>101082550
yeah i mean why not
>>
why do i keep procrastinating?
>>
>>101082798
Are you programming in C?
>>
>>101082798
don't have enough of a direction, probably. you have a vague idea of what needs to be done, but you don't have a precise idea of what you need to do right now, and if you've been doing this for a long time then you don't find a lot of joy in meandering anymore, and you haven't yet learned an alternative to meandering as a means of advancing towards the vague place.
this is, at least, how it's been for me.
>>
>>101082818
c++ of course

>>101083008
that sounds about right, but i think its more about the mountain of work that it seems insurmountable
>>
for 3D, is there really no easy to use engine that's not too high and not too low level? it's either bloatware like unity, godot OR you have to deep dive into opengl, nothing in-between
>>
>>101068075
Not that anon, but that's very interesting. Any more resources on the subject?
>>
>>101083107
3D engines are very complicated so no
Back in the fixed function days you had simple shit like Dark/BlitzBasic but now that's not viable
>>
>>101083107
Don't know, maybe raylib? It's relatively new so.
Or is C too low level?
>>
>>101083107
just learn graphics programming and you'll increase your value as a programmer and plus you'll get to do what you're wanting to do here
>>
>>101077846
funny, you just admitted lower-level languages dont become obsolete, their importance only shifts and their market gain shrinks.
>>
>>101083093
nta, maybe, try the neo-wagie approach, kanban board with tasks prioritized and rated for time they take
>>
>>101083260
its kinda fun how having been a slave to scrum masters for years hasnt helped make anything
>>
>>101077610
>Let me put it this way: first there was machine code. Then:
>>assembly
>>C
>>C++
>>Python
>>Javascript
>>JS + React
Javascript and JS + React are not higher level than Python, they are on the same level of the heirarchy as Python. To go higher you need homoiconicity.

It goes:
Machine code, i.e. CPU instructions
Assembly, which is just human readable CPU instructions that gets converted to machine code through a lookup table
C, which programs to an abstract idea of how all CPUs work, this allows the same code to be compiled to different individual CPU architectures
C++/Java/Rust/C#, these are statically analyzable languages that handle the manual memory management for you
Python/Ruby/Javascript, these are languages that get programmed to an easier and even more abstract machine than a CPU (arguably Java and C# could be here or somewhere in between this level and the previous level)
LISP/Prolog/R, these languages are homoiconic, they allow you to extend the language itself through macros, and they encourage new styles of programming. These can be ranked in their level where R < LISP ~ Prolog because R is much more like Python, Ruby and Javascript and just happens to have some rarely used macro capabilities.
>>
>>101083399
who asked the lisp nerd
>>
>>101078075
Depends on your audience. If you want to show people IRL then NDS since you can bring your demo with you. But if you want to brag on the internet then N64 because it's more storied and more people have emulators and nostalgia for it. homebrew is already a niche area and I think N64 is 100x more popular than Dreamcast.
>>
>>101079951
probably worth mentioning there's an FOSS version of CS 1.5 called freecs. It's on sourceforge I believe.
>>
>>101083428
I'm a Prolog nerd actually. Prolog nerds and LISP nerds should be bros but LISP nerds are too elitist usually.
>>
>>101083468
no practical difference
>>
>>101083215
>you'll increase your value as a programmer
nobody gonna hire fresh graphics programmers anymore lol, anyone who needs those skills will just pay for the dude with >10 years experience, everyone else is looking for web shit
>>
>>101082550
the last thing the world needs is another unfinished engine bit-rotting away on someones hard drive.
>>
>>101083136
>>You could add some swarm flavor to their movement by also adding a long-distance-attraction-short-term-repulsion force that exists between each enemy and every other enemy in its swarm. This will make them look like a flock of animals working together, instead of them independently only reacting to the player. It's a novel way to use your existing assets to add some charm to their movement.
>Not that anon, but that's very interesting. Any more resources on the subject?
There's nothing specifically geared at game programmers, though it's not hard to translate the concepts into game programming concepts, so here is some brief pseudocode that shows how to implement it in a game:
FAR_ATTRACTION_PARAMETER = 4
NEAR_REPULSION_PARAMTER = 2
for enemy in enemy_group:
for other_member in enemy_group:
d = distance(enemy, other_member)
attraction_speed = d ** FAR_ATTRACTION_PARAMETER
repulsion_speed = d ** NEAR_REPULSION_PARAMETER
enemy.velocity = (attraction_speed - repulsion_speed) (other_member.position - enemy.position)

As for existing resources:
Take a look at section 1.1 of my dissertation, that might be the simplest introduction to it.
https://kilthub.cmu.edu/articles/thesis/Properties_of_Minimizers_of_Nonlocal_Interaction_Energy/6721172
Sections 1.1, 1.5, and 1.6 if you're interested.
Pages 2 and 3 of this paper give a nice intro too https://www.sfu.ca/~van/papers/FeHuKo_2011.pdf
Chapter 3 of this Master's thesis, https://www.math.toronto.edu/mccann/papers/DaviesMSc21.pdf
Just ignore any math symbols you don't recognize, you can ask me Qs about it if you want but you don't have to understand it.
>>
>>101083743


An aside for some people who may have seen swarm theory discussed in some documentaries: swarm, nonlocal aggregation, and flocking are terms that often get mixed around. A lot of people have heard about swarms for birds and fish, but this isn't that, because birds and fish animals are moving through fluids (air and water) they are subject to alignment effects that don't effect land animals like deer, humans, and dungeon enemies.
>>
>>101083483
As a prolog nerd I agree, but my experience is that LISP programmers are dedicated to the (false) idea that theirs is the only homoiconic language in the world.
>>
>>101083766
both are dedicated to the false idea that homoiconic languages are somehow interesting or useful
>>
>>101083743
that last line should be
enemy.velocity = (attraction_speed - repulsion_speed) * (other_member.position - enemy.position)

Also note that's scalar times vector.
>>
>>101083779
As a prologer I agree, we don't use the homoiconicity as much as LISPers, mainly because we already have extremely powerful language features no other language has like Logical Variables and Unification.
>>
>>101069417
There simply isn't enough time
Let's say I get home around 6 I need an hour for food and stuff so 7.
I stay awake until 2am but let's say I stop at 1 to give myself an hour to relax before sleep.
That's 6 hours in which I need to learn to draw, I need to learn blender, I need to learn vulkan. I also need to do worldbuilding - story and music, but I've simply given up on those two until later.
They say mastering something is 10000 hours so I literally need 50000k hours for these 5 things.
Let's say I don't need to be a master but competent, so I will need half of 50k which is 25k.
So in 11.4 years I will have completed the learning phase and be ready to begin making my game
Only by then most things I learned will be obsolete
>>
>>101083784
>>101083752
>>101083743
Thanks bro! Will take a look at the references you gave.
>>
>>101083935
Great! Feel free to ask Qs.
>>
Fuck yeah good morning anons. I added NPCs and gave them Stat generation and free movement around the map/ in and out of buildings. I also added my stealth system which is affected by lighting, noise, weight carried and skill itself. I'm going to finish up the armor/clothing equipping/unequipping, then I'll move onto my combat system.

How should death be handled? Considering it's an open ended rpg style game, I don't really like the permadeath idea... I had originally that if you die, all your gear gets looted by whoever killed you (otherwise it just drops to the ground if you died by starvation, etc.) And you respawn where you last saved. I figured it creates a sort of loose "nemesis" system. Or like a "souls restored" kind of a thing. Is that fun? Or just tedious? Or do I even care what the player thinks?
>>
File: platforms.webm (3.65 MB, 1280x720)
3.65 MB
3.65 MB WEBM
>>101076604
Anon from the other thread here. I've implemented player to platform collision mostly. It uses swept AABB test for everything (using raylib rayCollisionBox function), and I'm still not convinced why this works but it does.
Point based collisions seems nice enough to consider if my implementation blews up.
The main problem of my implementation is that I have collision response and player movement tied together. I should refactor it a little.
Also, those pendulum platforms looks sick.
>>
>>101083935
I've been thinking how to make this better for game programming. I realize I didn't put in a scaling factor, while not strictly necessary it will be hard to balance the FAR_ATTRACTION_PARAMETER and NEAR_REPULSION_PARAMETER, so here's a cleaned up redo of the code with that added in:
FAR_ATTRACTION_PARAMETER = 4 # play with this parameter, higher is that they'll group together faster, lower means slower
NEAR_REPULSION_PARAMETER = 2 # good rule of thumb to leave fixed
SCALING FACTOR = 5 # this should be thought of as in-game units, I recommend you start with 1.5x the width of your enemy
for enemy in enemy_group:
for other_member in enemy_group:
d = distance(enemy, other_member)
aggregation_direction = (other_member.position - enemy.position) / d

scaled_d = d / SCALING_FACTOR
attraction_speed = scaled_d ** FAR_ATTRACTION_PARAMETER
repulsion_speed = scaled_d ** NEAR_REPULSION_PARAMETER

enemy.velocity = (attraction_speed - repulsion_speed) * aggregation_direction
>>
>>101066436
Language doesn't matter for the animation timeline
>>
>>101078220
I mean I'm just figuring zig and ray lib at the same time, so no idea how it compares with any other combination desu
But I did this whole thing in like 2 hours (plus the time to write the queue while practicing zig)
>>
>>101083995
Looks neat, and if you're using aabb for the tilemaps I would recommend at least directly iterating over only those tiles that are within the broad phase collision rect, that way you don't waste insane time trying to collide with every tile in the world. As for separating collision detection from collision response, my current approach is just to return a big struct of the collision data from the tilemap collision test function and then respond based on that data in the outer scope rather than use callbacks. Partially because that approach imposes the least API barrier, but also it just works well with how my engine works, since the moving platforms are actually just moving tilemaps, not entities. And I can aggregate the results for all tilemap collisions before making decisions about how to move the player in response, which helps to resolve weird edge cases that emerge from having certain level geometry. But again that may not be the ideal for your use case if everything remains axis aligned and you don't start to introduce slopes or something. And speaking of slopes you may find this to be interesting in regards to collision detection: https://www.youtube.com/watch?v=C2Xq4fesTFM. I don't agree with everything he says in this video but there's certainly some useful info in there.
>>
alright, first order of business on today's agenda:
solve segfault.
>>
why are people talking about basic collision detection like it's not a solved problem
>>
I’ll never understand “gamers” who throw a shit fit because the original “creator” of a series isn’t involved. You don’t see people throwing a shit fit over Zelda. Plus many “creators” have long since abandoned their creations to work on other things or outright retire/shift careers.
>>
>>101085124
>the original “creator” of a series isn’t involved
It just means you're getting jewish slop that fails to have a basic understanding of what made the previous entries likable
>>
>>101085144
>It just means you're getting jewish slop that fails to have a basic understanding of what made the previous entries likable
That’s not always the case, maybe for western devs but not for Japanese. The original creators for SF retired or left for greener pastures, yet SF has thrived since then. Mario hasn’t had shiggy involvement for YEARS and it’s in good hands. Zelda is no longer being overseen by Tezuka since the retro era and it’s been smooth sailing. The same goes for megaman since the creator was a non functioning autistic temper tantrum failure of a man that got fired at the beginning of MM2’s development, and every entry was still a banger. FE’s creator hasn’t been involved since the famicom era and it has great games.

It’s just a cope most of the time by people who don’t know any better
>>
>>101085208
>but not for Japanese
Honestly not going to read your post. The thing about Japanese is they all do the same things as each other. There is very little differing thoughts or ideas due to their culture and cyclical and repetitive mythologies.
It's very true for the west as the passionate Europeans are/were replaced with golems that are even more devoid of original thought than the Asians.
>>
>>101085033
>I would recommend at least directly iterating over only those tiles that are within the broad phase...
Yep, I already do that, I create a min-max rect that is comprised of the player collision rect, and then enlarge it with the delta to only check those tiles
>return a big struct
I'll probably just do that and return the tile collisions and platform collisions. I already return the platform collisions
>slopes
I'll watch the video because I have absolutely no idea of how to do it with rays, since I can't just do Minkowski in this case.
>>
>>101083995
Don't use ray tests, use box sweeps, ray tests will break under the wrong geometry
>>
>>101085108
Because the optimal solution depends on your specific use case, and a lot of the information available on the internet is bad and gives you overengineered solutions that try to solve the general case rather than the specific.
>>
>>101085238
>Honestly not going to read your post
Yikes, you didn’t even address his argument and you went completely off tangent to a different topic
>>
>>101085678
If you want someone to read your post don't go for the "muh japanese" tripe that gets posted endlessly. Get new material.
>>
>>101079951
https://x.com/CoffeeVectors/status/1804007367144534495
>>
>>101085726
>Get new material
Nta but like what, being racist against the Japanese because they're not as pozzed as americans? Cause that's kinda what you're getting at
>>
>>101083260
That sounds over-complicated. You don't need to add middle management make-work tasks to your workload. Just make a list of 2-3 tasks you can reasonably accomplish and focus only on them one step at a time. When done repeat. If it's still too much break it down into simpler steps.
>>
>>101085208
When the sequel is too far off the original vision probably a high percentage of the staff was swapped out, not just the creator and there's no one left that understands the original vision. Or the people left weren't involved enough to begin with and didn't care and were just doing what they were told.
>>
>>101086110
weebshit -----> trash
ywnbj
kill yourself
>>
>>101075889
> Build: make (we hate CMake, ninja, meson etc.)
meson is fine
>>
is ECS good or should I go for an alternative?
I'm not sure how I would like to expose a 3D object to be manipulated by input or a "game state". I'm thinking about sticking to data oriented design and ECS seems like its good enough but I wish to explore a bit before committing to it.
>>
>>101087868
xmake is better
>>
>>101086639
and ywnbaw
>>
>>101086639
ok, goldstein, whatever you say
>>
okay but what about premake
>>
I am perplexed as to how people think using an off the shelf game engine is the 'simple way'.

I'd be confused in an off the shelf game engine. Just diving into some other dude's black box codebase.

Far simpler to start from the ground up, one single C file and then go from there.
>>
>>101089023
Have you actually tried it?
>>
>>101089013
you will never be a build system
(THIS IS SARCASM)
>>
>>101089045
one time I thought I was going to make my game in Unreal, but then I was waiting for the Voxel Plugin to update and I said "Wait a minute, I should be able to make this. I'm a developer. I'm out of here." and then I went into enginedev, never looked back.
>>
First for making a poorly made pixel art game about depression and feelings and shit
>>
chatgpt messed me up, I learned my lesson.

Going to scrap this implementation and actually build it by reading the paper and understanding.

Lesson learned.
>>
>>101068277
Base the left and right head bobbing, it looks like modern polygonal 3d mimicking old style FPS.
>>
Just realized I don't even like most games so why would I make one?
>>
>>101090756
Also I'm much better at making AI apps, and it would probably get used more than any game I might make and it would be a lot faster than making a game.
>>
>>101090770
what is an AI app?
>>
>>101089013
its only really good for visual studio projects
>>
>>101090977
like this: https://www.youtube.com/watch?v=LXzJR7K0wK0
>>
DeepSeek V2 Coder just got released few hours ago. Shits cash.

Just made this quick solar system simulator with HTML/JS (no third party), added some fading shadows, speed sliders for the aesthetics. Modern JS is cash.
>>
>>101090977
Anything that takes something a human taught the computer in the past and allows it to apply that to new problems.
>>
>>101091321
https://jsbin.com/buxatidozi/edit?html,output
>>
Voxel software renderer with 1-4px size voxels, yay or nay?
I'm considering doing something like this, but a potential problem would be: how would I make and render objects and characters? Voxel terrain is a snap, but objects/characters? Tools like MagicaVoxel are a PITA for me to work with, and "dynamic" voxel structures could potentially be computationally expensive.
>>
File: 1711651243546.png (211 KB, 1563x1391)
211 KB
211 KB PNG
New

>>101092530
>>101092530
>>101092530
>>
What is the most optimal/efficient software rendering algorithm?
>>
File: Rustaceans ITT RN.jpg (103 KB, 544x659)
103 KB
103 KB JPG
>>101085090
>



[Advertise on 4chan]

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

[Enable Mobile View / Use Mobile Site]

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