- Видео 139
- Просмотров 177 317
Karl Zylinski
Швеция
Добавлен 4 окт 2019
I teach Odin and how to create video games without an engine. Independent game developer.
Exploring Odin without leaving your editor
Odin Sublime Syntax Highlight: github.com/odin-lang/sublime-odin (can also be installed using package control)
OLS + Sublime Setup video: ruclips.net/video/RF2MgVqfBV8/видео.html
My book "Understand the Odin Programming Language": odinbook.com
A work around for VS Code: Copy the whole core folder to your project (yes, make a copy!) and press Ctrl + T. You can then find rune_at_pos by typing runepos. If you add the space then it doesn't work. This is all of course a huge hack, and one of several reasons why I don't use VS Code.
OLS + Sublime Setup video: ruclips.net/video/RF2MgVqfBV8/видео.html
My book "Understand the Odin Programming Language": odinbook.com
A work around for VS Code: Copy the whole core folder to your project (yes, make a copy!) and press Ctrl + T. You can then find rune_at_pos by typing runepos. If you add the space then it doesn't work. This is all of course a huge hack, and one of several reasons why I don't use VS Code.
Просмотров: 1 585
Видео
I wrote a book about the Odin Programming Language
Просмотров 1,4 тыс.14 дней назад
More about the book: odinbook.com/ Read a free sample: odinbook.com/sample.html Buy on Itch (HTML eBook): zylinski.itch.io/odinbook Buy on Amazon (eBook): www.amazon.com/dp/B0DQ1V7LW4 Understanding the Odin Programming Language is a book that teaches both basic and advanced concepts. You'll learn about variables, constants, procedures, manual memory management, parametric polymorphism, data-ori...
The Odin Holiday Gamejam 2024 ✨ Make a game!
Просмотров 1,5 тыс.14 дней назад
Sign up for the jam: itch.io/jam/odin-holiday-jam If you want to learn Odin ahead of the jam (not required!): 1. Set up Odin, instructions here: odin-lang.org/docs/install/ or follow this setup playlist: ruclips.net/p/PLxE7SoPYTef1yStERdourKEtEH2Jc0opf 2. Follow this video tutorial: ruclips.net/video/lfiQNCNUifI/видео.html 3. For more in-depth knowledge, you can buy my book "Understanding the O...
What are pointers? (Odin)
Просмотров 1,6 тыс.Месяц назад
What are pointers, along with some examples of how to use them. I've written a book about Odin: odinbook.com/ ✨ Support me patreon.com/karl_zylinski
Common mistakes when slicing strings
Просмотров 1,2 тыс.3 месяца назад
How slicing of UTF-8 strings can go wrong when you assume that the slicing operator works on a "per character basis". Support me on Patreon www.patreon.com/karl_zylinski Odin book is now available at: odinbook.com/ Discuss Odin and gamedev on my Discord server: discord.gg/4FsHgtBmFK I do Odin tutoring and code consultation, more info here: zylinski.se/odin-tutoring/ The Odin Programming Langua...
Odin's constants have their own little type system
Просмотров 1,4 тыс.3 месяца назад
Odin's constants have their own little type system
Efficient 2D drawing using generated atlas texture
Просмотров 1,6 тыс.4 месяца назад
Efficient 2D drawing using generated atlas texture
CAT & ONION Soundtrack with (text) commentary
Просмотров 4024 месяца назад
CAT & ONION Soundtrack with (text) commentary
Why building Odin programs is so simple
Просмотров 8 тыс.4 месяца назад
Why building Odin programs is so simple
Generic Odin procedures: Parametric polymorphism
Просмотров 1,5 тыс.4 месяца назад
Generic Odin procedures: Parametric polymorphism
Make games using Odin + Raylib #3: An animated player ✨ RE-UPLOAD
Просмотров 1,4 тыс.5 месяцев назад
Make games using Odin Raylib #3: An animated player ✨ RE-UPLOAD
Make games using Odin + Raylib #2: Move, jump & fall ✨ RE-UPLOAD
Просмотров 1,7 тыс.5 месяцев назад
Make games using Odin Raylib #2: Move, jump & fall ✨ RE-UPLOAD
Make games using Odin + Raylib #1: Setup and first code ✨ RE-UPLOAD
Просмотров 4 тыс.5 месяцев назад
Make games using Odin Raylib #1: Setup and first code ✨ RE-UPLOAD
Odin + Raylib: Breakout game from start to finish
Просмотров 5 тыс.5 месяцев назад
Odin Raylib: Breakout game from start to finish
Odin + Raylib: Snake game from start to finish
Просмотров 5 тыс.6 месяцев назад
Odin Raylib: Snake game from start to finish
Sublime Text + Odin + Code completion
Просмотров 1,9 тыс.6 месяцев назад
Sublime Text Odin Code completion
Setup Odinlang compiler from source on Windows
Просмотров 1,6 тыс.6 месяцев назад
Setup Odinlang compiler from source on Windows
Make games using Odin + Raylib #6: Level editing basics + memory management
Просмотров 2,5 тыс.7 месяцев назад
Make games using Odin Raylib #6: Level editing basics memory management
Make games using Odin + Raylib #5: Platforming mechanics + cleanup
Просмотров 2,2 тыс.7 месяцев назад
Make games using Odin Raylib #5: Platforming mechanics cleanup
indiedevs talk shop #3: Dennis Gustafsson (Teardown, Smash Hit)
Просмотров 1,9 тыс.7 месяцев назад
indiedevs talk shop #3: Dennis Gustafsson (Teardown, Smash Hit)
Next game, Patreon and source code access
Просмотров 1,2 тыс.8 месяцев назад
Next game, Patreon and source code access
Using Odinlang's Tracking Allocator
Просмотров 3,6 тыс.8 месяцев назад
Using Odinlang's Tracking Allocator
indiedevs talk shop #2: Johan Peitz (Orb of Aeternum, Icy Tower, Hellgineers, Cosmic Collapse)
Просмотров 1,2 тыс.8 месяцев назад
indiedevs talk shop #2: Johan Peitz (Orb of Aeternum, Icy Tower, Hellgineers, Cosmic Collapse)
indiedevs talk shop #1: Martin 'grapefrukt' Jonasson (Holedown, Subpar Pool, "Juice it or lose it")
Просмотров 8668 месяцев назад
indiedevs talk shop #1: Martin 'grapefrukt' Jonasson (Holedown, Subpar Pool, "Juice it or lose it")
Make games using Odin + Raylib #4: Adding a second animation and tidying some stuff up
Просмотров 1,8 тыс.9 месяцев назад
Make games using Odin Raylib #4: Adding a second animation and tidying some stuff up
The Zed Editor allows adding external folders to your project and searching. It has Odin LSP plugin, and you can even change the keybindings to match Sublime or VSCode.
If you do a tutorial supported by the book, it will be a great
I bought the book from Amazon, and I am at the beginning. So far, it's good. If I have a note, I will tell you.
Thanks for buying my book!
when I build release get-date.c LINK : fatal error LNK1104: cannot open file 'kernel32.lib' 'misc\get-date' is not recognized as an internal or external command, operable program or batch file. 'rc' is not recognized as an internal or external command, operable program or batch file. main.cpp libtommath.cpp C:\Odin\src\gb\gb.h(202): fatal error C1083: Cannot open include file: 'windows.h': No such file or directory (compiling source file src\main.cpp) 'mt' is not recognized as an internal or external command, operable program or batch file.
Am I late?
Is cross-compiling a thing for Odin? I can't find good documentation anywhere. I'm working on a linux host, trying to build for Windows.
Not really. You should build on Windows. You can cross-compile but not cross-link.
Karl, you're a treasure! Thank you so much for all the work that you put into the community!
Thanks for the content!
This channel has some great stuff to learn. But today's generation doesn't care much about knowledge. They lean more towards hype. Hence the low subs here.
this was fantastic
I got to meet Randy in Chiang Mai where I live, fun guy, very bright. He has actually since moved Sweden I saw on his RUclips channel to do game dev with some other guys.
Was Raylib easy to build cross platform or did you have to spend lots of time fighting with conditional compilation problems? I bought your game on Steam and I love how clean the package came out on macOS. Often one-man devs only support one platform so I'm curious how achieved this.
Odin comes with Raylib pre built for windows, Linux and Mac.
The only reason I learned Odin is to make games, I'm a beginner and this is my first programming language, hopefully it can have a good impact, the syntax is quite simple and neat.
Recommending sublime text in 2024 is based. Great series also
This is very nice. I've never grown to appreciate the complicated systems most languages use just to get started.
linux: ""cmd": ["/path/to/odin" , "run", "$folder"] works, $folder will choose to run odin compiler on the first folder in the left panel, $project , $file_path are also options.
I set my window size 1280x720 and screen size 320. But I think in my case this thing with camera and zoom (scaling logic) does not work correctly because when I move the paddle, it can reach only to the middle of the screen when I move it right.. any ideas why this can happen?
You have great experience in building game engines, it will great if you create more videos creating engines. Working with some real usable stuff. It will be great learning experience for viewers
i loved the way you pronounced str lol
I made a pascal language server and there is a "workspace symbols" command in the spec but it's implemented really poorly both in the LSP and in Sublime Text. You have to bundle all symbols in the project then encode them to JSON and send that 10's of megabytes per text every time it's invoked. The built-in search in ST functions better but it cant' really know about "global" symbols and pulls in lots of other junk. Even so its' good enough and I use that except in VSCode where it's implemented better.
in VS Code there's a command "look for symbol in workplace" and it would be the same as in Sublime. You can add any folder to your workplace. No need for copying files Edit: this command seems to only look on the first folder of the workplace. if anyone knows what's going on, let me know
Yeah, this is what I found too when trying to do this in VS Code... If I have my project as first folder, and then core is second folder, then "Find symbol in workspace..." will not look into the core folder, even though core is part of workspace.
Unfortunately "Go to Symbol in Workspace" (shortcut Ctrl + T) does not seem to work in the added workplace folders. It only looks at the root folder of the workspace. The solution for me is to use Daniel's Gavin Odin Language extension and use "Go to Definition" (shortcut F12) to look the definition in Odin's source file and do manually search from there. Not intuitive as Sublime Text symbol search functionality. But by copying base or core folders to the project does seem to work.
I also found a work around to avoid copying folders. Create a Workspace inside Odin folder (it just adds a <name>.code-workspace file) and open it in a separate VS Code instance. So when you need to search for symbols in Odin codebase, just use this specific instance. Not ideal but it's a solution for VS Code users.
I've just set up similar thing with neovim + telescope after watching this video. Thanks for making this video, this is gonna be super useful!! Also I like that you used '猫' as an example lol
Very happy it gave you some ideas! 😺
Hey Karl, the developer of the IntelliJ plugin here: fuzzy search works globally over all symbols defined in the project, including the Odin SDK. It even works without first specifying the package first. Let me know if you want to give a try sometime.
A work around for VS Code: Copy the whole core folder to your project (yes, make a copy!) and press Ctrl + T. You can then find rune_at_pos by typing #runepos. If you add the space then it doesn't work. This is all of course a huge hack, and one of several reasons why I don't use VS Code.
The tutorial is great, thanks!
I have updated the source on the itch page. I did some additional documentation comment writing after this stream ended: zylinski.itch.io/cat-and-onion/devlog/853950/source-code-improvements Also, the game is on sale right now, both on Steam and Itch. Just $0.98!
How do you declare an array of functions?
arr: [dynamic]proc(int, f32) -> bool For an array of procedures that take an int, an f32 and then return bool Or replace dynamic with a number to get a fixed array
This went over my head..Is there a video that teaches the basics of contexts and allocators?
bought it. amazing book, thank you very much for all the effort you put in. I'm just now realizing that I don't have to wait for JAI when Odin has literally everything I ever wanted out of a programming language.
Thank you 💖
can you compare odin to rust? what are its strengths over rust?
i just bought the book and from what i've read so far it complements the existing material on odin very well, definitely worth it. i also really like that there's an HTML version so it fits in seamlessly with the other references i have open while working
Thank you!
it's a great book!
Thank you Lucy!
Perfect timing, i've been messing around with Odin quite a bit over the last few months. It looks to be an excellent introduction to exploring the more in depth parts of the language
I wish I knew how to read
Bought and already well into it - great book :) !
Thank you! 💖
Will you localize this book into different languages, such as Russian, Ukrainian, etc.?
Perhaps if I do a second edition that I also print. No promises!
@karl_zylinski Ok
@@karl_zylinski I would volunteer to translate it into Ukrainian, if you plan to localize it to different languages.
@@Lavashyk thank you, I'll keep it mind ❤️
I bought the book this morning, it has already been immensely helpful for understanding the language and it's features. Thank you for taking the time, I hope you keep updating the book with even more knowledge in the future.
That's wonderful to hear, thank you!
Amazing! thank you! 👍
And another thing: I am hosting an Odin Gamejam between December 27 and 29, 2024! Make a game using Odin within 48 hours. Sign up here: itch.io/jam/odin-holiday-jam
Great job! I wish I had the patience to write books. I'm sticking with Rust for now, but I will definitely check it out.
34:01 this technique is called sliding window and it's so efficient, big brain ideas karl !!!
Thanks, just bought your book and started reading!
This is a great idea! We need this kind of events to make Odin more popular I will try to participate, but I will be visiting my family during these 2 days and having time to code will not be easy, and maybe even totally impossible. We will see!
Hi Karl. What about 2d arrays in Odin?
You can do [20][20]int to make a fixed 2D array. But I usually recommend to make a 1D array and index it using `idx := y*width + x`
I have been waiting for this ever since you announced it! Can’t wait to get home and get it. Big fan of your content! Congratulations on this awesome accomplishment
Thank you!! 💖
This will be fun just joined and will streame the hole thing
Great idea!
Just joined! We'll see what kind of monstrosity I come up with lol. I'm not very experienced, but this seems fun
Yeah, it's all about having fun!
cool 🎉