← Home ← Back to /g/

Thread 105811364

214 posts 24 images /g/
Anonymous No.105811364 [Report] >>105811655 >>105811663 >>105811838 >>105811840 >>105812788 >>105813135 >>105813724 >>105814578 >>105814799 >>105818049 >>105819235 >>105825524 >>105825861 >>105827036 >>105831286 >>105837269
good
Anonymous No.105811399 [Report]
this
Anonymous No.105811411 [Report] >>105811494 >>105811655 >>105811703 >>105811704 >>105812439 >>105813724 >>105814613 >>105821096 >>105822876 >>105827194 >>105837954
SDL is better.
Anonymous No.105811473 [Report] >>105811494
never used raylib but sdl is pretty good
Anonymous No.105811491 [Report]
never used raylib or sdl but they both seem pretty good
Anonymous No.105811494 [Report] >>105822799
>>105811411
>>105811473
SDL is for windowing and input events. Raylib can use SDL, they are not competing.
Anonymous No.105811499 [Report] >>105813287 >>105826020
iv never coded and i like tsoding. (i only knew of raylib through his streams)
Anonymous No.105811655 [Report] >>105814613 >>105827194
>>105811364 (OP)
Yeah its amazing for simple desktop apps, only suoerseeded by gtk

>>105811411
SDL is for real projects, like making simulators or games you are not gonna make your useless app with it.
Anonymous No.105811663 [Report] >>105813724 >>105814586 >>105814613 >>105827194
>>105811364 (OP)
Deprecated by SDL3
Anonymous No.105811703 [Report]
>>105811411
Apples to oranges
Anonymous No.105811704 [Report]
>>105811411
Different use-case.
Anonymous No.105811838 [Report] >>105824073
>>105811364 (OP)
Looks like dogshit, functions like dogshit, runs like dogshit (immediate GUI)
Can anyone give me even one example where I am not right
Anonymous No.105811840 [Report]
>>105811364 (OP)
Bad.
Anonymous No.105812439 [Report]
>>105811411
Yes.
Anonymous No.105812788 [Report] >>105828624
>>105811364 (OP)
The guy who did Sidestep Legends used it.
Anonymous No.105813135 [Report]
>>105811364 (OP)
Never used it, how does it compare to Allegro?
Anonymous No.105813287 [Report] >>105825704
>>105811499
You're a faggot.
Anonymous No.105813724 [Report] >>105814613 >>105827194
>>105811364 (OP)
>slower than SDL
hard pass

>>105811411
that it is.

>>105811663
facts
Anonymous No.105814578 [Report]
>>105811364 (OP)
>redraws your UI 1000 times per second
bad
Anonymous No.105814586 [Report]
>>105811663
delete this pynigger worshipping image
Anonymous No.105814613 [Report] >>105814792 >>105826830
>>105811411
>>105811655
>>105811663
>>105813724
>cniles measuring their epeen on a literal 2d bing bing wahoo rendering framework
Anonymous No.105814792 [Report] >>105815488
>>105814613
> rust tranny has opinion of things she knows nothing about
this isn't a child porn forum. you need to go back.
Anonymous No.105814799 [Report] >>105818049
>>105811364 (OP)
whats the usecase? unironically
Anonymous No.105815488 [Report]
>>105814792
>this much seething
Anonymous No.105815538 [Report] >>105815674 >>105817537 >>105821425 >>105821929
No thanks. I'm raw dogging the Win32 API.
Anonymous No.105815674 [Report] >>105817537
>>105815538
Enjoy being microsofts bitch.
Anonymous No.105817537 [Report]
>>105815674
>>105815538
The most stable API on Linux
Anonymous No.105818049 [Report] >>105819181
>>105811364 (OP)
>opengl only
No thank you.

>>105814799
Good enough if you want to make a decent indie game without a bloated game engine.
Anonymous No.105819181 [Report] >>105819290 >>105824552
>>105818049
>Good enough if you want to make a decent indie game without a bloated game engine.
All raylib shit looks the same and its only suitable for 2d
There are no real games made in raylib, just little toy projects people made purely for the purpose of using raylib, not for actual productivity or customizability reasons
Raylib is a toy for tinkerer, not a pragmatic tool
Anonymous No.105819235 [Report]
>>105811364 (OP)
awesome
Anonymous No.105819290 [Report]
>>105819181
>not a pragmatic tool
4 U
Anonymous No.105820262 [Report] >>105827218
>takes control of the frame pacing away from the dev
>unfixable hitching
Anonymous No.105821096 [Report]
>>105811411
/thread
Anonymous No.105821425 [Report] >>105822966
>>105815538
>No thanks. I'm raw dogging the Win32 API.
Do you have any pointers, no pun intended.?
Anonymous No.105821929 [Report] >>105822870
>>105815538
to what, open a window? that's pretty much the extent of win32 usage in gamedev
Anonymous No.105822799 [Report] >>105822841
>>105811494
Raylib is purely unnecessary, SDL3 beats it handily.
They aren't competing merely because raylib is not worth competition.
Anonymous No.105822841 [Report] >>105822878
>>105822799
how to do Raylib work with SDL3?
Anonymous No.105822870 [Report] >>105823143
>>105821929
Input, networking, audio, fine grain control over threads and memory, seamless integration with DirectX (which is a part of Windows SDK).
Anonymous No.105822876 [Report] >>105823881 >>105824552
>>105811411
You are joking, right? Nobody in their right mind fucking develops games using SDL as a base.
Anonymous No.105822878 [Report] >>105823190 >>105826852
>>105822841
Read the includes, just like raylib.
It's *just* a better raylib.
Anonymous No.105822966 [Report] >>105823129
>>105821425
Pic related
Programming Windows 5th Edition by Charles Petzold.
Handmade Hero https://www.youtube.com/watch?v=4ROiWonnWGk
Anonymous No.105823129 [Report] >>105823199
>>105822966
Thanks anon! What about stuff by Pavel Yosifovich?
Anonymous No.105823143 [Report]
>>105822870
directx covers all those things you just mentioned dumdum
Anonymous No.105823190 [Report]
>>105822878
they don't seem to do the same things.
Anonymous No.105823199 [Report] >>105828293
>>105823129
His books are more about system programming.
Anonymous No.105823881 [Report]
>>105822876
Untrue
Anonymous No.105824073 [Report] >>105825371
>>105811838
why the fuck would you pay 6 for this card what the fuck
Anonymous No.105824552 [Report] >>105825228
>>105819181
>>105822876
Aww, poor thing. You need wokot and unity to hold your hand?
Anonymous No.105824934 [Report] >>105825390 >>105827251
Raylib is really good for one thing - fast prototyping of 2d shit. Got an idea? Just slap some messy Raylib code together to see how it works out/test some stuff. API is so braindead you can go through multiple iterations in a very short time without a need for any template projects.
Anonymous No.105825228 [Report] >>105825315
>>105824552
Yes, and there's nothing wrong with that.
Anonymous No.105825315 [Report] >>105825339
>>105825228
lol. YWNBAW
Anonymous No.105825339 [Report]
>>105825315
Wasn't planning to, but thanks for the reassurance. Got any more witty replies?
Anonymous No.105825371 [Report]
>>105824073
For the memes
Anonymous No.105825390 [Report]
>>105824934
>API is so braindead
API is so smart and easy to use
Anonymous No.105825426 [Report] >>105825524
Raylib is great. I have no idea why anyone would seethe about it. It's simple, has bindings for almost every language and it does the job really well. If you want to get up and running as fast as possible and get testing out your ideas I can't think of a better drawing library.
Anonymous No.105825438 [Report] >>105825524 >>105825544 >>105825605 >>105826500
Raylib's arch nemesis
Anonymous No.105825524 [Report] >>105827260
>>105825426
>>105811364 (OP)
thoughts on raylib and 3d?
>>105825438
can't google this shit
Anonymous No.105825544 [Report] >>105825560 >>105825614
>>105825438
It would be better to use Javascript + the canvas than this. It would perform better and it would be easier to distribute.
Anonymous No.105825560 [Report] >>105825575
>>105825544
>It would perform better
Is this a joke or just misinformed? One of the things LOVE has going for it is that it's extremely fast. It seems like you just made this up and decided it was true without checking
>easier to distribute
You just take the runtime and concatenate the game source to the end of it (cat love.exe main.zip > game.exe) so distribution is the easiest part
Anonymous No.105825575 [Report] >>105825585
>>105825560
>One of the things LOVE has going for it is that it's extremely fast
its not fast at all
Anonymous No.105825585 [Report] >>105825588
>>105825575
It literally is. I've ran benchmarks and it's one of the fastest frameworks, definitely faster than game engine slop. It's luajit ffi over low level graphics calls, so it should be self-evident.
Anonymous No.105825588 [Report] >>105825602 >>105825614
>>105825585
lua is not fast compared to raylib which is in C
Anonymous No.105825602 [Report] >>105825608
>>105825588
>I'm mad because I'm wrong
You're moving the goalpost now
Of course it's not as fast as native C, but it's extremely close. It's probably the fastest non-native graphics framework you will find because of luajit which is a well-known contender for high performance.
Anonymous No.105825605 [Report]
>>105825438
Yeah, I like this more. I made a little shmup with GPT. Raylib seems good at something, but making games, imo
Anonymous No.105825608 [Report] >>105825614 >>105825622
>>105825602
>but it's extremely close.
No it's not close, Lua is an order of magnitude slower than C, it's also slower than Unity which uses C#
Anonymous No.105825614 [Report] >>105825620
>>105825544
>>105825588
>from "slower than javascript+canvas" to "raylib with native C is faster" in just 3 messages
Kek, you lost
>>105825608
Literally just confidently incorrect about Luajit performance
Anonymous No.105825620 [Report] >>105825629
>>105825614
I've worked extensively with Lua
Lua is not faster than C or C#
Using hash tables for every structure is not fast
Anonymous No.105825622 [Report] >>105825625
>>105825608
not sure where the meme about Lua being slow comes from, seems to be a recent thing, Lua is a shit language but the whole point is that it's speedy
Anonymous No.105825625 [Report] >>105825637
>>105825622
Lua is fast for a scripting language
Compared to native compiled languages, it's slow
Anonymous No.105825629 [Report] >>105825638
>>105825620
Lua doesn't have hash tables or structs, it has tables, which are a distinct data structure from both of those things and have a mixed hash table/array component and optimizations in implementation
Luajit can also handle C data structures directly using FFI, which is how LOVE works
Anonymous No.105825637 [Report] >>105825644
>>105825625
LuaJIT is not only close to native performance, it's faster than C in some specific benchmarks
Anonymous No.105825638 [Report] >>105825659
>>105825629
Why are you telling me the basics of how Lua works when I just said I've worked extensively with Lua?
Anonymous No.105825644 [Report] >>105825659
>>105825637
>LuaJIT is not only close to native performance
No it's not
When every structure is a hash table you aren't getting close to native performance
If you just benchmark something use LuaJIT only making C calls then you are not benchmarking a Lua program
Anonymous No.105825652 [Report] >>105825654
>hashtables are LE BAD
ram is literally a hashtable
Anonymous No.105825654 [Report]
>>105825652
they're not bad, they're just slower than structures with compile time determined offsets
Anonymous No.105825659 [Report] >>105825663
>>105825638
Because despite having "worked extensively with lua", you're wrong. The fact that you have worked with Lua before doesn't override basic facts about the language, you don't get to say things and have them automatically be true just because you have used the language a lot before.
>>105825644
>When every structure is a hash table you aren't getting close to native performance
Except LuaJIT can interact directly with C structs and other low-level structures without tables.
At this point you're just trolling or ignoring basic facts because you wish they were true but they aren't.
Anonymous No.105825660 [Report] >>105827032 >>105835303
C is faster than Lua but raylib isn't faster than Love2D because raylib is poorly coded with too many abstraction layers.
Anonymous No.105825663 [Report] >>105825668
>>105825659
>Except LuaJIT can interact directly with C structs and other low-level structures without tables.
So? Its basic data structure is still an order of magnitude slower than static data structures
Using LuaJIT doesn't mean you suddenly stop using tables
Anonymous No.105825668 [Report] >>105825683
>>105825663
>Using LuaJIT doesn't mean you suddenly stop using tables
Sure it does
If we accept the premise that tables are evil and slow (which isn't true, but I am capable of pretending it is for the sake of argument) you can use ffi.cdef to create structs for performance-intensive tasks, and wrap them in userdata. There is nothing stopping you from doing so.
Anonymous No.105825681 [Report]
Lua is an awful unmaintainable toy scripting language.
Anonymous No.105825683 [Report] >>105825691 >>105825694 >>105825733
>>105825668
You're operating under the assumption that there's some code that is "performance intensive" and you can delegate that to C structures and do the rest in Lua, when the reality is all the code in your program matters, so any use of tables is going to make things slower than static data structures
You could do everything in the C FFI, but at that point you're not programming in Lua anymore, you're programming in C
Anonymous No.105825691 [Report] >>105825698
>>105825683
>ALL code in your program matters
>trust me bro, looking up data every frame in the render step is directly equivalent to checking the hit points of the player
Okay
Anonymous No.105825694 [Report] >>105825705
>>105825683
you're wrong
Anonymous No.105825698 [Report] >>105825716
>>105825691
thats not what i said
this is a false application of the pareto principle
Anonymous No.105825704 [Report]
>>105813287
yeah *blushes*
Anonymous No.105825705 [Report] >>105825723
>>105825694
No I'm not wrong, you're making assumptions about things because you haven't actually done it
"I'll just do the performance intensive tasks in a fast language and the rest in the slow language" is a classic rookie misconception
Anonymous No.105825716 [Report] >>105825721
>>105825698
>resorted to pulling out jargon you don't understand because you're incapable of formulating an argument yourself and are expecting me to fill in the blanks for you
Cute, I accept your concession
Anonymous No.105825721 [Report] >>105825738
>>105825716
I do understand the jargon, if you don't understand it you can google it
You're assuming that a small amount of code is responsible for the most of the performance load, that's the pareto princple, and I'm telling you that's not the case
Anonymous No.105825723 [Report] >>105825736
>>105825705
LuaJIT is one language doe
ffi.cdef is considered part of the standard library
Also what you're describing isn't a misconception, it's the entire basic premise of implementing an embedded language for scripting
Anonymous No.105825733 [Report] >>105825932 >>105825959
>>105825683
>you're programming in C
What's wrong with programming in C? Why do people bother going through all of these hoops by using bindings and scripting languages if they could just use C or C++. Every time I've tried to use a scripting language in one of my projects I end up rewriting it in native code as it just becomes a complex unmaintainable mess.
Anonymous No.105825736 [Report] >>105825750
>>105825723
>it's the entire basic premise of implementing an embedded language for scripting
The premise is you can do it where you can afford to take the performance hit
This guy is saying that Lua is in the same performance domain, it's not
Anonymous No.105825738 [Report] >>105825757
>>105825721
You're literally just making shit up because you're a nocoder
If you have a step that takes an extra 50 milliseconds in the render thread, you're going to have a huge problem compared to if you have a slow function that's called once every time the player collides with a hitbox
This is basic math that anyone can grasp
Reddity cargo cult phrases like "pareto principle" do not change basic reality
Anonymous No.105825750 [Report] >>105825759 >>105825761
>>105825736
if lua is fast enough for cloudflare, it's fast enough for your shit indie game
https://blog.cloudflare.com/more-consistent-luajit-performance/
Anonymous No.105825757 [Report] >>105825777 >>105825786
>>105825738
You're correct, but that doesn't change the fact that using Lua is still going to slow your program down, and there's no easy solution where you can delegate a few important functions to C and have the rest of the program run just as fast
Love2D is not going to result in programs that are close to the same performance as Raylib even if all the rendering is offloaded to C
Anonymous No.105825759 [Report]
>>105825750
nta. but since when does cloudflare make video games? completely different domains lol
Anonymous No.105825761 [Report] >>105825764
>>105825750
The argument is that Lua is slower than C, not that it's too slow for your indie game or any other task
Anonymous No.105825764 [Report] >>105825771 >>105825790
>>105825761
The "argument" is actually that LOVE is slower than js+canvas and completely incomparable to raylib
Anonymous No.105825771 [Report] >>105825783
>>105825764
Someone was comparing Love2D to Rayllb, I don't know anything about JS
Anonymous No.105825777 [Report] >>105825782 >>105825786
>>105825757
>and there's no easy solution where you can delegate a few important functions to C and have the rest of the program run just as fast
There is, it's called luajit ffi
LOVE already uses it for its default rendering code (which you can override by redefining love.run) which is why LOVE is so performant
Anonymous No.105825782 [Report] >>105825793
>>105825777
If all your program does is draw a bunch of sprites, then performance might be similar
If you actually write a game, which game logic, then performance will not be similar, because you will have written a whole program in Lua using tables
Anonymous No.105825783 [Report] >>105825787
>>105825771
just accept that you're wrong bro
Anonymous No.105825786 [Report]
>>105825757
>>105825777
Post benchmarks, faggots.
Anonymous No.105825787 [Report]
>>105825783
wrong about what?
Anonymous No.105825790 [Report]
>>105825764
Web is probably slower as Love2D just calls opengl or something. Drawing to a browser canvas likely has way more layers until it gets to your GPU drivers.
Anonymous No.105825793 [Report] >>105825795
>>105825782
This is honestly getting exhausting due to how out of touch with reality you are
You seem to be under the impression that using a table anywhere in your code tanks the performance of your game
People write games in LOVE all the time, and they are not crawling to 2 fps like you seem to believe
Anonymous No.105825795 [Report] >>105825802
>>105825793
Where did I say anything about crawling to 2 FPS?
Anonymous No.105825802 [Report] >>105825809
>>105825795
It's not clear what you are saying, since you have crippling autism and are more concerned with making abstract generalizations (like "table are slow") than engaging with concrete examples
Anonymous No.105825809 [Report] >>105825889
>>105825802
It is clear what I'm saying, "X is slower than Y" is easy to understand, don't know why you need to pretend I'm saying things I didn't actually say
"tables are slow" means "tables are slower than static data structures", I already said that
Anonymous No.105825861 [Report] >>105825891 >>105826552
>>105811364 (OP)

it uses OpenGL which is shit
Anonymous No.105825889 [Report] >>105825912
>>105825809
Tables aren't always slower, depends on the architecture and caching.
For example, in ye olden architectures, a sine table was obviously going to be much easier then doing a taylor expansion due to the amount of time instructions took in the cpu to execute, nowadays the amount of time it takes can mostly be considered trivial, and fetching from memory over and over again when the cache having to constantly get overwritten with the repeated lookups vs just keeping the taylor expansion algorithm and it's scratch space resident in cache and rarely having to fetch from memory makes the process even faster still.
Anonymous No.105825891 [Report]
>>105825861
This guy gets it.
Anonymous No.105825912 [Report] >>105825930 >>105825945
>>105825889
>Tables aren't always slower
No they are always slower, it's resolving something at compile time vs runtime, don't be dishonest
Anonymous No.105825930 [Report] >>105825962
>>105825912
>resolving something
Dereferencing a pointer at an address+offset (or whatever you're doing in the C equivalent) is "resolving" something too nigga
You're embarrassing yourself by talking about things that are far above your skill/knowledge level, using terminology that nobody else uses
Anonymous No.105825932 [Report] >>105826206
>>105825733
It's to remove bottlenecks in production by making content creation not depended on programmers by removing memory management and strict data types. Every other justification for scripting languages is cargo cult nonsense, because if you can write an engine then the time spend on implementing a scripting language is better used on writing functions that fulfill the same purpose without the performance problems.
Anonymous No.105825945 [Report] >>105825962
>>105825912
clearly you need to be more specific about what kind of tables and in what kind of situations you're talking about.
I just gave an example for sine wave calculation. Not perfectly concrete, but rarely does anyone use sine lookup tables in modern software anymore, meanwhile they were extremely common on microcomputer games.
Anonymous No.105825959 [Report]
>>105825733
Because it's faster, easier to read and write and more convenient overall. Just compare passing, wrapping and calling functions in C and Lua. Or hotswapping the code when developing. I'm not talking about memory management.
Anonymous No.105825962 [Report] >>105825976
>>105825930
>>105825945
In static compiled languages, you have a struct, or a class. It has a bunch of fields. These fields have offsets, and the offsets are determined at compile time
In dynamic languages like Lua, you have a table, the table is a hash table, when you want to look something up you need to calculate the offset at runtime
The first case is significantly faster than the second
Anonymous No.105825976 [Report] >>105825985
>>105825962
Yes, that kind of table lookup would indeed be significantly faster. If you had said that in the first place...
Anonymous No.105825985 [Report] >>105826006
>>105825976
I'm not using complicated terminology
Anonymous No.105826006 [Report] >>105826011
>>105825985
No, you were using vague terminology, a table is quite literally a data structure.
Anonymous No.105826011 [Report] >>105826032
>>105826006
I'm assuming you've used Lua and know what a Lua table is, you were talking about lookup tables
Anonymous No.105826020 [Report] >>105826206
>>105811499
based tsoding appreciator
Anonymous No.105826032 [Report]
>>105826011
Yeah, I joined this thread late, I didn't know it was about Lua.
Anonymous No.105826089 [Report] >>105826162
Lua is pretty fucking gay. 2nd most gay language after Rust. Make of that what you will, faggots.
Anonymous No.105826162 [Report] >>105826179
Brown hands typed this >>105826089 post.
Anonymous No.105826179 [Report]
>>105826162
holy projection
Anonymous No.105826206 [Report] >>105826216
>>105826020
the ultimate nocoder
>>105825932
>removing memory management
C#, Typescript (even Javascript with shit-ton of linters) would be infinitely better than Lua if you absolutely needed a scripting language in terms of maintainability.
Anonymous No.105826216 [Report] >>105826229
>>105826206
>the ultimate nocoder
I like watching others code shit. Coding shit myself is torture
Anonymous No.105826229 [Report]
>>105826216
Makes sense then. Watching him as a programmer is insufferable.
Anonymous No.105826500 [Report] >>105826513 >>105826579 >>105826604
>>105825438
Löve vs Pygame?
Who wins?
Anonymous No.105826513 [Report] >>105826604
>>105826500
Love is in a different league from pygame
Imo Pygame is good for prototyping but falls short of serious game development
Anonymous No.105826552 [Report] >>105826604
>>105825861
Does it really? OpenGL has been deprecated for years now. They should have used Vulkan.
Anonymous No.105826579 [Report] >>105826601
>>105826500
Anything is better that Python.
I'd rather kill myself than using Python.
Anonymous No.105826601 [Report] >>105826629 >>105826647
>>105826579
lol
fair enough
It's just super easy anyone can learn it in like 15 minutes
How is Lua? Been considering learning it since Arcan uses it a lot. Heard various complaints about it but don't remember most of them aside from 1 based indexing which there is literally nothing wrong with (no one shits of Fortran, Matlab, or Julia for this).
Anonymous No.105826604 [Report] >>105827266 >>105827284 >>105827292
>>105826500
Both, really, but I won't use it myself though as it is too easy to reverse engineer games made with it. Your precious code is literally plain text if you use a scripting language.
>>105826513
Pygame can be used semi-seriously. The ability to prototype quickly is its main strength imo.
https://www.youtube.com/@DaFluffyPotato/videos
>>105826552
OpenGL won't die any time soon with the exception of MacOS maybe.
Anonymous No.105826628 [Report]
I just built a little chip 8 emulator and used Raylib to draw to the screen. It's great for stuff like this because it's basically just plug and play. I can't think of a better tool for stuff like this because it's easy to use, reliable and isn't platform dependent.
Anonymous No.105826629 [Report] >>105826674
>>105826601
Lua is one of the OG languages, it's really hard to go wrong. VM is written in ANSI C and compiles to only a few kilobytes. Tables are great. Fast, extremely simple. One data type for everything (one container structure, one number type, etc.). It has proper coroutines too.
JavaScript was actually directly inspired by Lua, which happened because Lua is an example of a good dynamically typed language (and JavaScript isn't)
1-based indexing isn't a flaw like some people seem to say.
The only real downside is that it's single-threaded, but Love2d actually fixes that with love.thread
Anonymous No.105826647 [Report] >>105826671
>>105826601
You could learn Lua in an afternoon:
https://learnxinyminutes.com/lua/
Anonymous No.105826671 [Report] >>105826758
>>105826647
Basics, yes.
Anonymous No.105826674 [Report] >>105826705 >>105826740 >>105835800
>>105826629
>JavaScript was actually directly inspired by Lua,
JavaScript existed *decades* before Lua.
Anonymous No.105826705 [Report]
>>105826674
>Lua was created in 1993. It was developed by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes at the Pontifical Catholic University of Rio de Janeiro in Brazil.
>JavaScript was invented by Brendan Eich in 1995. It was developed for Netscape 2, and became the ECMA-262 standard in 1997
Do you enjoy spreading misinformation on the internet?
Anonymous No.105826740 [Report] >>105827235
>>105826674
not sure how new you think Lua is, but it's a very old language, I remember it being far more popular in 2006 than it is today
Anonymous No.105826758 [Report] >>105826821
>>105826671
Lua is 99% basics
The only tricky is metatables and some intuition around closures and returning behavior (like varargs)
Anonymous No.105826821 [Report] >>105826877
>>105826758
I'd say 90%
Also string and debug libs, module management and global table, coroutines, ffi, C api.
Anonymous No.105826830 [Report]
>>105814613
>C-GODS measuring their epeen on a literal 2d bing bing wahoo rendering framework
Anonymous No.105826852 [Report]
>>105822878
oh cool, show me the doc for sdl3 where it tells me how to just draw a fucking model with a single call, you mongoloid retard.
Anonymous No.105826874 [Report] >>105826887
All the
> NO YOU MUST USE THIS 3RD PARTY LUA VM OR YOU"RE DOING IT WRONG
bullshit in this thread is the same cope Rust zealots use to justify tokio, which really translates to
> The language is shit and we have to keep strapping ever increasing amounts of 3rd party shit onto it to make it usable because the devs fucked up with their initial design.
Hard pass. Lua should only ever be used because you're too fucking lazy to build a little dsl to allow users to script your program. It's not for serious work and anyone doing serious work in it is masochist who loves c&bt.
Anonymous No.105826877 [Report] >>105827159
>>105826821
>global table
It's literally just a table
Anonymous No.105826887 [Report]
>>105826874
>3rd party
Mike Pall is a living god among men
The official Lua team acknowledge LuaJIT as the superior VM
Anonymous No.105826966 [Report] >>105826988
Either the original lua team depreciates lua in favour of lua jit or you're huffing rugfag levels of copium. Lua jit was years behind the original lua last I looked so you've essentially turned one language into two, Must be a fucking nightmare to support for people building libraries for lua because you're going to have to make it twice to make it work with both versions of lua. What a fucking mess.
Anonymous No.105826988 [Report] >>105827019
>>105826966
>Lua jit was years behind the original lua last I looked
In what metric?
Luajit is a fork of Lua 5.1, but introduced bitwise operations before Lua did, has additional libraries, and also backported some 5.2 features
Lua versions after 5.3 mostly add miscellaneous bloat and generally make the language more complex for no reason. Lua was feature-complete at 5.1.
Anonymous No.105827019 [Report] >>105827086 >>105827090
>>105826988
So it's not even lua at this point lol. Anyone who recommends lua jit is recommending a completely different language. And given everyone recommends lua-jit, lua is fucking dogshit.
Anonymous No.105827032 [Report]
>>105825660
You can literally use opengl directly, what are you even talking about. Love is way more abstracted, it's not even close
Anonymous No.105827036 [Report]
>>105811364 (OP)
>installation is directory dependent
>look up how to move it
>"by using raylib we assume you're a fucking retard and moving files is too hard for you so we don't support it"

gee thanks ray.
Anonymous No.105827086 [Report]
>>105827019
>It's not Lua
Correct, but it's backwards comaptible with Lua 5.1
Anonymous No.105827090 [Report]
>>105827019
>It's not Lua
Correct, but it's backwards compatible with Lua 5.1. If you write a Lua script, it will also execute in LuaJIT. So recommending Lua and use LuaJIT simultaneously is completely valid.
Anonymous No.105827159 [Report] >>105827231
>>105826877
Yes, but it has advanced usage, like sandboxing, standard functions replacing or wrapping, etc.
Anonymous No.105827194 [Report]
>>105811663
>>105811411
>>105813724
SDL3 is one layer of abstraction lower, performance in my experience is almost the same thing for 3D if you use opengl with both.
>>105811655
Literally nothing preventing you from taking Raylib all the way, it's just a thin wrapper over opengl with goodies for models/sprites/input/sound/etc.
I bet half of the people praising SDL in this thread would use SDL_renderer which isn't even hardware accelerated lol.
Anonymous No.105827218 [Report] >>105829720
>>105820262
You can disable it and just sleep if you don't want the spinlock wait. That being said I don't know what you're talking about, there should be no hitching
Anonymous No.105827231 [Report] >>105827283
>>105827159
>sandboxing
>wrapping
In standard Lua you just use lua_open and then define the libraries you need. You only do that kind of stuff you're talking about if you have no control over the Lua environment and you have bindings with stuff like tables returning tables or C functions taking userdata as arguments. You some kind of robloxfag?
Anonymous No.105827235 [Report] >>105827249
>>105826740
90s isn't "very old"
Anonymous No.105827249 [Report] >>105827265
>>105827235
It's old within the context of the conversation (you falsely stating JavaScript is "decades older") but I'm sure you're going to move the goalpoast again now
Anonymous No.105827251 [Report] >>105835476
>>105824934
Raylib works fine for 3d, it has GPU skinning and a basic material pipeline. I want a custom lighting model so I can do stuff I wouldn't be able to in e.g. unreal where you're stuck with PBR. Even fortnite, their own flagship game, has a custom source build of UE with a downgraded UE3 material renderer
Anonymous No.105827260 [Report]
>>105825524
Works fine for 3d if you're willing to extend it for the stuff you're missing. There's stuff like: https://github.com/Bigfoot71/r3d but I recommend doing it yourself
Anonymous No.105827265 [Report]
>>105827249
For programming languages, 50s is very old, 90s is new
Anonymous No.105827266 [Report] >>105827284 >>105827291 >>105827292
>>105826604
Trust me anon no one is trying to reverse engineer your game, and if you give a shit about that your priorities are in the wrong place
Anonymous No.105827283 [Report]
>>105827231
No. This was just an example.
Anonymous No.105827284 [Report] >>105827306
>>105826604
>>105827266
On that point though
>Your precious code is literally plain text if you use a scripting language.
Modify 1 or 2 opcodes of the Lua VM slightly, and change the compiler to match (this is really easy to do)
Now compile your Lua scripts with luac and include the bytecode instead of the plaintext source code
I guarantee nobody will ever compile it. This mindbreaks 99.9% of people.
Anonymous No.105827291 [Report] >>105832416
>>105827266
Oh trust me, Chinese or Indians will steal and resell your game. Better be safe than sorry.
Anonymous No.105827292 [Report]
>>105826604
>>105827266
On that point though
>Your precious code is literally plain text if you use a scripting language.
Modify 1 or 2 opcodes of the Lua VM slightly, and change the compiler to match (this is really easy to do)
Now compile your Lua scripts with luac and include the bytecode instead of the plaintext source code
I guarantee nobody will ever decompile it. This mindbreaks 99.9% of people.
Anonymous No.105827306 [Report]
>>105827284
Good to know, thanks anon.
Anonymous No.105828293 [Report]
>>105823199
Isn't targeting Win32 considered systems programming?
Anonymous No.105828359 [Report] >>105828416 >>105828574 >>105828624 >>105828696 >>105835453
I was considering making a game that has an engine built with raylib, and the game would be similar to just a 2000s 3d PC game like half life, thief, deus ex, etc. Long term multi year hobby project. But reading this thread has me thinking, is this even the right tool for the job? Not in a rush so I'd prefer something LIKE raylib, but if raylib is more for 2d is it worth it?
Anonymous No.105828416 [Report] >>105828473
>>105828359
>2000s 3d PC game like half life, thief, deus ex,

If you want to go old school then there is GZDoom or a Quake sourceport like Ironwail or FTEQW.
Anonymous No.105828473 [Report] >>105828509
>>105828416
Considering it but I also think it would be fun to try to do more of the engine myself, mostly because I think any existing engine isn't going to really fit my needs but also for personal enjoyment of getting to set up all the systems on my own
Anonymous No.105828509 [Report]
>>105828473
I'm leaning to FTEQW to see how much a pain in the ass a mod would be versus one of the big 3.
Anonymous No.105828574 [Report]
>>105828359
Just give it a try. Build a simple 3d animation in a few libraries and see which one tickles your pickle.
Anonymous No.105828624 [Report]
>>105828359
This>>105812788
Anonymous No.105828696 [Report] >>105828894 >>105828966
>>105828359
I literally have half life/quake maps importing into my raylib game, totally recommend for an HL clone.
Anonymous No.105828894 [Report] >>105828920
>>105828696
go on...
Anonymous No.105828920 [Report] >>105829077
>>105828894
What do you want to know, I can post a screenshot if you wanna see
Anonymous No.105828966 [Report] >>105829077 >>105829133 >>105829135
>>105828696
What do you use to import the map files? Are there easy libraries for this as I can’t write a parser to save my life.
Anonymous No.105829077 [Report] >>105829133
>>105828920
I have the same questions as >>105828966
Anonymous No.105829133 [Report] >>105835310
>>105828966
>>105829077
>What do you use to import the map files?
I wrote my own .map parser, loosely based on random stuff I found online. The .map (valve 220) format is pretty straightforward to parse text-wise:
https://developer.valvesoftware.com/wiki/MAP_(file_format)
Creating a mesh from it is the tricky part, where you have to intersect planes to get geometry out of em. Once you know the vertices, making a mesh is trivial besides figuring out the right order to wind the triangles in. This is helpful:
https://github.com/stefanha/map-files/blob/master/MAPFiles.pdf
>Are there easy libraries for this as I can’t write a parser to save my life
It depends on your target language. I know there's a plugin for Godot written in C# so you might be able to leverage that or copy its source, there's also a couple in Rust. In my case I'm writing my game in Common Lisp so I just rolled my own, ended up outperforming my previous Rust attempt. I'm not really making a clone, I just wanted to use goldsrc/quake level editors.
It might sound daunting at first but once you start doing it, it's not so bad.
Anonymous No.105829135 [Report] >>105835335
>>105828966
>I can’t write a parser to save my life
Game dev guys are funny
Anonymous No.105829720 [Report] >>105830326
>>105827218
You can Google search frame pacing kiddo, but I'm afraid this topic may be well over your head.
Anonymous No.105830326 [Report]
>>105829720
you can disable framepacing altogether and just do it on your own.
Anonymous No.105831286 [Report] >>105831391 >>105834467
>>105811364 (OP)
>no vulkan support
Well that's annoying
Anonymous No.105831391 [Report]
>>105831286
can just use compile with ANGLE if you want it, otherwise if Vulkan has something you need that OpenGL doesn't have then you're advanced enough to just make your own solution anyways.
Anonymous No.105832416 [Report] >>105835367
>>105827291
I wonder how often this actually happens lol
Anonymous No.105834467 [Report]
>>105831286
>vulkan
usecase?
Anonymous No.105835303 [Report]
>>105825660
imagine believing this lmao
Anonymous No.105835310 [Report] >>105835347
>>105829133
>I'm writing my game in Common Lisp
Tell me more!
Anonymous No.105835335 [Report]
>>105829135
>I like reinventing wheels and doing busywork that likely has been done before.
Pick your battles carefully when making software/game of you’ll never finish anything.
Anonymous No.105835347 [Report]
>>105835310
What do you want to know? In general, I've really been enjoying the experience so far. Being able to modify engine/game behavior while it's running is amazing, while not really sacrificing on performance like if you went with a scripting/vm'd language. Optimizing has also been much smoother than I imagined thanks to the disassemble function and profiler, plus being able to stack allocate on demand helps deal with GC.
On the flip side it's a more niche language so you should be OK with dealing with the initial setup/jank. I started CL recently coming from C++ and Rust, it was a little bit daunting at first but you get used to it.
Haven't had much progress in the last month or so cause of IRL work and some tooling stuff but I'll be working on it full time in a few weeks, can't wait. Add me on disc (jfaz) if you have any questions or need help.
Anonymous No.105835367 [Report]
>>105832416
idk there was that one gamedev video that went viral about a baby game (made in godot but don’t remember). There are probably countless more undocumented examples of stolen games. I’ll rather be a bit more careful when developing my games than having to file DMCAs or speak to lawyers every day.
Anonymous No.105835453 [Report]
>>105828359
For 3d go with SDL3
Or maybe look into bgfx? I havent used it but it intrigues me
Anonymous No.105835476 [Report] >>105835488 >>105835539
>>105827251
Nobody has ever done anything with raylib 3d other than demos
(Same thing can be said about 2d raylib too if you think about it, its all flash game tier shit)
Anonymous No.105835488 [Report] >>105835551
>>105835476
That's because it's relatively recent. Also same can be said for e.g. Godot which is 10x as popular and has one shitty 3d game made with it.
Anonymous No.105835539 [Report]
>>105835476
i have
2 more weeks until release
(desu it’s just better to start actually learning opengl if you want to do anything 3D low level)
Anonymous No.105835551 [Report] >>105835563 >>105835587
>>105835488
Every 3d godot game, which there are thousands of now (when include itchio games, pet projects), is more impressive than a demo of a camera flying around a textured object as a proof of concept that such a basic thing is possible
Anonymous No.105835563 [Report] >>105835847
>>105835551
Yeah because all those "thousands" are literally template projects. Most indie devs trickle out after a couple of months, obviously the raylib projects have less to show after that much time. Anyways if you go on itch.io and search for raylib games you'll find your average indieslop on there. There's stuff like sidestep legends which is on steam, and was released years ago before raylib's 3d didn't even support gltf or skeletal animation.
Anonymous No.105835587 [Report]
>>105835551
lmao. But do you know any good godot games? I only remember Buckshot Roulette.
Anonymous No.105835730 [Report] >>105835929
Been reading a bit about raylib and sdl3. Is it conceivable to use both at the same time? Or even a good idea? I figure a lot of the abstraction stuff raylib has for games is helpful but the lower level stuff sdl3 has seems appealing too
Anonymous No.105835800 [Report]
>>105826674
>JavaScript existed *decades* before Lua.
This is how dumb /g/ is, can't even do a 10 second Wikipedia search
Anonymous No.105835847 [Report]
>>105835563
>search for raylib games
That's not how you find it asshole, you search https://itch.io/games/tag-raylib
Anonymous No.105835929 [Report]
>>105835730
You can glue as many random libs and frameworks together as you want bro.
Just ask yourself how much use you will get out of each, and whether the work is worth it.
A bunch of random shit stapled together is actual gamedev in its truest essence.
Anonymous No.105837269 [Report] >>105837436
>>105811364 (OP)
>"lib" in the name
trashed
Anonymous No.105837436 [Report]
>>105837269
Wat
Anonymous No.105837954 [Report]
>>105811411
kill yourself faggot
Anonymous No.105837966 [Report] >>105837987
Can I make this with raylib
Anonymous No.105837987 [Report] >>105838051
>>105837966
Yes, it's just an abstraction over OpenGL
Anonymous No.105838051 [Report] >>105838087
>>105837987
OpenGL doesnt run on psx
Anonymous No.105838087 [Report]
>>105838051
But it does run on desktop