Making a Desktop App with a Game Library

  Рет қаралды 36,827

Coding with Sphere

Coding with Sphere

Күн бұрын

Пікірлер: 128
@gorudonu
@gorudonu 3 ай бұрын
windows with nvim and tiling window manager, I'm scared of you
@lowerclasswarfare
@lowerclasswarfare 3 ай бұрын
You can create panes in vim/nvim.
@Skyemou5
@Skyemou5 Ай бұрын
fr
@lorderussell
@lorderussell 15 күн бұрын
Fr 😂
@CodeCupboard
@CodeCupboard 3 ай бұрын
Cool stuff! it's quite cool to see something unconventional like this! I hope the RPG in go series will continue. It was very useful.
@codingwithsphere
@codingwithsphere 3 ай бұрын
It will ! I havent had a big enough block of time as I just moved back to college. I want to record a video this week for it
@gammyhorse
@gammyhorse 3 ай бұрын
Very cool vim + lsp setup. Please make a video about it, because it's difficult to set it up on windows. PS: I just found you already did a video about it. LOL. You're great man, thank you.
@SophiaWoessner
@SophiaWoessner 3 ай бұрын
I fully thought you were using linux until your said c:/ directory lol
@hamzarashid7579
@hamzarashid7579 3 ай бұрын
The keyboard sound is so good
@vlc-cosplayer
@vlc-cosplayer 3 ай бұрын
Nah, they sound like goofy ahh skeleton SFX from a 30's cartoon 💀💀
@sledgex9
@sledgex9 3 ай бұрын
FYI, the warnings you got at 8:00 about the strings which you made out to explicit variables were due to you writing them in the wrong order as parameters to GuiTextInputBox. You were giving a value to the parameter named "text" which has a type of char* (aka writable string) while a string literal is of type const char* (aka immutable string).
@codingwithsphere
@codingwithsphere 3 ай бұрын
Yeah i realized that after recording, it's been a minute since Ive used C/C++ lol
@DrNabeel20
@DrNabeel20 3 ай бұрын
Great video as usual!. I developed GUI library in lua for this purpose, now I can use love2d to make a desktop app :D
@bashbarash1148
@bashbarash1148 3 ай бұрын
raylib is a perfect tool for this stuff. Especially if you combine it with imgui. This combo destroys any QT-like juggernaut
@amirrezaghorbani2715
@amirrezaghorbani2715 3 ай бұрын
Untill you get to i18n and RTL Font rendering.
@tommasobonvicini7114
@tommasobonvicini7114 3 ай бұрын
I don't know, it's definitely lightweight, but looks and feels like shit
@SianaGearz
@SianaGearz 3 ай бұрын
@@amirrezaghorbani2715 Accessibility (screen reader support e.g.) is another disaster. Most of the classic (non-webtech-based) UI framework bloat is there for a reason.
@doBobro
@doBobro 3 ай бұрын
If you look into "real" apps using raygui it's incomprehensive mess of attempts to reimplement layout engines to make it somewhat usable for end user.
@perfectionbox
@perfectionbox 2 ай бұрын
Is there a visual form designer? Because laying every widget out in code gets old fast. Immediate mode UIs also waste energy because they need the screen constantly redrawn.
@blvckbytes7329
@blvckbytes7329 3 ай бұрын
19:20 I was actually surprised by how nicely you've read out all other tokens, :). That one little caut is nothing compared to other peoples' stud, putter, eiostr, endler, and "studio", lol. Really enjoyed the video, and could totally follow your thoughts! :)
@KrisStruble
@KrisStruble 3 ай бұрын
You sir are living my dream.
@GuildOfCalamity
@GuildOfCalamity 3 ай бұрын
Great 1st vid on RL, this could be a cool series!
@chxnt4202
@chxnt4202 3 ай бұрын
you can combine this very easily with a html renderer like ultralight aswell to get a very customizable ui
@jamesoliphant8178
@jamesoliphant8178 Ай бұрын
Thanks, I really enjoyed this! Might try making an app myself.
@elektronischermeister
@elektronischermeister 3 ай бұрын
Please do a tour video on your terminal and text editor configuration! It looks awesome! I didn't knew you could do that in Windows.
@codingwithsphere
@codingwithsphere 3 ай бұрын
Hi, I made a video on it! kzbin.info/www/bejne/kKKzoXWcnr1srdU
@CarlSenior-ru8dx
@CarlSenior-ru8dx 3 ай бұрын
BTW you could remove the while loop and get rid of the bug when you click all the ones below get removed by doing two passes when first rendering the tasks you store indices of the tasks that had their buttons pressed and then removing them so that you don't remove as you render not needing the offset
@zombiezoo1384
@zombiezoo1384 3 ай бұрын
That is nice, i will try the same in golang raylib
@RockTo11
@RockTo11 10 сағат бұрын
Can immediate-mode GUIs animate transitions or visual cues, or user-initiated events?
@AnimeGeek32
@AnimeGeek32 2 ай бұрын
I’ve used Qt 6 before for a well-known sculpting software. I found it to be broken. I regret not downgrading it to Qt 5.15 when Apple Silicon support was eventually added there. Now, I’m considering alternatives to Qt. ImGUI was one of them.
@agentotten
@agentotten Ай бұрын
I agree, I also find it complicated and messy.
@leezhieng
@leezhieng 21 күн бұрын
I agree, Qt 5 was great, but Qt 6 is really broken.
@lifelover69
@lifelover69 2 ай бұрын
cool video, raylib and raygui are really exciting alternatives compared to shipping chromium with every app :) thanks
@ravensoftherose
@ravensoftherose 3 ай бұрын
Believe it or not, I was just searching if there is a way to make GUI apps without using XML for UI or something similar yesterday XD. for context: I am 3rd year, and the prof. announced we're gonna have a year project using C++ for a GUI app.
@sledgex9
@sledgex9 3 ай бұрын
You don't have to use XML for UI with Qt (aka .ui files). You can hardcode the window-widgets-layout in code. But that will make your life extremely hard when you want to design or update or tweak your GUI.
@ravensoftherose
@ravensoftherose 3 ай бұрын
@@sledgex9 I didn't know that, I'll try to play with both and see what works best for my skill level. Thanks for the info boss.
@ArnabJhaYT
@ArnabJhaYT 3 ай бұрын
Try Qt, it's easy and fun to learn.
@ravensoftherose
@ravensoftherose 3 ай бұрын
Sure thing boss.
@neto3641
@neto3641 3 ай бұрын
Wasn't aware of this, very cool stuff
@Bhanukamax
@Bhanukamax 3 ай бұрын
I didn’t realize you were using windows until I notice powershell and clang.exe like halfway through the video. What’s this setup? Is it windows terminal? How do you rice windows like that? It’d be a great subject for a KZbin video
@codingwithsphere
@codingwithsphere 3 ай бұрын
@@Bhanukamax I definitely plan on making a video on it soon ! It's wezterm with GlazeWM and zebar and a few other small tweaks
@Bleb1k_irl
@Bleb1k_irl 3 ай бұрын
Hi! What a fancy terminal you have 😊 I haven't watched the video yet, just wanted to point out! Do you mind sharing configs? And is your `ls` a macro to another program, or some magic theme thingy?
@codingwithsphere
@codingwithsphere 3 ай бұрын
It's just a slightly modified wezterm ! Ill post a config video soon. I aliased a program called "lsd" that adds icons to ls
@teesh3rt
@teesh3rt Ай бұрын
holy shit your dotfiles look good
@codingwithsphere
@codingwithsphere Ай бұрын
thanks !
@john-schumandr
@john-schumandr 8 күн бұрын
why do you have all raylib keywords in your autocompletion? how to set it up?
@adamrushford
@adamrushford Ай бұрын
This'll be handy
@Sir.Aymoon
@Sir.Aymoon 3 ай бұрын
How does LSP diagnostics look like this?
@codingwithsphere
@codingwithsphere 3 ай бұрын
@@Sir.Aymoon lsp_lines.nvim
@Sir.Aymoon
@Sir.Aymoon 3 ай бұрын
@@codingwithsphere thank you
@alexdefoc6919
@alexdefoc6919 2 ай бұрын
Dear sir please tell me what terminal you are using and what you are using to have separate tiles/panels. I use wezterm with the powershell shell but it starts slooow like 2 seconds with my powershell profile which is basically none.
@codingwithsphere
@codingwithsphere 2 ай бұрын
I also use wezterm with powershell. the slow startup might be due to windows defender. as for tiling, I use GlazeWM for that.
@Ben-rc9br
@Ben-rc9br 3 ай бұрын
I see developer use Vim, I subscribe.
@sampleee
@sampleee 3 ай бұрын
i have no idea what your text editor is but i NEED IT please tell me what that beautiful piece of software is called
@sampleee
@sampleee 3 ай бұрын
clearly its vim but how do you have intellisense
@codingwithsphere
@codingwithsphere 3 ай бұрын
@@sampleee neovim with a lot of plugins for lsp support and autocompletion. The config is on my github
@sampleee
@sampleee 3 ай бұрын
@@codingwithsphere
@GiovanniCKC
@GiovanniCKC 3 ай бұрын
Was looking for this lol. The completions with all the argument descriptions is very nice.
@john-schumandr
@john-schumandr 11 күн бұрын
can i use ruby &/ crystal in raylib?
@ashtonkusmaul6907
@ashtonkusmaul6907 3 ай бұрын
Also is rust worth using or do you just know c++ better?
@codingwithsphere
@codingwithsphere 3 ай бұрын
Rust is great, I like both
@-marin4332
@-marin4332 3 ай бұрын
@@codingwithspheremaybe you could take a look at macroquad which is a raylib inspired game framework for rust
@emptycode1782
@emptycode1782 2 ай бұрын
Almost all languages are worth using if you know what you are doing :D
@danielpayne7192
@danielpayne7192 Ай бұрын
What keyboard are you using and can I have it?
@ahmadfatayerji8102
@ahmadfatayerji8102 3 ай бұрын
Hey dude great video here i was kind of interested in your windows setup and how do you do the search thing? Like the way you open the browser
@codingwithsphere
@codingwithsphere 3 ай бұрын
I made a video on it ! kzbin.info/www/bejne/fWHCqImCna5getU
@AliErtugay
@AliErtugay 3 ай бұрын
When can we get a continuation to the Minecraft series please
@LernerLuis2005
@LernerLuis2005 Ай бұрын
I love those configs of your nvim, can i see the plugins or configs you got there?
@codingwithsphere
@codingwithsphere Ай бұрын
Yes, I made a video on it not too long ago. It's also on my github
@LernerLuis2005
@LernerLuis2005 Ай бұрын
@@codingwithsphere amazing comrade
@bibliusz777
@bibliusz777 Ай бұрын
Hi. Do you have work besides personal projects? I don't and I don't know what I am doing wrong
@ayoubelmhamdi7920
@ayoubelmhamdi7920 3 ай бұрын
The short video is great, but the fast video lost concentration, the auto formatting in a video and snippet and lsp is so annoying, the pure vim with compiler (jumplist) is enough to produce a cool video, i try to flow video because i want to know if the application re_render again and again every fps: 60 times in a second.
@zmynz
@zmynz 4 күн бұрын
Dot files for nvim/vim??
@NextMomentOnEarth
@NextMomentOnEarth 2 ай бұрын
How do you make your cat look like that
@codingwithsphere
@codingwithsphere Ай бұрын
im using "bat" and aliasing it to cat
@yogxoth1959
@yogxoth1959 2 ай бұрын
Which terminal is that? Not Windows Terminal, or?
@codingwithsphere
@codingwithsphere 2 ай бұрын
Wezterm
@thundertastic896
@thundertastic896 3 ай бұрын
Kinda off topic but what plugin are you using for the errors in your buffer? First time seeing such neat errors in the buffer.
@codingwithsphere
@codingwithsphere 3 ай бұрын
lsp_lines.nvim
@tokisuno
@tokisuno 3 ай бұрын
this is super interesting
@kairu_b
@kairu_b 3 ай бұрын
Satisfying
@ovi1326
@ovi1326 3 ай бұрын
What's the font called? Also people mentioned this already but never seen such a r/unixp*rn windows setup, giant props
@mr.shredder5430
@mr.shredder5430 3 ай бұрын
im a beginner, im curious to know if a normal desktop or any app runs on a loop like a game does
@codingwithsphere
@codingwithsphere 3 ай бұрын
@@mr.shredder5430 technically there is a loop for waiting for events, but most traditional apps are rendered in retained mode. The app is rendered, and only portions are rerendered when needed. This approach rerendered the entire screen every frame. This is more cpu intensive, but can be good for highly dynamic ui
@catfan5618
@catfan5618 3 ай бұрын
What is the color scheme? Looks clean.
@codingwithsphere
@codingwithsphere 3 ай бұрын
Base-16-black-metal-gorgoroth with some minor tweaks
@catfan5618
@catfan5618 3 ай бұрын
@@codingwithsphere Thanks!
@vendingmachine208
@vendingmachine208 3 ай бұрын
What terminal is this?
@codingwithsphere
@codingwithsphere 3 ай бұрын
@@vendingmachine208 wezterm
@primalaspid7197
@primalaspid7197 3 ай бұрын
What kind of cat command is that?
@codingwithsphere
@codingwithsphere 3 ай бұрын
It's bat aliased to cat
@primalaspid7197
@primalaspid7197 3 ай бұрын
@@codingwithsphere thanks!
@xtan-io
@xtan-io 3 ай бұрын
Keyboard?
@codingwithsphere
@codingwithsphere 3 ай бұрын
Record Alice v2 with gateron 3.0 reds
@RemainingAxis565
@RemainingAxis565 3 ай бұрын
Anyone here looking for the wendy's kraby patty
@metamud8686
@metamud8686 3 ай бұрын
Funny to see how you go back to the way UIs were built in the 90s, throwing out all advancement that was made since and go back to calculating offsets and doing all the crap that you can abstract from using modern day libraries, just to go back to doing e-ve-ry-thing using pixel coordinates. Including all the bugs associated with that.
@brahillms1374
@brahillms1374 3 ай бұрын
nice bait attempt
@mehmeh8883
@mehmeh8883 3 ай бұрын
More Raylib content!
@balodoc
@balodoc Ай бұрын
tsoding? haha
@fsocietytrading
@fsocietytrading 3 ай бұрын
pls your starship cfg
@codingwithsphere
@codingwithsphere 3 ай бұрын
I dont use starship
@sadmankabir5416
@sadmankabir5416 Ай бұрын
hey man, I like your vids. plz make moar
@songxu7837
@songxu7837 Ай бұрын
I still like vscode
@joa-p2m
@joa-p2m 3 ай бұрын
Vi 🗿
@tezkalow
@tezkalow 3 ай бұрын
thats the way i hate qt for being gigabytes bloated
@SianaGearz
@SianaGearz 3 ай бұрын
Unless you put QtQuick in, it's really absolutely not. There's still a fair few megabytes there, but i mean it also handles internationalisation and accessibility and various other advanced system interfacing, something none of ad-hoc game-framework based UI ever does.
@tezkalow
@tezkalow 3 ай бұрын
​@@SianaGearz qt-everywhere-src-6 8 0 zip is 1.5G. its that bloated already without design tools. ofc compiled binary size is much smaller but the overhead to setup qt is huge and is an overkill for simple GUI usage. Commercial apps may need features like i18n and accessibility, but many open-source projects don't.
@spoonikle
@spoonikle 3 ай бұрын
Gezz… Would rather just make a single page vanilla javascript app
@user-sb5vt8iy5q
@user-sb5vt8iy5q 3 ай бұрын
I don't even care about the video I care about how you got those tiny language icons in front of every filename
@codingwithsphere
@codingwithsphere 3 ай бұрын
If you're talking about my "ls", im using a program called "lsd" and aliased it to override the default
@user-sb5vt8iy5q
@user-sb5vt8iy5q 3 ай бұрын
@@codingwithsphere yeah that was it thanks
@yooyo3d
@yooyo3d 3 ай бұрын
So, your todo app spin cpu core at 100% doing nothing unless you turn on vsync. Imgui is just bad.
@chxnt4202
@chxnt4202 3 ай бұрын
this is not imgui its raygui imgui is a great library just not designed for desktop apps since its an intermediate mode library
@Bobbias
@Bobbias 3 ай бұрын
​​@@chxnt4202to be fair, it's still an immediate mode GUI, which still has the downside of having to fully layout and render the entire GUI every frame. Immediate mode has its place, but there's a good reason most desktop GUIs use retained mode.
@GiovanniCKC
@GiovanniCKC 3 ай бұрын
@@Bobbias serious question-- couldn't you just not call all the drawing functions with an immediate mode GUI sometimes or something along those lines?
@Bobbias
@Bobbias 3 ай бұрын
@@GiovanniCKC the direction of your question (ie optimizing drawing the UI) is literally the line of inquiry that leads to retained mode UI design. Retained mode is basically an optimization to avoid having to relayout/redraw your UI every frame. Sure, you could come up with some sort of in between version using an immediate mode library, but the resulting code would be too complex for what it provides and you'd be better off just using retained mode. The benefit of immediate mode GUI is that it's easier to write and debug, because the UI state is intrinsically linked to the code state, where retained mode loses that property (it has to decouple the UI state from the code state to work). This the choice is a tradeoff: better performance at the cost of more complex and difficult to debug code vs simpler and easier to debug, but slower. This tradeoff is honestly largely irrelevant on modern systems as the time spent drawing an immediate mode GUI will be extremely short unless you're just flat out doing it wrong anyway. The solution to OP's bad take is simply cap your app at vsync.
@GiovanniCKC
@GiovanniCKC 3 ай бұрын
@@Bobbias > direction of your question (ie optimizing drawing the UI) is literally the line of inquiry that leads to retained mode UI design 💀 ah... good to know lol.
@m4rt_
@m4rt_ 3 ай бұрын
Why... what is this mess of a shell. I see Linux static libraries. You have a Linux homefolder... I think. But then you have a C:\ directory inside that. WHY!
@-iIIiiiiiIiiiiIIIiiIi-
@-iIIiiiiiIiiiiIIIiiIi- 3 ай бұрын
There's a special place in hell for people who make TODO apps.
@MykolaTheVaultDweller
@MykolaTheVaultDweller 3 ай бұрын
Thanks for you video, now so called gamedevs will begin writing even more laggy GUI. Re-inventing entire GUI stack will lead to some bugs, and often times developers dont have that much resources to fix everything. In such case, for example, I remember that ImHex (which is written using ImGui and whatever else) is using 100% CPU at background... just because someone didn't implemented proper GL sleep routine. We really dont need gamedevs writing GUI in OpenGL, so please, take this kindly and take down your video for good.
@talideon
@talideon 3 ай бұрын
I beg you're fun at parties.
@brahillms1374
@brahillms1374 3 ай бұрын
whine harder
I'm making a game in Go... My Experience
9:44
Coding with Sphere
Рет қаралды 31 М.
Which game framework should you use?
10:01
Coding with Sphere
Рет қаралды 9 М.
OCCUPIED #shortssprintbrasil
0:37
Natan por Aí
Рет қаралды 131 МЛН
I Sent a Subscriber to Disneyland
0:27
MrBeast
Рет қаралды 104 МЛН
Should I have used Unity instead of Raylib for my Indie game?
10:11
Lingon Studios
Рет қаралды 42 М.
How to make a Tilemap & Camera using MonoGame
2:44
GameDev Quickie
Рет қаралды 13 М.
ASTEROIDS in C - Raylib Tutorial Part 1
20:51
Andrew Hamel Codes
Рет қаралды 23 М.
Creating a window - Software from Scratch
1:04:12
Muukid
Рет қаралды 181 М.
Can You Beat Minecraft From One Grass Block?
35:27
Beppo
Рет қаралды 6 МЛН
Can I 100% Superliminal and Get a Refund?
23:36
Gronf
Рет қаралды 335 М.
Making a 2D game in the terminal (Golang)
21:34
Coding with Sphere
Рет қаралды 4,5 М.
I tried React and it Ruined My Life
1:19:10
Tsoding Daily
Рет қаралды 160 М.
An Introduction to Raylib
44:17
Coding with Sphere
Рет қаралды 7 М.
OCCUPIED #shortssprintbrasil
0:37
Natan por Aí
Рет қаралды 131 МЛН