[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: 1689191185319260.jpg (221 KB, 1440x1396)
221 KB
221 KB JPG
Network edition

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

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.
>>
Progress Day 6

https://itch.io/jam/gedg-progress-day-6
https://itch.io/jam/gedg-progress-day-6
https://itch.io/jam/gedg-progress-day-6

2 months left!
>>
c#gods report in.
>>
File: mayuri.jpg (17 KB, 578x419)
17 KB
17 KB JPG
>>100329448
>>
A plain sine wave (4 technically) is surprisingly passable as an engine sound.
https://files.catbox.moe/1ecfu9.webm
>>
can I use ai to make sound effects yet
>>
should I work on entities or map generation next?
>>
File: Pursuitflee.webm (707 KB, 800x592)
707 KB
707 KB WEBM
- Added Fleeing(really just reverse of seek)
- Made a simple toggle button for pursuit/fleeing
- Added a smoothstep interpolation
Pursuit and evasion up next. Also want to start Juicing UI elements early.
>>
>>100329448
Here
>>
>>100329448
c# in godot even
>>
>>100329448
C# in godot THOUGH
>>
File: gigastacy.jpg (79 KB, 602x729)
79 KB
79 KB JPG
GDScriptGODS report in
>>
these voxel engines all seem like memes
>WOAW YOU CAN RENDER 10 BILLION VOXELS
>but you cant have any shapes
>but you cant have transparency
>but you can only have 128 different voxels
>>
https://www.youtube.com/watch?v=D3pi3sqOssA
how the fuck is this done
>>
>>100330359
that shit's just logo, nigguh
>>
Question
What's a good way to store terrain in a 3D tiled (aka cubed) world?
Having a 3D array won't cut it if the world is too big.
>>
>>100332496
voxelshit is the new pixelshit
>>
>>100333390
2D array with a height field
>>
>>100333441
What if the world has multiple layers, i.e underground areas?
>>
>>100333258
nvm its just lod its basically the same shit as distant horizons
>>
>>100333390
a really long 1d array for each chunk
>>
>>100329376
seems like voxel engines are the new meme, but what i really want signed distance field engines to be the current meme. i want so badly to make an exclusively SDF-based renderer, it seems like such an interesting way of rendering a game
>>
>>100329448
I have never once met a C#/.NET dev who didn't have a general disdain for programming.
>>
>>100329376
Is it true that you shouldn't start with your big crazy idea and instead make little basic games like "walking to end of stage simulator" to feel little victories and learn how the pieces work to ultimately make your big game?
>>
>>100334385
It's not true but it takes a lot of organizing, self educating and perseverance to make your dream game as your first game.
>>
>>100334385
You either start off making small games or you start off making iterations of your larger game, either way it's a long path to your dream game
Making small games gives you more instant gratification
>>
>>100334385
Most people get put off of things if they don;t make lots of progress so the "make little games" meme helps. After not so much time you have these little finished projects where you learned stuff.
If you're not normal you can jump head first into your magnum opus and grind away for 15 years.
>>
>>100334385
It's true not because a big scope project is not possible, but because most people lack the discipline to get it done. If you can plan out all the small building blocks, then break them down into smaller problems, and then slowly grind through them even if you don't feel like it, you can do a bigger project, but smaller projects are usually better because of a feeling comparable to instant gratification, you see the fruits of your labor faster, which makes you more motivated to keep going, because you immediately get to play around with what you implemented. If you start with a big project, especially without an engine, you may spend weeks or months and not have much to show for it despite having written 10s of thousands of lines of code, for some people that's demotivating, and then they lack discipline to stick to it, and just start project hopping, never finishing anything.
>>
>>100334747
If you lack experience you don't even know how to break a big project down into smaller building blocks
>>
>>100334886
I assume a person posting in /gedg/ has experience in programming projects in general, just not necessarily in game development, so there should be a big carry over in project planning.
>>
>>100334955
Very naive post
>>
>>100334955
If you haven't made a game before and you set out to make your dream game, you will restart it literally dozens of times regardless of your programming experience
>>
>>100332496
I mean that's very lovely and all but where's the gameplay.
>>
>>100333801
i use c# in my hobby projects, but at work i'm(seldom) forced to work on js codebases and i fucking hate the whole js ecosystem. it is the anime of programming, nothing but trash
>>
Possible solution to the problem with large 3d arrays for cubic worlds being too big (i.e if the world is 2048x256x2048 in size): make the world data actually 256x32x256 blocks in size and sample it at runtime like a 3D texture.
Does this sound like a good idea?
>>
>>100336349
I knew someone who was more of a C# lad and hated his webdev job iirc. He was also gay (yet voted red in 2020 lol). Iirc he later became trans for some reason I do not know. Unfortunately he/(she?) completely disappeared from the internet and I have not heard of the peep since.
>>
>>100336711
>and hated his webdev job
webdev is the bottom of the barrel dev job my dude, especially frontend, for reasons i could write a dissertation about. that's why i try to stick to backend as much as possible.
>>
Is this a good C++ trick?
// class that should only be allocated on the heap
template <class Derived> struct HeapOnly
{
template <typename... Args> static Derived *create(Args... args)
{
return new Derived(args...);
}

protected:
HeapOnly()
{
}
};

It makes sure class instances are only allocated on the heap; classes derived from this class with the CRTP will cause compiler errors if allocated on the stack but not with Derived::create()
>>
>>100329448

Here's your free (you) and have a nice day!
>>
>>100336929
It probably isn't. But I claim so from the perspective of 18 years of working in this field. Any time a 'trick' is used, it becomes black magic after 5 or so years.

Anyhow - you need to handle copy and move semantic as well, otherwise I can just circumvent your protection by
class foo : HeapOnly< foo >
{
};

auto f = std::make_shared< foo >();
auto f2 = *f;


Or something to that effect. Anyhow - if you want to have a heap only class - it is best to be explicit in its definition, so the readers of your class will know what to expect from it.

contd...
>>
File: iface.png (26 KB, 824x400)
26 KB
26 KB PNG
>>100337145
Here is an example - an interface to a menu bar ( I happened to write an UI atm ). This class derives from some stuff, not relevant. But defines a handle to itself via a smart pointer, and denies access to itself via copy/move semantic ( the macro below ).

This exists as an interface to avoid linking to its implementation by clients. So no hard dependencies there. It is not relevant here.

contd...
>>
File: deny.png (17 KB, 922x129)
17 KB
17 KB PNG
>>100337187
Implementation of the UCCC_DENY_COPY_MOVE. It is a macro to both deny the copy from any derived class and to avoid adding some useless vestige interfaces that muddle debugging and make things a touch slower.
>>
File: impl.png (22 KB, 888x341)
22 KB
22 KB PNG
>>100337199
Lastly - the implementation that is explicit with its intent - a static method that sells a smart pointer to itself and a private constructor. This class cannot be stack allocated without some hardcore trickery involved.
>>
>>100336929
>>100337145
>>100337187
>>100337199
C++ was a mistake
>>
File: progress.png (141 KB, 1065x836)
141 KB
141 KB PNG
>>100337209
On unrelated note. I fixed my texture memory issues - it was caused by incorrect usage of Vulkan Memory Allocator. Now I have working menu bars, pop up menus, buttons, window stacking and interactable element highlight.
>>
I've been out of the loop:
Why is transparency "bad" with deferred? Why not simply do a lighting pass with your gbuffer, then on top of that do a render pass for transparent objects?
>>
>>100337256
It fucks with anti-aliasing
>>
>>100329448
What's your favorite c# feature? Unityfags need not to apply.
>>
>>100336929
Why do you want to do that?
>>
>>100337209
This is the worst thing I've ever seen in my entire life Anon...
I like the red comments, that's based. Sorry for being rude.
--
>>100329376
Bump, added new UI theme for fairies...
>>
File: SpeechBubble.webm (3.87 MB, 1280x720)
3.87 MB
3.87 MB WEBM
Any ideas on how to achieve the speech bubble effect in Godot? As in, make it wobbly.
Is it just tweening a panel with a custom curve or is there something else going on?
>>
>>100337293
Performance. Can do low-level with structs and pointers, can write zero-cost abstractions with struct generics, can trivially allocate data on stack, wrap arbitrary memory with spans and transparently work with the entire standard library using them.
>>
File: out.webm (685 KB, 640x480)
685 KB
685 KB WEBM
>>100338774
I'm guessing the target points of whatever curve (many straight lines might work) are orbiting around another point each.
>>
File: grrphics.jpg (194 KB, 960x590)
194 KB
194 KB JPG
im doing graphics on the CPU for no reason
>>
>>100339187
Based retard. Looks cool though.
>>
File: 1710335661406301.jpg (63 KB, 750x747)
63 KB
63 KB JPG
I just spent the whole weekend shuffling code around instead of making actual progress.
Atleast my code is no longer one big plate of spaghetti.
>>
>>100339235
anon, i spent a whole 2 days at work documenting an app. you did good, keep at it.
>>
>>100339235
Ravioli ravioli
Give me the code I deservioli.

>>100339187
Looks like we got a badass over here.
>>
>>100339235
>I just spent the whole weekend shuffling code around instead of making actual progress.
Kek literally me every single day. The only time I ever get anything done is if I rush a slop game in a few hours with no thought about maintainability. Every time I make a well thought out game from the ground up it never gets done. I just enjoy code wanking too much.
>>
File: 1713829825836341.jpg (25 KB, 452x485)
25 KB
25 KB JPG
>>100329395
>2 months left!
Time is going by too fast, slow down!
>>
What is considered an optimal way to animate pixel art in a hypothetical game (top down or isometric) where the pixel art characters are "modular" and can potentially have many animations
>>
>>100340065
draw the sprites in a different position each frame
>>
>>100340065
make the characters 3D and render them in very low resolution so that they look pixelated.
Dab on those pixel artists.
>>
>>100340065

vector art rendered at low resolution
>>
File: 2024-05-06_10:00:14.png (281 KB, 1920x1080)
281 KB
281 KB PNG
Hello quad with lisp/C. Vertex/index/staging buffers inside a mesh stucture.

(defun init-game (name width height)
(setf *game-running?*
(when (init-window name width height)
(when (init-vulkan) t)))

(insert-graphics-pipeline "pos2color3" (cffi:foreign-enum-value 'vertex-type :vertex-type-pos2-color3))

(cffi:with-foreign-object (quad-vertices '(:struct %pos2-color3-vertex) 4)
(setf
(cffi:mem-aref quad-vertices '(:struct %pos2-color3-vertex) 0)
(make-pos2-color3-vertex :pos (vector -0.5 -0.5) :color (vector 1.0 0.0 0.0))
(cffi:mem-aref quad-vertices '(:struct %pos2-color3-vertex) 1)
(make-pos2-color3-vertex :pos (vector 0.5 0.5) :color (vector 0.0 0.0 1.0))
(cffi:mem-aref quad-vertices '(:struct %pos2-color3-vertex) 2)
(make-pos2-color3-vertex :pos (vector 0.5 -0.5) :color (vector 0.0 1.0 0.0))
(cffi:mem-aref quad-vertices '(:struct %pos2-color3-vertex) 3)
(make-pos2-color3-vertex :pos (vector -0.5 0.5) :color (vector 1.0 1.0 1.0)))
(cffi:with-foreign-object (quad-indices :uint32 6)
(setf
(cffi:mem-aref quad-indices :uint32 0) 0
(cffi:mem-aref quad-indices :uint32 1) 1
(cffi:mem-aref quad-indices :uint32 2) 2
(cffi:mem-aref quad-indices :uint32 3) 0
(cffi:mem-aref quad-indices :uint32 4) 3
(cffi:mem-aref quad-indices :uint32 5) 1)
(cffi:with-foreign-object (geometry '(:struct %mesh-geometry))
(cffi:with-foreign-slots ((vertices vert-type vertex-count indices index-count) geometry (:struct %mesh-geometry))
(setf
vertices quad-vertices
vert-type (cffi:foreign-enum-value 'vertex-type :vertex-type-pos2-color3)
vertex-count 4
indices quad-indices
index-count 6)
(insert-mesh "pos2color3" "quad" geometry))))))

...


(defun render-game (l)
(declare (ignore l))
(when (begin-render-frame)
(when (draw-graphics-pipeline "pos2color3")
(when (end-render-frame) t))))
>>
>>100340324
memory management between CL and C is such a pain in the ass.
>>
>>100340526
Haha yeah. But that's why I'm just keeping things really simple. I have a specialized pipeline template struct that tells C what to do. There is no way in hell I'm wrapping vulkan functions. Writing a wrapper for each vertex type is a bit annoying, but fortunately, I can pretty much copy and paste new things at this point.

I just realized that having a pos2color3 vertex is going to be replaced when it comes to UI stuff. It makes more sense to send a color or color gradient info through a push constant. But oh well, so much boilerplate is out of the way.
>>
>>100338774
use a shader?
>>
File: 1712811260990802.jpg (18 KB, 344x342)
18 KB
18 KB JPG
>>100329376
I have a question, what should I study/know as an artist before I start getting game sprites commissions? Any sources of knowledge or tips? Specifically pixel art if it matters.
>>
>>100339053
>wrap arbitrary memory with spans and transparently work with the entire standard library using them
What do you mean?
>>
>>100339235
Looks like a good investment.
>>
>>100338774
Like, when the box shifts size?
Looks to me like they're just interpolating the width and height of the shape
>>
>>100340642
cris never come into this thread again
back to agdg with you, pest
>>
File: 1714743333481216.gif (729 KB, 1278x793)
729 KB
729 KB GIF
>>
>>100341040
Sorry I'm not amerimutt, try again
>>
>>100329448
more like c#cucks
>>
File: 1176287238774.jpg (58 KB, 599x449)
58 KB
58 KB JPG
what's the word that would describe properties of a facility, such as storage space, number of beds, number of computer workstations, number of mainenance bays, etc?
>>
>>100341652
Features?
>>
>>100341720
thanks anon, that'll do
>>
File: verlet jank.webm (2.28 MB, 1280x720)
2.28 MB
2.28 MB WEBM
>snapping verlet nodes to position works fine but sudden snap is a bit ugly as you slide over it
>try smoothing out parameters instead
This is not going to be worth the effort.
>>
>>100337293
Shutting the fuck up and letting me implement things at a reasonable speed
t. Used and is trying to escape from rust
>>
i have a dictionary of unit stats. i'd like it to be mod-friendly, so i'd assume it's better to go with <string, int>, so new values can be added easily. but with that, i lose compile-time checks, which for me is unacceptable. however, if i use an enum instead of a string, then i can only add new values at compile time, and not at runtime.
what do?
>>
>>100342157
How about mixed enum/int key dictionary where mods have to dynamically register number range for their own use?
>>
>>100340065
Draw sprite sheet of frames by hand in Photoshop, GIMP or Asperite.
I draw frames horizontally and character states vertically, including all items.
Maybe it's hard to see, but every map item and landmark are animated.
Weapons, armours, trees, characters too, but not rendered now...
>>
>>100340223
ez game ez life
>>
>>100342310
add some dithering post processing and you're golden.
>>
>>100342310
>>100342379
any guides on how to make this look good?
>>
>>100342710
probably, but it ultimately comes down to a lot of practice anon. almost everything does.
https://yt.cdaut.de/search?q=blender+pixelart
seems like it's not that hard to get a basic decent result with some post process nodes and adjustments
>>
is it possible to have a general purpose camera or do i have to create one for different scenarios?
>>
>>100337256
You can, it’s just slow (which has nothing to do with the deferred part, it’s slow for forward as well). With clustered/tiled rendering it’s much more common, because you don’t have to collect the nearbye lights per transparent object.
>>
>>100342130
You are alive, rocobopanon.
>>
Should I put the engine (reading inputs, physics, etc.) on a separate engine from rendering so they can operate at independent rates?
Setting up everything in a big struct then doing one pointer swap to give the rendering thread the new state means the locking would be fairly minimal, unless I'm not thinking of something.
>>
>>100342133
Now that you are in c#amp, what do you miss from rust?
>>
>>100344501
>separate engine
Separate thread*
>>
>>100343194
elaborate
>>
>>100344501
Putting stuff on a separate thread only makes sense if they will actually be able to run in parallel.
Otherwise you're just wasting cycles switching between threads.

In my case the rendering just involves what's effectively a memcpy and then submitting a prerecorded command buffer, so separate thread there doesn't make sense.
>>
>>100338361
>This is the worst thing I've ever seen in my entire life Anon...
Out of sheer curiosity - why?

>I like the red comments, that's based. Sorry for being rude.
If I sought approval, I'd be on reddit.
>>
>>100344677
I think I'm heading down a retarded path and you're probably right that it should be on one thread. Let me back up and ask a different question:
What's the point of framerate being decoupled from physics? There are two cases if the two don't match:
>1. Physics runs faster than rendering:
In this case there are inputs being read and calculations being done that will never be displayed to the user.
>2. Rendering runs faster than physics:
In this case you might be rendering the same thing more than once, so ideally you need to extrapolate what's being rendered so it looks like it's a little bit ahead of the last physics calculation and makes the transition between physics calculations appear smoother visually (or alternatively interpolate between the last physics and the second-last physics, but then you increase input lag).

I can see the use case for #2. If done correctly it'll look nicer. Is there a use case for #1? What's the point of calculating stuff that the user won't ever get a chance to see and respond to?
>>
>>100344501
>Should I put the engine (reading inputs, physics, etc.) on a separate engine from rendering so they can operate at independent rates?

If your game is calculation's heavy, like a city builder or such, then yes. Otherwise, the graphical stuff is likely going to consume 95% of the CPU time. Thus benefits of threading are going to be minimal in comparison to the costs of maintenance.

You ought to keep their logic separate, but threading is optional.
>>
>>100345007
>Is there a use case for #1?
Physics that affects game state should be, logically, tied to game state tick rate, and that for the majority of games is fairly slow - like 30 or so ticks per second. If your game state is in sync with the frame rate, then physics will run at the frame rate.

Naturally - if your game ticks 60 times per second, but GPU musters 45 fps with variable frame rate dipping to 20, then it always be case #2.
>>
>>100345007
>1.
Faster physics are more accurate (up to a certain point, when the delta becomes so small relative to other values it becomes an issue). If fast enough you can avoid inter-/extrapolation too.
>2.
I would interpolate since extrapolation tends to visibly rubberband.

The big issue is synchronization, since you have to avoid mutating (physics) state while the render thread is reading from it.
It's easy to work around it by doing a memcpy to a separate buffer first, but that only makes sense if you will do a significant amount of work with the data on the render thread before copying the data to GPU-visible memory.
>>
>>100345119
>extra-/intrapolation
At least, I'd use interpolation for everything but the player
For the player, depending on the type of game, it's easier to do extrapolation correctly since you have the inputs directly available, so it's easier to predict where the player will end up.
>>
>>100344639
i mean can i have a camera where i can just adjust its parameters like projection and such and be able to use it for everything or do i have to have specialized ones like one for first person one for third person and one for 2d?
>>
>>100345715
Trying to fit them all would be bloat since each requires very specialized solutions, like preventing clipping, smoothing and snapping. Simple composing approach will not always work either because you might need to calculate constraints.
>>
>>100339235
But anon

Refactoring is progress

Good investment in making future you more happy and less sad/angry
>>
>>100345989
ah i see
>>
Best version of Photoshop to pirate?
>>
Yup, anotha day, anotha no progress on the game.
>>100341055
Did you actually make this? The visual style is incredible, reminds me of some talk a while ago about a Doom-style Fallout game.
>>
Following this course and will probably give up halfway like always.
https://pikuma.com/courses/learn-3d-computer-graphics-programming
>>
>>100349462
CS2
>>
>>100351718
>Following this course
>Learn all the theory and the math
not gonna make it, just do it, theory is for procrastinators
>>
99.9% of indie devs never turn a profit, you are literally gambling with your future.
>>
>>100352303
nobody here is even an indie dev they're just fucking around
>>
>>100352325
Perpetually stuck in tutorial hell?
>>
>>100352448
making small projects that don't even progress to the game stage
>>
>>100337199
>jumping hoops just to prevent unwanted hidden behaviour
I hate this language with all my heart, you have to constantly think about C++ quirks instead of just write the fucking code
>>
where can I learn how to do FX like lightning/fire/dust in opengl and manage like 50 different shaders for different effects? for lightning I'd imagine it be something like doing midpoint displacement in the vertex shader
>>
there's a section on particles on that one site
>>
I have instanced per-shader particles and I have not scratched the surface
>>
>>100341652
>>100341720
maybe "manifest", so it's not common/boring?
>>
>>100341652
properties
>>
>>100337224
There’s no reason to have a class be heap exclusive.
>>
>>100329376
Has anyone ever done a level-up system completely determined by RNG?
Like instead of EXP, level up is random based on RNG and level.
When you perform action like defeat a boss, fish or something if your level is 1 there is 100% chance for level up, level 2, 50% of up, lvl 3 33% chance, etc.

I guess you would have set up additional conditions for it not be abused. Like there is only a chance of level up, if your opponent is as strong or stronger than you, so you wouldn't get levels from grinding.
>>
>>100353681
so basically an xp curve with more steps and worse debug/balance potential?
>>
>>100353681
RNG is bad game design and should be avoided as much as practical.
>>
>>100354146
>RNG is bad game design
Only in special circumstances like highly competitive multiplayer games
>>
File: 1714756413210259.gif (2.42 MB, 500x328)
2.42 MB
2.42 MB GIF
>>100349906
It's from a retro game, Tekwar.
>>
I'm making a multiplayer game and I've found Godot's multiplayer spawner/synchronizer to be very limited
I'm synchronizing all of my mobs through rpc-id calls from a server that invoke a signal on clients
Is it even a good idea? I have no way of testing it in the wild, and I don't wanna deploy a game that's broken at launch
>>
>>100354356
Every time I read something about Godot here is to bitch about how limited is.
>>
>>100354320
>Only in special circumstances like highly competitive multiplayer games
even this idea is a dumb meme, pokemon is highly competitive and the RNG adds an insane amount to the strategy of the game, the competitive scene would be objectively worse without the RNG elements
>>
>>100354370
Everyone has been silling Godot for the past few years because it's free and now they're reaping the benefits
>>
>>100352303
99.9% of indie devs are also retards creating unpolished slop, what's your point?
>>
>>100354146
RNG is sometimes a good tool, for example in rougelike games where it was used at first to decrease memory usage per dungeon.
Old computers had very little memory comparing to today, and you couldn't just fit 100 maps in your game, they used procedural generation.
>>100353681
From that point, RNG should be avoided for gameplay mechanics, player wants to know what he does, why and when, etc.
Random skill assignment in Heroes of Might & Magic 2 and 3 sucked. Every time you level up, you chose between 2 random skills.
>>100354320
I think it should be avoided in general as said above, not only in multiplayer games. It's not fun to depend on "/dev/urandom".
>>
>>100354400
and you aren't right
>>
>>100354415
Randomisity means you can't predict things, and not being able to predict things means you have to react on the fly, which is fun
A long time ago when I was making actions games I would always wonder why my games weren't fun and games like Doom where
Doom has random damage numbers, you can never be quite sure what's going to happen, so you always have to be ready to react to a new situation
>>
>>100354441
Cube (2001-2005) has random spread for shotgun, 20 rays in random angle offset from shooting direction, 10 points of damage each.
^ this fucked up so many multiplayer duels...
I'm making turn-based strategy game, so maybe I'm biased towards knowing what I'm doing, when and why, but I was also avid arena shooter player.
>>
>>100354517
that's why I said "Only in special circumstances like highly competitive multiplayer games"
>>
>>100354417
and you didn't provide an argument. i've yet to see an indie game utterly fail (e.g. that didn't at least break even) that wasn't either uninspired garbage or an unpolished mess. embarrassingly, most of the time, it's both of those things.
feel free to name a counter example, and either nut up or shut up so i can stop publicly dragging my balls across your face
>>
>>100353681
Add a chance to level down and it's perfect.
But to be honest you need to ask what kind of experience you want to have. There might be better ways of achieving what you want.
>>
>>100354517
same with UT's flak cannon
>>
>>100354146
That's stupid. Randomness is the spice of life.
Granted complete RNG is frustrating, while complete determinism is boring.
Too much of either is too much, the key is finding a sweet pot.
Ideally, you would want to give the player a choice approach from a risky and pragmatic, with risky being RNG and pragmatic being determinist.

For example, if you have 100 gold, you would have two choices:
>gamble
>invest

If you gamble, there is 50% chance you will double your gold, and 50% you lose everything
Alternatively, you can invest, which means you can hand your gold away for 10 turns, after which you receive 200 gold
>>
>she
>>
neurologically speaking, randomness drives more sensations of engagement than deterministic rewards
>le RNG bad
is literally a game design anti-pattern
>>
>>100354661
Why would you want to level down?
>>
File: castlevaniamap.gif (21 KB, 576x453)
21 KB
21 KB GIF
>>100354786
Is not, if you know what you can get, you can also plan around the reward.
>>
>>100354786
Nobody asked the mobile game dev
>>
>>100354896
This is so much better than Skyrim's scrotum-shaped dungeons.
>>
>>100354896
it literally, scientifically speaking, is. and this isn't OMG IFL BASEDENCE tier ""science"", this has been known since the 50s through animal experimentation, and we understand the neurochemistry aspect of it probably since the 70s/80s and certainly by the 90s. as this anon >>100354901 alludes, this knowledge is usually used by mobile game designers, casino game designers, and other designers that profit off of literally-addictive reward mechanisms (think tf2 with its crate system, or gacha games as a genre). what you posted doesn't address what i said even a little bit.
>>
>>100354988
It does address it. If you randomize content, you cannot make plans around them. So it is a matter of what you prefer, big brain bump now or feeling entertained for longer. Anyway, I'd rather trust my experience than science.
>>
>>100355013
there isn't a binary of "entirely random" or "entirely deterministic". obviously if rewarding things are entirely random, then there is no incentive because your brain won't get any meaningful feedback about its actions and you won't be engaged, but likewise if you already know what's coming then you also will lose engagement because there won't be any incentive to explore. there isn't any debating this, this is just literally how the brain works, to deny this is equivalent to denying that the liver cleans blood or that the lungs draw oxygen
>>
>>100354988
Gambling in video games isn't regulated in most countries, it's a problem that won't be solved anytime soon it seems sadly.
And that 'random reward' system feeds of that notion. It's easy to implement, and addicting to braindead people...
I know both young and older guys (in real life) who play those games on their smartphones, age 20-40 literally, paying for "another spin".
>>
>>100355083
Sure, and randomness has been important since forever, there is randomness in nes legend of zelda. I assume that, when you made that post, you were advocating for full randomness like in vampire survivors.
>>
>>100355088
i think it might be a necessary evil, i don't like the idea of what legislation would look like that would try to combat it, and any possible chilling effect it could have on games. it is certainly evil though, but the flipside is that the knowledge can be harnessed to make much better games
>>
>>100355167
>any possible chilling effect it could have on games.
which games? gacha? lootbox-riddled aaa slop? all of these can fuck right off, so i'd welcome this chilling effect with open arms
>>
>>100355218
not what i meant, i mean that politicians would write the legislation in a sloppy way such that developers would be afraid to utilize elements of randomness in their games because of explicit or potential legal issues
>>
>>100354885
Simulating harshness of diminishing returns.
>>
>>100354605
>feel free to name a counter example, and either nut up or shut up so i can stop publicly dragging my balls across your face
>does not name a single example himself
>>
>>100355396
>politicians would write the legislation in a sloppy way
totally agree, however
>developers would be afraid to utilize elements of randomness
nah, it'll be written by dumbasses and basically amount to whole lotta nothing after all the aaa gamedevs change lootboxes to "surprise containers" or whatever, sidestepping the law.
>>
>>100355552
lmfao an example of what? unpolished slop indie games? are you literally retarded?
>>
>>100354356
Last time I used Godot and needed multiplayer shit I ended up making a singleton and routing everything through that.
The RPC system in Godot is brain damage that tries to make things seem seamless but is completely broken for any real usecases. Last I checked it couldn't even (directly) tell you what the ping is.
>>
>>100356051
Yes I am, now name one.
>>
>>100354774
>Since they oppose YHWH
Stop making them sound like good people, isrealicuck
>>
File: 1715087231935505.jpg (93 KB, 426x640)
93 KB
93 KB JPG
>>
https://twitter.com/NintendoCoLtd/status/1787736518762881197
What are you gonna plan to develop for the switch 2, bros?
>>
Which sounds more interesting for a CRPG:
>GURPS-like system
>FATE-like system
>A system based on "techniques" where each character as a set of techniques, and the techniques they have determines their stats and efficiency in various things, instead of the other way around, and they can level up their techniques instead of leveling up their whole character
>>
>>100344513
The respect of the dogmatic functionalbros.
Not that writing a piece of software that could be called a "software simulated ISA" just to write a game on would do me any favors related to not being called crazy
>>
>>100329376
Work in progress bump... Code below for attributes, that loads sprites from folder and generates a menu.
    procedure configure is
structure : ui.structure;
begin
core.echo (core.comment, "Configuring attribute components...");
--
structure.title := "Attribute Menu ";
structure.toggle := core.signal_a;
structure.show := false;
structure.center := false;
structure.resize := true;
structure.x := 60;
structure.y := 80;
structure.gui_n := count;
--
ui.add_structure (structure);
--
for index in enumeration loop
sprite (index) := core.import_sprite ("./sprite/attribute/" & core.lowercase (enumeration'image (index)) & ".png", 1, 1);
--
ui.add_structure_button (sprite (index), trait (index).name, trait (index).text);
end loop;
end configure;
>>
>>100356705
>GURPS
Fallout already does this, but uses a legally distinct version.
>FATE
Like the roll for anus circumference thing? Sounds good.
>techniques
That would require a lot of testing for all potential pitfalls.
/tg/ would be a better place to ask this.
>>
>>100357218
>roll for anus circumference
what
>>
>>100357218
FATE isn't FATAL
>>
>>100357218
>Like the roll for anus circumference thing? fucking lmao, where did that come from
>>
>>100357359
I can't even blame myself for mistaking those two names.
>>
>>100356996
These are stock graphics right? Where did you get them?
>>
>>100357716
nta but i remember a post in which he said he made them, might be hallucinating though
>>
What's your position on exceptions? Are they a good idea or bad? I see languages like rust and go dislike them yet feature a very similar mechanism.
>>
>>100357948
He said he was using an asset pack before
>>
File: goblin.webm (2.23 MB, 1131x626)
2.23 MB
2.23 MB WEBM
>>100329376
It's literally just a spreadsheet and RNG but I already find it fun.
Trying manage goblin's happiness and grain is difficult, because based on their personality they either want or don't want to raid, if they want to raid will lose happiness every turn, but if they don't like raiding, they will gain happiness, and lose happiness if they are sent to raid.
>>
>>100359272
Have you played candy box? Your game looks a lot like that https://candybox2.github.io/candybox/
>>
composition? yeah i'm thinking based
>>
>>100360236
And no, I don't get would be the similarities to that cookie clicker.
If anything this is anti-cookie clicker.
Because goblins eat grain, and only way to gain grain is to send them to raid, but they might die or get wounded during the raid.

Regardless this is just the first stage, next stages would be adding buildings (that you can assign goblins to run) and captives they can marry.
>>
All the resources on/linked from libsdl.org are incredibly old and crusty. Is there any tutorial that covers the basic features using somewhat modern C++? Failing that, does anyone know of any well-written open-source projects that could serve as examples?
>>
>>100361631
what about just reading the Doc?
>>
>>100362120
That's great for figuring out how to do specific individual things, but it's pretty lacking for getting started from scratch. I don't want to trial-and-error my way into some hodgepodge that just happens to work, I want to use good practices and start with something clean.
>>
https://www.youtube.com/watch?v=NDFO4E5OKSE
how do I make an fx system like this...
>>
Still unable to synthesize the sounds I want, though I discover new... interesting ones while experimenting.
https://files.catbox.moe/cme4r7.mp3
>>
today i managed to add "buying and selling" into my item storage, which just adds and removes values from the dictionary for now, but the basis for the system and the ui works, so it's at least some progress.
>>
>>100362243
https://wiki.libsdl.org/SDL3/SDL_CreateWindow
https://wiki.libsdl.org/SDL3/SDL_CreateRenderer
Pretty much all you need.
SDL is not rocket science.
>>
I'm surprised they didn't merge SDL_Image inside SDL3. Do people really use SDL without SDL_Image?
I suppose if you're using SDL only for creating a window and a OpenGL/Vulkan context.
>>
File: 1680265509227198.jpg (90 KB, 544x693)
90 KB
90 KB JPG
I killed gedg
>>
>>100329376
How do you deal with idea overload? I had an idea, and the overall concept has completely morphed twice now. It kills my motivation, and that's a limited resource to begin with.
>>
>>100364341
Write down and forget. Unless you have the momentum where you actually implement this shit you can let those lay in the fridge.
>>
>>100364523
roger roger. ty anon.
>>
bump
>>
>>100361631
I hate lazyfoo but it serves at getting the basic things working.
There are examples in the example folder in the SDL2 source repo but there is a lot of fat to cut off.
you really don't need more than examples and documentation however.
if you want well written code, just read a 50K line of code project made by an perfectionist (and the code is probably still very dense to read).
Tutorials are supposed to be dumb. Dumb is not good enough for finished products, but it does a good enough job at not overwhelming you when C++ is already overwhelming without getting into game programming (which is one of the most helpless things you could program, it's not like you can always google some's else's solution when what you are doing is specific to your project and your project is too big to just ask for help without actually cutting down the issue to the smallest reproducible example, by the time you cut your problem into a small example you would have figured out what is wrong).
>modern C++
The only problem I have with lazyfoo is that he doesn't use std::unique_ptr when using new/delete. And there should be a setup tutorial for cmake + vcpkg. But it's not hard to do it yourself (cmake + vcpkg might be the most simple approach, but you won't understand anything if it breaks because cmake generates build systems like make/ninja, which then call compiler commands, not knowing flags / commands is normal for Visual Studio AKA msvc, but GCC expects you to always set flags that really should be on by default in cmake, like warnings and sanitizers).
For reading large projects I like using doxygen to generate graphs of the hierarchy and call graphs (I just went into the html folder and just manually viewed every png).
Also if you are going with cmake right away, just use clion if you have a student email, or just pay for it because it just works. I use vscode because I got used to it's jank and hotkeys (but when the EAP is available I would use clion, ATM it's not).
>>
level design is so tedious
>>
>>100367548
the rest of your game is probably tedious then desu senpai
>>
modern c++ is a meme
>>
>>100368257
don't kid yourself, c++ was always a meme
>>
I'm writing a function that handles how units take damage. each attack is an struct with 4 variables, one of those variables is (type),
. and I have a function that runs once per tick, the function is 10 if statements that applies different damage and multiple other effects depending on the type (0-9).

Is this the basic idea of an entity component system?
>>
>>100370125
>Is this the basic idea of an entity component system?
no
>>
>>100370125
typically, in an ECS set up, you'd update all elements at once; so you wouldn't have a function that'll updates all types of that struct, but rather you'd have 10 different functions that each update the units of each type that need updating, and hopefully only calling those functions for variables that need updating.

but really though, ECS is an architectural style and is by no means an end in itself. the only reasons you should be making an ECS are because it's interesting to you, and you want to make one out of play; as an exercise in improving your ability to write architectures; or because your game would genuinely benefit from it. otherwise, there is no reason to make one
>>
>>100364341
i had concepts and ideas, and these turned into a game idea. some of them changed a few times already as i started fleshing out the lore, systems and other things. i feel like some elements need more changes still.
as for the overload, just try to create an mvp and focus on that. i have a lot of stuff i want to implement, but for now i'm just focusing on the general systems and elements.
for example, i have units, but i don't need them to have traits, skill trees, leveling up or some amazing interactions yet. i only need them to have some basic stats and be able to move and shoot, that's it.
>>
>>100370125
>the function is 10 if statements that applies different damage and multiple other effects depending on the type (0-9).
why? just use something like a strategy pattern
>>
>>100364341
do you mean ideas with respect to one game, or ideas with respect to different games? when i think of a fun game idea, i just write down the main ideas in a text file and get sad that it'll probably be close to a decade before i can work on it

if it's about ideas relating to a project, then i just write the ideas down in a design document i guess, i dunno
>>
>>100357716
I drew all sprites myself in GIMP, it's not good pixel art, but it's mine... Sorry for late reply, just came back from night shift.
>>
>>100370125
>I'm writing a function that handles how units take damage. each attack is an struct with 4 variables, one of those variables is (type),
>the function is 10 if statements
A switch or match statement would make more sense, especially if your language supports sum types.
Or use dynamic dispatch.
(or make 10 arrays, one for each damage type, and loop through every one, though that probably only makes sense in some very specific scenarios)

>Is this the basic idea of an entity component system?
no
ECS is more as if you represent all your data in a (in-memory) relational database
>>
>>100372585
They're pretty good, I thought you were using some free graphics that I could also use
>>
>>100372756
All pixel art I drew so far is on GitLain, and game source code is under GNU/GPLv3 license.
You can use it, I don't care much about the license to be honest... Fuck copyright.
You'll find me easily, also, I forgot to put my name... (xolatile).
>>
Could SVGs be used as a 2D equivalent of 3D models?
>>
>>100372819
Can SVGs even do decent texture mapping?
>>
>>100372819
Vector graphics are very slow to draw, unlike triangles
the 2D equivalent of 3D models is just 3D models with one dimension set to 0
>>
>>100372819
You can. SVG is basically just XML. I used Illustrator to draw the tile map for my grand strat and exported it as SVG to get it into the engine via pugixml, then triangulated it with poly2tri.

Though I just use regular serialization with cereal after that.

With just whole integer points and straight lines, Illustrator exports the shapes as a sequence of XY pairs, with some exceptions.
>>
>>100372819

use Signed Distance Fields
>>
More failures leading to interesting results
I'm not making any real progress with the game itself but this is fun

https://files.catbox.moe/ql65ap.ogg
>>
>>100329376
I want to have five tiers of house
>Earth lodge
>wooden cottage
>stone house
>mansion
But I can't come up a tier between the stone house and mansion.
>>
>>100337293
redefining # as "sharp"
>>
>>100374458
Brick home?
>>
>>100374471
wouldn't brick be better than stone house?
>>
>>100374521
isnt that the point?
>>
>>100374537
wait, I meant that in reverse.
Brief googling indicates stone is marginally better than brick
>>
>>100374579
that really depends on the stone and the brick
you don't really get houses made entirely of stone
>>
okay, think
>hut (mud): 1 resident
>lodge (earth): 2 residents
>cabin (wood): 3 residents
>house (stone): 4 residents
>mansion: 5 residents

Not sure if makes sense for mud hut to be worse than earth lodge, but...
>>
>>100374458
>>100374757
for these type of questions unironically use chatgpt, can be useful
>>
>>100374757
mud and earth are the same thing
make hte first one a tent
>>
>>100374769
A lean-to instead of a tent
>>
File: maxresdefault.jpg (362 KB, 1280x720)
362 KB
362 KB JPG
>>100374757
How about tent made of leaves?
>>
>>100374765
I did, the retarded bot suggest "estate" and "villa", both of which are just synonymyns for mansion.
>>
File: laavu.png (1.27 MB, 826x602)
1.27 MB
1.27 MB PNG
>>100374769
can't because I want to imply homeless people already live in tents

perhaps laavu?
>>
>>100374785
looks comfy desu
>>
I want to get a physical book so my eyes aren’t on a screen all day. What’s a good text to pick up in physical form? Real-time Rendering? Or should I get something like a linear algebra or calculus book?
>>
put the poo in the loo, the game
making this on a whim
>>
>>100375887
Flash game energy. What's the reward?

Also, what happened to Flash games? Do HTML5 games exist? Do they have the same popularity as Flash games? Is there a Newgrounds for HTML5 games?
>>
>>100376061
The reward is I get to dunk on india to the sounds of plopping and flushing sounds

Godot compiles to HTML 5 pretty easily and with decent filesizes as well. itch.io is probably the closest thing to newgrounds we got, some real gems on there.

I mostly make games with c/odin and raylib though and I don't know how to compile to wasm or html5
>>
https://files.catbox.moe/613ely.ogg
https://files.catbox.moe/ubyj8w.ogg
https://files.catbox.moe/u12glz.ogg
https://files.catbox.moe/evyjwe.ogg
https://files.catbox.moe/f9nq4j.ogg
All the same function but with increasingly slowed exponential decay
>>
>>100376468
horror backdrop
bio horror backdrop
generic computer sounds
horrible
you should be ashamed of yourself
>>
>>100377261
>generic computer sounds
What about this one? https://files.catbox.moe/lgc5a2.ogg
>>
>>100339235
Why does that image encapsulate the downtrodden programmer so well?
It gets posted everywhere these days.
>>
>>100378652
>https://files.catbox.moe/lgc5a2.ogg
that sonar scene in the hunt for red october
>>
File: prime.png (71 KB, 284x347)
71 KB
71 KB PNG
>>100379250
indeed
>>
File: pwimeagen.jpg (104 KB, 960x540)
104 KB
104 KB JPG
>>100379864
uwu
>>
>>100380152
tech asmongold is not that bad. he's better than gamedev asmongold.
>>
Added map revealing thing, it's square because I'm lazy to do "tile-pixel-trace-circle" currently...
I mean that thing with square distance or whatever it's called, I don't remember.
>>
>>100380859
Just drop the corners
>>
>>100380996
You can toggle them (map frame, stat frame and text box) on those buttons in bottom right corner.
>>
>>100381154
Nta but I think he meant to drop the corner tiles of your square thingy
>>
childhood is thinking invisible walls are stupid, gamedevhood is realizing they're a necessary evil
>>
>>100381208
>>100380996
Oh, I get it, here's how it looks like:
>>
>>100381390
Much better
>>
Oh no, I'm learning Rust again.
God help me.
>>
File: 1631784504009.jpg (94 KB, 730x545)
94 KB
94 KB JPG
>>100381688
Change your way before you have to answer to God.
>>
File: 1545975748297.png (257 KB, 604x613)
257 KB
257 KB PNG
>typed void pointer
>>
>>100380269
this guy isn't even a gamedev, he just pretends to be one
>>
I hate asset transfers. Can't I just send all the textures to the GPU and leave them there?
>>
>>100383379
>Can't I just send all the textures to the GPU and leave them there?
yes?
>>
>>100376061
Newgrounds still exist with HTML5 games.
>>
I will never ever call myself an “indie game developer”. Those guys are a bunch of self victimizing losers. Back in the 00s and earlier you had to be a math/programming genius to be a game developer. Widespread information has brought the worst people into game dev. And for some reason an awful lot of overweight trannies, I wonder what the correlation is there.
>>
>>100384464
>Back in the 00s and earlier you had to be a math/programming genius to be a game developer
lol
>>
What do you think of modules coming to C++? I can't wait to use them.
>>
>>100384464
Anon has never even heard of flash games or the Japanese
>>
Are Euler angles the pitch yaw roll thing?
>>
>>100384839
yes
>>
bump
>>
>finished custom scripting lang, reflection system, serialization system, ui toolkit for property editing
Gonna start working on the game any day now haha
>>
>>100386985
show us your scripting language
>>
Bump, work in progress...
>>
>>100387049
https://github.com/charlesrw1/ScriptLang
( let y : entity_t ( get_ent 'some_ent_name' ) ) 
( let x : float
( vec_dot
( get_facedir self )
( get_facedir y )
)
)
( and ( > x flSomeGlobal ) ( < x 0.75 ) )

Its not full featured but I tailored it to mainly what Im going to use it for, which is evaluating basic boolean expressions or calling some functions in response to an event and such.
>>
>>100387251
have you written any real code in it yet?
>>
>>100387377
Yes, but its not really code code, more like a boolean expression checking some values.
The main purpose I started with was to get something that could evaluate if an animation state machine transition should take place based on some global variables, logic ops, and maybe a function call (like in Unreal's animation graph blueprints but code based instead).
But I plan to use it in the future for gameplay events and such
>>
>>100387251
what does this do that lua doesn't do
or did you want to make a scripting language for funsies?

you DO turn it into a bytecode and process it using a bytecode interpreter, right?
>>
>>100387935
Yeah its compiled to bytecode
I tested against lua and its about 2x as fast for my main use case of simple expressions
Partly fun but also I just wanted something simple for evaluating transition conditions and didnt want to add extra fluff. The unique features to lua are static typing, struct types, built-in string hasing for string ids, and nicer integration with global variables which is the main use case for me.
Tbh lua wold have been fine though
>>
>>100381688
You won't https://loglog.games/blog/leaving-rust-gamedev/
>>
>>100384760
Your point?
>>
File: abilities_01.webm (2.11 MB, 1280x720)
2.11 MB
2.11 MB WEBM
>>
>>100387251
What problem did you try to solve with ScriptLang (lel)? What does reflection do?
>>
File: abilities_02.webm (1.96 MB, 1280x720)
1.96 MB
1.96 MB WEBM
>>
File: shop.webm (1.94 MB, 1280x720)
1.94 MB
1.94 MB WEBM
>>
>>100388104
>>100388117
>>100388136
This looks excellent Anon! Is it TRVE kind of RPG game, with dice rolls, or modern RPG? Is it free or open source?
I'm working on something along those lines, but more similar to Heroes of Might & Magic 2 + Mount & Blade.
>>
>>100339187
The way god intended
>>
>>100388393

It's a MOBA. Going to be open source, I think I'll upload a preview version soon (in a week or two).

Doesn't have much content yet but the mechanics are working. What you see here is a server and 2 clients running on localhost. And I made a game coordinator already (really just a way for servers to advertise their ip / port).
>>
>>100389127
What networking model do you use?
DOTA was lockstep because of WC3 but I think DOTA2 moved to a more traditional sever/client model
>>
>>100389127
That's nice, I started adding more content before implementing actual gameplay, now grinding the gameplay code.
I see you made it in Godot, don't know how it handles multiplayer, if I add that, I'd use ENet by Lee 'eihrul' Salzman.
>>
>>100389135

I think it's server-client. There is a server, responsible for all the important stuff.
I'm not familiar with the technical terms desu, I just script and hope for the best.
>>
File: vlc.webm (997 KB, 1280x720)
997 KB
997 KB WEBM
>>100388136
>>100388117
>>100388104
>vlc
>>
why is itch.io almost entirely tranny/fag games?
>>
>>100389642
Maybe itch.io scans your browsing history...?
Joke aside, there are good games in there.
Most are bad, broken or unfinished, true.
But there are some gems if you search for.
Nope, not gonna provide you an example.
Steam is also full of wokeness crap...
>>
File: pivot.webm (459 KB, 1020x577)
459 KB
459 KB WEBM
>>100329376
Is this pivot point issue?
>>
>>100389642
They know your tastes.
>>
>>100388101
Japanese barely understood programming in the 20s, they barely get it now.
>>
>>100390495
If anyone ever got to see the source code of Japanese games it would probably be widely derided, but their games work at least
>>
>>100389988
Figured it out, 3 hour spend on dealing with table scroll, what a life.
>>
dios mio
>>
>>100390495
Post your game
>>
>>100389642
half of those tranny games are released by me
>>
Does /gedg/ have a comprehensive list of tools you need to learn in order to make an engine?
I was imagining something like a list of topics each with a tool category, some options alongside their pros and cons.
Something like *Graphics Library* then OpenGL (pros, cons) Vulkan (pros, cons) etc.
>>
>>100392818
>I have to learn a list of things before I can start doing the thing
People really need to stop thinking that way and just start doing the thing and learn as they go.
>>
>>100392818
Stitching your game engine together out of middleware isn't a popular approach anymore, it's been made redundant by tools like Unity and Unreal
People doing engine dev are usually going DIY and not using many tools
>>
>>100393044
And what would these "not many tools" be?
>>
>>100389642
>why does [platform with zero barrier to entry] have [low effort attention seeking meme] spam
>>
>>100393299
Realistically it's just people fucking around with VUlkan and OpenGL and usually they give up on their projects after that
>>
File: kM6aBFH.png (288 KB, 490x787)
288 KB
288 KB PNG
i'm trying to make an item system and i have a question
let's say i have an Item class, and thn i have a way of storing a collection of items as storage - a dictionary<string, item>, list<item>, whatever. i can find the item somehow, either by linq, or by the dictionary ID key, however that is not type safe at all. all my IDs are just strings, is there a way of creating such a system in a way that is, welll, type safe? or is this impossible? i could have an Item class, and an ItemID enum, but that sounds like a nightmare to maintain.
>>
>>100393299
Compiler
Keyboard
A pair of hands (optional)
>>
>>100393390
How is it not type safe?
>>
>>100393390
Use numbers, define them as consts. Or enums if your language allow them.
>>
>>100393319
So the graphics library is basically the only hurdle you pretty much can't (feasibly) overcome by yourself when it comes to making a decent game engine?
My timeframe is basically until I decide enough is enough and become an hero.
>>
>>100393443
Oh no, there's many hurdles you need to overcome when you make a game engine, graphics is just hurdle one and nobody ever goes past that hurdle
At the bare minimum you need a graphics library, and audio library and some way to interact with the OS
Past that it depends what kind of game you want to make
>>
>>100393409
if i write $item = itemList["someid"] and that id is nonexistant because i made a typo somewhere, it'll fail.
i know i should have a getter but i'm just trying to prove a point
>>
>>100393518
Then you just write out a structure of all the items you could possibly have as fields
>>
I'm sorry that I've been out of the loop for so long but why does this thread exist when agdg has been there for decades?
>>
>>100393537
>agdg
are you talking about the loligeneral?
>>
>>100393535
as in
Item item1;
Item item2;
etc?
>>
>>100393589
Well I don't know what your use case is
If you have an equppable character sheet you could have
Character {
Item Helmet;
Item Chest;
Item Bracers;
}
If you have an inventory grid it could be a 2D array
If it's just a sack of items it could be a list
>>
>>100393537
Take a look at current agdg and ask again.
>>100393589
Not that anon but you should have string consts if you are afraid of typos, at which point you could as well just use an enum.
The only problem you should be worrying about is having your code base in sync with game files.
>>
>>100393476
Thanks for explaining, by the way people are replying to me it leads me to think that I can think about all the other issues and necessary tools once I'm familiarized with at least the bare minimum (graphics library, and audio library and some way to interact with the OS as you said. With that in mind, are the following assumptions correct?
Regarding graphics libraries, there's really only two, Vulkan and OpenGL. With OpenGL being older and easier to get into but Vulkan being more performant.
I'm not sure which audio libraries are good or not, as far as i've searched the popular ones are OpenAL, Fmod, Wwive and SoLoud.
I'm not sure what you mean by "some way to interact with the OS", something like SDL?
>>
>>100393670
The problems you're going to face and the tools you want to be familiar with depend on the kind of game you're going to make. Is it 2D or 3D, single player or multiplayer, what genre it is
There's three graphics libraries, DirectX, OpenGL and Vulkan. DirectX might be the best to use from a practical perspective
Interacting with the OS is getting a window, a file system, getting input. Something like GLFW or SDL
>>
>>100393670
You could use Raylib, it's simple, not too limited, written in C, maintained.
https://www.raylib.com/
Thing is: Do you want to make games, or you want to learn how they work?
>>
>>100393665
But agdg has always been like that. Actually I'm surprised that how little it has changed, they're still talking about underspace vs crumble. It's like the exact same thread from 4-5 years ago.
>>
>>100393729
>>100393735
Sorry for not being too specific, I was avoiding mentioning it because well, things can change along the way I suppose. The main things I'm not willing to compromise on is that i'll make something 3d (most likely from an isometric angle but i might go back on it), singleplayer and cross platform (which is why i'd rather avoid platform specific tools).
>Do you want to make games, or you want to learn how they work?
Both, but I'm more interested on how they work (I still have a text file with around 600 lines regarding mechanics i'd like to implement, story snippets, etc), I don't plan on ever releasing what I make. I'll still post the code online but I don't care about advertising it. I'm just treating this endeavor as a way to keep my mind busy.
I'm sure I'll probably change it later once I learn more about it but what about this selection: C (probably will move to C++, but ideally I'd constrain it to C), Vulkan, SDL(2?), and Lua for scripting. Is this enough to make a working concept?
>raylib
I searched a bit and this seems to be an "all in one" development library? As in raylib replaces with all the previously mentioned facets of developing a game engine?

I'm sure that all my questions could be answered with a few more hours searching, if I'm asking too much feel free to tell me to fuck off.
>>
FRESH BREAD!
>>100394097
>>100394097
>>100394097
>>100394097
>>
>>100393973
Reply is in the next thread.



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