Making a Desktop App with a Game Library

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ธ.ค. 2024

ความคิดเห็น • 117

  • @gorudonu
    @gorudonu หลายเดือนก่อน +137

    windows with nvim and tiling window manager, I'm scared of you

    • @lowerclasswarfare
      @lowerclasswarfare หลายเดือนก่อน +8

      You can create panes in vim/nvim.

  • @CodeCupboard
    @CodeCupboard 2 หลายเดือนก่อน +53

    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  2 หลายเดือนก่อน +13

      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 หลายเดือนก่อน +23

    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 2 หลายเดือนก่อน +41

    I fully thought you were using linux until your said c:/ directory lol

  • @DrNabeel20
    @DrNabeel20 2 หลายเดือนก่อน +8

    Great video as usual!. I developed GUI library in lua for this purpose, now I can use love2d to make a desktop app :D

  • @hamzarashid7579
    @hamzarashid7579 หลายเดือนก่อน +30

    The keyboard sound is so good

    • @vlc-cosplayer
      @vlc-cosplayer หลายเดือนก่อน +4

      Nah, they sound like goofy ahh skeleton SFX from a 30's cartoon 💀💀

  • @GuildOfCalamity
    @GuildOfCalamity หลายเดือนก่อน +1

    Great 1st vid on RL, this could be a cool series!

  • @KrisStruble
    @KrisStruble 2 หลายเดือนก่อน +5

    You sir are living my dream.

  • @bashbarash1148
    @bashbarash1148 2 หลายเดือนก่อน +33

    raylib is a perfect tool for this stuff. Especially if you combine it with imgui. This combo destroys any QT-like juggernaut

    • @amirrezaghorbani2715
      @amirrezaghorbani2715 หลายเดือนก่อน +15

      Untill you get to i18n and RTL Font rendering.

    • @tommasobonvicini7114
      @tommasobonvicini7114 หลายเดือนก่อน

      I don't know, it's definitely lightweight, but looks and feels like shit

    • @SianaGearz
      @SianaGearz หลายเดือนก่อน

      @@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 หลายเดือนก่อน

      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 หลายเดือนก่อน +1

      Is there a visual form designer? Because laying every widget out in code gets old fast.

  • @sledgex9
    @sledgex9 หลายเดือนก่อน +9

    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  หลายเดือนก่อน +1

      Yeah i realized that after recording, it's been a minute since Ive used C/C++ lol

  • @blvckbytes7329
    @blvckbytes7329 หลายเดือนก่อน

    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! :)

  • @chxnt4202
    @chxnt4202 2 หลายเดือนก่อน +3

    you can combine this very easily with a html renderer like ultralight aswell to get a very customizable ui

  • @zombiezoo1384
    @zombiezoo1384 หลายเดือนก่อน +2

    That is nice, i will try the same in golang raylib

  • @lifelover69
    @lifelover69 หลายเดือนก่อน

    cool video, raylib and raygui are really exciting alternatives compared to shipping chromium with every app :) thanks

  • @CarlSenior-ru8dx
    @CarlSenior-ru8dx หลายเดือนก่อน

    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

  • @neto3641
    @neto3641 2 หลายเดือนก่อน

    Wasn't aware of this, very cool stuff

  • @elektronischermeister
    @elektronischermeister หลายเดือนก่อน +1

    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  หลายเดือนก่อน

      Hi, I made a video on it!
      th-cam.com/video/ZqPpBfiX9ws/w-d-xo.html

  • @arushford
    @arushford วันที่ผ่านมา

    This'll be handy

  • @teesh3rt
    @teesh3rt วันที่ผ่านมา

    holy shit your dotfiles look good

  • @Bleb1k_irl
    @Bleb1k_irl หลายเดือนก่อน +2

    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  หลายเดือนก่อน

      It's just a slightly modified wezterm ! Ill post a config video soon. I aliased a program called "lsd" that adds icons to ls

  • @Kiro1900k
    @Kiro1900k หลายเดือนก่อน +2

    What font are you using, And the theme?

    • @codingwithsphere
      @codingwithsphere  หลายเดือนก่อน

      @@Kiro1900k iosevka and base16-black-metal-gorgoroth

  • @AnimeGeek32
    @AnimeGeek32 หลายเดือนก่อน

    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 8 วันที่ผ่านมา

      I agree, I also find it complicated and messy.

  • @Sir.Aymoon
    @Sir.Aymoon 2 หลายเดือนก่อน +3

    How does LSP diagnostics look like this?

    • @codingwithsphere
      @codingwithsphere  หลายเดือนก่อน

      @@Sir.Aymoon lsp_lines.nvim

    • @Sir.Aymoon
      @Sir.Aymoon หลายเดือนก่อน

      @@codingwithsphere thank you

  • @Ben-rc9br
    @Ben-rc9br หลายเดือนก่อน

    I see developer use Vim, I subscribe.

  • @kairu_b
    @kairu_b หลายเดือนก่อน

    Satisfying

  • @alexdefoc6919
    @alexdefoc6919 หลายเดือนก่อน

    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  หลายเดือนก่อน

      I also use wezterm with powershell. the slow startup might be due to windows defender. as for tiling, I use GlazeWM for that.

  • @Bhanukamax
    @Bhanukamax หลายเดือนก่อน +2

    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 TH-cam video

    • @codingwithsphere
      @codingwithsphere  หลายเดือนก่อน +1

      @@Bhanukamax I definitely plan on making a video on it soon ! It's wezterm with GlazeWM and zebar and a few other small tweaks

  • @ahmadfatayerji8102
    @ahmadfatayerji8102 หลายเดือนก่อน

    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  หลายเดือนก่อน

      I made a video on it ! th-cam.com/video/G0_wVLhI-Ds/w-d-xo.html

  • @ashtonkusmaul6907
    @ashtonkusmaul6907 หลายเดือนก่อน +1

    Also is rust worth using or do you just know c++ better?

    • @codingwithsphere
      @codingwithsphere  หลายเดือนก่อน +1

      Rust is great, I like both

    • @-marin4332
      @-marin4332 หลายเดือนก่อน

      @@codingwithspheremaybe you could take a look at macroquad which is a raylib inspired game framework for rust

    • @emptycode1782
      @emptycode1782 หลายเดือนก่อน

      Almost all languages are worth using if you know what you are doing :D

  • @LernerLuis2005
    @LernerLuis2005 11 วันที่ผ่านมา

    I love those configs of your nvim, can i see the plugins or configs you got there?

    • @codingwithsphere
      @codingwithsphere  7 วันที่ผ่านมา +1

      Yes, I made a video on it not too long ago. It's also on my github

    • @LernerLuis2005
      @LernerLuis2005 7 วันที่ผ่านมา

      @@codingwithsphere amazing comrade

  • @ayoubelmhamdi7920
    @ayoubelmhamdi7920 หลายเดือนก่อน

    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.

  • @sampleee
    @sampleee 2 หลายเดือนก่อน +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 2 หลายเดือนก่อน

      clearly its vim but how do you have intellisense

    • @codingwithsphere
      @codingwithsphere  2 หลายเดือนก่อน +1

      @@sampleee neovim with a lot of plugins for lsp support and autocompletion. The config is on my github

    • @sampleee
      @sampleee หลายเดือนก่อน

      @@codingwithsphere

    • @GiovanniCKC
      @GiovanniCKC หลายเดือนก่อน +2

      Was looking for this lol. The completions with all the argument descriptions is very nice.

  • @tokisuno
    @tokisuno 2 หลายเดือนก่อน

    this is super interesting

  • @AliErtugay
    @AliErtugay หลายเดือนก่อน

    When can we get a continuation to the Minecraft series please

  • @vorenxiii
    @vorenxiii 2 หลายเดือนก่อน +2

    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 หลายเดือนก่อน +1

      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.

    • @vorenxiii
      @vorenxiii หลายเดือนก่อน +1

      @@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 หลายเดือนก่อน

      Try Qt, it's easy and fun to learn.

    • @vorenxiii
      @vorenxiii หลายเดือนก่อน

      Sure thing boss.

  • @yogxoth1959
    @yogxoth1959 หลายเดือนก่อน

    Which terminal is that? Not Windows Terminal, or?

  • @thundertastic896
    @thundertastic896 2 หลายเดือนก่อน +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.

  • @ovi1326
    @ovi1326 หลายเดือนก่อน

    What's the font called? Also people mentioned this already but never seen such a r/unixp*rn windows setup, giant props

  • @vendingmachine208
    @vendingmachine208 2 หลายเดือนก่อน +1

    What terminal is this?

    • @codingwithsphere
      @codingwithsphere  2 หลายเดือนก่อน +1

      @@vendingmachine208 wezterm

  • @mr.shredder5430
    @mr.shredder5430 หลายเดือนก่อน

    im a beginner, im curious to know if a normal desktop or any app runs on a loop like a game does

    • @codingwithsphere
      @codingwithsphere  หลายเดือนก่อน

      @@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

  • @NextMomentOnEarth
    @NextMomentOnEarth 29 วันที่ผ่านมา

    How do you make your cat look like that

    • @codingwithsphere
      @codingwithsphere  7 วันที่ผ่านมา

      im using "bat" and aliasing it to cat

  • @catfan5618
    @catfan5618 2 หลายเดือนก่อน

    What is the color scheme? Looks clean.

    • @codingwithsphere
      @codingwithsphere  หลายเดือนก่อน +1

      Base-16-black-metal-gorgoroth with some minor tweaks

    • @catfan5618
      @catfan5618 หลายเดือนก่อน

      @@codingwithsphere Thanks!

  • @mehmeh8883
    @mehmeh8883 หลายเดือนก่อน

    More Raylib content!

  • @primalaspid7197
    @primalaspid7197 หลายเดือนก่อน

    What kind of cat command is that?

  • @metamud8686
    @metamud8686 หลายเดือนก่อน +5

    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 หลายเดือนก่อน +4

      nice bait attempt

  • @xtan-io
    @xtan-io หลายเดือนก่อน

    Keyboard?

    • @codingwithsphere
      @codingwithsphere  หลายเดือนก่อน

      Record Alice v2 with gateron 3.0 reds

  • @RemainingAxis565
    @RemainingAxis565 2 หลายเดือนก่อน +2

    Anyone here looking for the wendy's kraby patty

  • @joa-p2m
    @joa-p2m 2 หลายเดือนก่อน

    Vi 🗿

  • @songxu7837
    @songxu7837 วันที่ผ่านมา

    I still like vscode

  • @fsocietytrading
    @fsocietytrading หลายเดือนก่อน

    pls your starship cfg

  • @spoonikle
    @spoonikle หลายเดือนก่อน

    Gezz… Would rather just make a single page vanilla javascript app

  • @balodoc
    @balodoc 8 วันที่ผ่านมา

    tsoding? haha

  • @tezkalow
    @tezkalow หลายเดือนก่อน

    thats the way
    i hate qt for being gigabytes bloated

    • @SianaGearz
      @SianaGearz หลายเดือนก่อน +1

      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 หลายเดือนก่อน

      ​@@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.

  • @user-sb5vt8iy5q
    @user-sb5vt8iy5q หลายเดือนก่อน

    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  หลายเดือนก่อน +1

      If you're talking about my "ls", im using a program called "lsd" and aliased it to override the default

    • @user-sb5vt8iy5q
      @user-sb5vt8iy5q หลายเดือนก่อน

      @@codingwithsphere yeah that was it thanks

  • @m4rt_
    @m4rt_ หลายเดือนก่อน

    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- หลายเดือนก่อน

    There's a special place in hell for people who make TODO apps.

  • @yooyo3d
    @yooyo3d 2 หลายเดือนก่อน

    So, your todo app spin cpu core at 100% doing nothing unless you turn on vsync.
    Imgui is just bad.

    • @chxnt4202
      @chxnt4202 2 หลายเดือนก่อน

      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 2 หลายเดือนก่อน +2

      ​​@@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 หลายเดือนก่อน

      @@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 หลายเดือนก่อน +4

      @@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 หลายเดือนก่อน

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

  • @MykolaTheVaultDweller
    @MykolaTheVaultDweller หลายเดือนก่อน

    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 หลายเดือนก่อน +2

      I beg you're fun at parties.

    • @brahillms1374
      @brahillms1374 หลายเดือนก่อน

      whine harder