Why I use Odin for Game and Engine Development | Solar Storm Devlog 0

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ค. 2024
  • A short video essay about why I enjoy using Odin and custom game engines.
    Check out my upcoming game Solar Storm, there is a free demo on Steam. The game is written from scratch in Odin and uses Sokol.
    store.steampowered.com/app/27...
    Discord Server:
    / discord
    You can also follow me on twitter, that's where I'm the most active
    / jakubtomsu_
    My Rendering Article:
    jakubtomsu.github.io/posts/so...
    Timestamps:
    0:00 Intro
    0:23 Solar Storm
    1:32 Custom Engines
    2:09 Libraries can help
    2:52 Shipping vs Learning
    3:31 What is Odin?
    4:47 Simplicity
    5:41 Odin in Gamedev
    6:29 Math
    7:14 Datatypes
    9:09 Data-oriented features
    10:09 Potential Drawbacks
    10:29 Odin Resources
    10:50 Outro
    Odin Resources:
    Odin overview page: odin-lang.org/docs/overview/
    Karl Zylinski has many interesting videos about Odin and Gamedev
    Raylib + Odin tutorial series: • Make games using Odin ...
    5 reasons why Odinlang is great for gamedev: • 5 reasons why Odinlang...
    Rickard Andersson makes videos about Odin and programming: / @mccgonzooo
    #gamedev #odin #odinlang #programming

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

  • @tedbendixson
    @tedbendixson หลายเดือนก่อน +25

    Congrats on launching your game! I'm seeing so many more people actually launching games using Odin than pretty much any of the other new languages.

  • @Marco-pz5dx
    @Marco-pz5dx หลายเดือนก่อน +15

    Really impressive, it's not easy to pull off a game and custom engine even with the amazing sokol library for the heavy lifting when it comes to platform layer things. Would love to see more and learn!

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

      Thank you! I would definitely like to make more videos and write some articles!

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

    Thanks for this! It would be pretty cool a video about how you structure data for your game or an example project, especially enum arrays and bit sets since I haven't quite grasped those yet

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

      Yeah for sure, I didn't explain them in depth in this video, but they are super useful features. I could write a blog post or make a video about it...
      In the meantime, the odin docs should be good enough to understand the basics usage

  • @domovoi_0
    @domovoi_0 หลายเดือนก่อน +4

    Gigabrain man.
    Love and blessings!

  • @perkele1989
    @perkele1989 หลายเดือนก่อน +10

    This video is the start of a great new channel.

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

      thank you!

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

    Nice video bro

  • @tsunamio7750
    @tsunamio7750 12 วันที่ผ่านมา

    It looks super nice!

  • @actualFix
    @actualFix หลายเดือนก่อน +12

    Odin + Custom Engine gang rise up!

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

      Hell yeah!!🔥

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

    This looks awesome! Mega original worms vibes.

  • @teodorslavik1848
    @teodorslavik1848 หลายเดือนก่อน +4

    Wow Odin is super cool!!!

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

      Hell yeah!!

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

    Cool game. Odin looks interesting and has some nice ideas. I personally want to wait for version 1.0.

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

    Interesting. More and more people seem to be using odin, its definitily on my list.

  • @imJeNaiKe
    @imJeNaiKe 22 วันที่ผ่านมา +1

    Loved the presentation
    I'll try to copy rimworld as first project to learn, what can go wrong

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

    Amazing video! I've been creating a game in unreal and plan on continuing, but eventually I want to try to create a game engine so I can really get the understanding of how everything works. One think I would say, is that if you could try to speak a bit louder and clearer that would really be great!

  • @MagnusNemo-xc5nx
    @MagnusNemo-xc5nx หลายเดือนก่อน +1

    Love me some Odin

  • @pedrolucas-fx6oz
    @pedrolucas-fx6oz หลายเดือนก่อน +1

    Super cool video

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

      Thanks!

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

    Ahoj, hustá hra, hustý engine, taky mám rád odin, je nejlepší!

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

      Díky! Jsem rád že jsou i další Češi co používají Odin

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

      ​@@jakubtomsuuž o něm vím nějakou dobu, momentálně nestíhám pracovat na projektech v odinu a místo toho píšu go, ale kontext alokátory a chytrý defer mi pěkně chybí...

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

    LET'S GOOOOO

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

      🎉🎉🎉

  • @pushqrdx
    @pushqrdx 22 วันที่ผ่านมา +1

    This looks like Pocket Tanks

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

    Would love to see some tutorials on how to create a simple game engine in Odin

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

      For sure! I could write an article or make a video about something like that. But probably not anytime soon, I'm already super busy :)

    • @geeksuperstar8564
      @geeksuperstar8564 6 วันที่ผ่านมา

      @@jakubtomsu Great, don't worry, take your time. Do you think the language is ready to create a game engine from scratch (maybe port some cpp engine)

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

    First

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

    Oh! It's Qbasic Gorillas, I remember plaing this in the 90s. Will it include hotseat?

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

      Yep, there is local multiplayer:)

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

    I personally would be very interested in a getting started video on how to use Sokol with Odin to the point where I have a sprite displayed and can move it around using mouse / cursor keys.
    Also, is it possible to compile to usable WASM with Odin and Sokol?

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

      I could do something like that once I release my game and have more free time.
      I don't have much experience with WASM, but IIRC some people in the Odin discord server got Raylib and Odin working, so it should be possible. But it's not trivial.

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

      @@jakubtomsu Re: Sokol-Odin-Video: Awesome! Good luck with your game launch next month! Is this your first game release?
      Re: WASM: That's what I thought, thanks for the info!

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

      @@grafgrantula6100 yep, it's my first commercial game!

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

    I'm just getting started with non OOP-languages, would you recommend starting out with C and then switching to Odin to get better appreciation, or to perhaps just commit to say Odin, Zig etc. ?

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

      I think it's probably better to start out with a modern language. That said, you should have a good understanding of C/C++ to be considered a good "systems programmer", since it's the most common language. But most of the concepts you will learn with Odin carry over to other languages like C/Zig/Rust

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

      @rytif, @@jakubtomsu thank you both for your replies :) I'll be getting started with Odin then

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

    The game u have made feels almost same like a android game i cant remeber the exact name but i think its tank stars

  • @DaxSudo
    @DaxSudo 12 วันที่ผ่านมา

    Obligatory Rust comment: Should have used Bevy, did u try rewriting it in Rust?

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

    What is ISPC ?

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

      It's a very high-performance language focused on SPMD programming, which makes it trivial to write good SIMD code
      Read more here: ispc.github.io/ispc.html

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

    I wish it supported exporting natively wasm games, instead of relying on emscriptem and stupidness required for that to work.

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

      It does support WASM natively! I think you only need emscripten when using certain libraries

  • @SadeghMirzaee-fd8lg
    @SadeghMirzaee-fd8lg 25 วันที่ผ่านมา +7

    apart from the content, I really believe that the quality matters.
    So as feedback:
    - increase the volume
    - increase the music volume a bit or choose some more engaging
    - try to speak more dynamic (than monotone) with more energy
    I love the content btw.
    good luck bro! :)

    • @jakubtomsu
      @jakubtomsu  22 วันที่ผ่านมา +2

      Thanks, I'll definitely make sure the audio is better next time haha

    • @Kevinsterkilde
      @Kevinsterkilde 17 วันที่ผ่านมา +1

      Absolutely, good audio goes a long way!

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

    Hi, I have some questions.
    Isn't Odin an unsafe language? I think it's not garbage collected and it offers control over memory.

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

      Odin doesn't have a garbage collector, however it's not as unsafe as some other languages with manual memory management - it has bounds checking for arrays and slices, special allocators which report memory leaks and bad frees, and built-in memory sanitization tools. Also the "idiomatic" style of odin tends to use safer constructs like slices, instead of pointer arithmetic etc.
      So basically odin is much more "safe" than something like C. That said, it's still possible to make mistakes just like in any other language.

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

      @@jakubtomsu Sounds pretty interesting! I should give it a try! However it seems it doesn't support object oriented programming, which is a bit disturbing.

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

      @@system64_MC that's the point, keep it simple and procedural. OOP has many issues Odin is trying to stay away from

  • @gordonfreimann
    @gordonfreimann หลายเดือนก่อน +19

    you mumble too much man. It’s difficult for a non native english speaker to understand everything you say.😢 However, you got me interested in Odin, for that thank you and i wish you success with your game.

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

      Thanks! Yeah I know the audio isn't the best... some people already reached out and gave me tips on how to improve it, so it should be better in future videos

    • @OnyxIdol
      @OnyxIdol 27 วันที่ผ่านมา

      The (auto) captions help me a lot

    • @Urien.
      @Urien. 3 วันที่ผ่านมา

      @@jakubtomsu its not the audio. Speak up.

  • @user-ek2jc1xf3y
    @user-ek2jc1xf3y หลายเดือนก่อน +1

    haven't seen anything about mobile support either and wasm is a pain in the a$$ to setup.
    better off with anything else for now, it looks good but reality is that it is not production ready.

  • @J.B_alpharius
    @J.B_alpharius หลายเดือนก่อน +1

    Firstier

  • @UcheOgbiti
    @UcheOgbiti 13 วันที่ผ่านมา

    I can barely hear you man

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

    first

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

      You're the firstiest

  • @cubingfun_
    @cubingfun_ 17 วันที่ผ่านมา

    Game and engine ? 💀

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

    it's a great language rhat unfortunatwly suffers in performance with it's competition.

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

      Means

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

      Of these new languages, what has the fastest compile & run time then? Any better language design than Odin for your needs?

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

      @@SimGunther odin has fast compile times, among the fastest I've seen, but lags behind in runtime. even Java beats it in some computation heavy benchmarks.
      in the language design category, it's hard to beat odin. only Jon's imaginary language comes close.
      my needs in performance aren't stellar but my needs don't matter for language adoption.

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

      This isn't really true at all - Odin is on par with all other systems programming languages like C/C++/Rust/Zig etc. All of these are based on LLVM so the compiler differences are minimal. The way you write your code is much more important.
      The benchmarks you can find on the internet are just really bad and don't actually tell you anything. They often use a wrong language version, or are just straight up comparing apples to oranges. Almost no benchmarks are a 1:1 comparison.

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

      @@jakubtomsu the benchmarks give a rough idea. when you constantly see the usual suspects in the top tier; c/cpp/rust (and increasingly zig), and the ones you expect to be a close followup; zig, odin, ada, chapel...
      but odin is not there! odin is further below, in many cases below java, c#, go and the like.
      the benchmarks are fairly accurate for what they are meant to convey.

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

    Can't understand a thing you're saying

  • @tsunamio7750
    @tsunamio7750 12 วันที่ผ่านมา

    Even if you speak broken english, or french or any other language... you need to articulate.
    Let your imperfections show and have no fear. Speak forth and brightly dangle your wisdom in your face with you naggingly broken English.
    no-really... I can barely get what you say.
    Just AR-TI-CU-LA-TU!
    Stop caring about what people might think of it. Be proud and loud

  • @user-zq8bt6hv9k
    @user-zq8bt6hv9k หลายเดือนก่อน +2

    Too difficult to understand what you say, invest in a microphone.

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

      I know the audio quality isn't the best, I'll improve it the next time

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