- 29
- 1 657 532
Tom Delalande
Australia
เข้าร่วมเมื่อ 6 ม.ค. 2024
I'm a software engineer talking about whatever interests me most right now.
The game of the year was written in Lua
Balatro is an extremely successful game that was created using the Love2D framework in Lua. I found that pretty interesting so I decided to explore Love2D a little to try and re-create some of that Balatro magic. A journey which gave me a new appreciation for shaders.
I have no talent please forgive my terrible code.
Balatro - store.steampowered.com/app/2379780/Balatro/
LocalThunk - bsky.app/profile/localthunk.bsky.social
Github Repo - github.com/tom-delalande/love2d-example
CRT Shader - www.shadertoy.com/view/Ms23DR
Greek Temple Tutorial - th-cam.com/video/-pdSjBPH3zM/w-d-xo.html
Forum Post on Conversion - love2d.org/forums/viewtopic.php?p=236577#p236577
Love2D: love2d.org/
Lua: www.lua.org/
Aseprite: www.aseprite.org/
I have no talent please forgive my terrible code.
Balatro - store.steampowered.com/app/2379780/Balatro/
LocalThunk - bsky.app/profile/localthunk.bsky.social
Github Repo - github.com/tom-delalande/love2d-example
CRT Shader - www.shadertoy.com/view/Ms23DR
Greek Temple Tutorial - th-cam.com/video/-pdSjBPH3zM/w-d-xo.html
Forum Post on Conversion - love2d.org/forums/viewtopic.php?p=236577#p236577
Love2D: love2d.org/
Lua: www.lua.org/
Aseprite: www.aseprite.org/
มุมมอง: 48 926
วีดีโอ
Why Melee Is Still The Best Fighting Game - Melee Modding Explained
มุมมอง 6K14 วันที่ผ่านมา
UnclePunch Patreon: www.patreon.com/UnclePunch Slippi Donations: slippi.gg Timestamps 0:00 - Intro 0:39 - Melee 3:16 - 20XX 4:35 - Dolphin 4:59 - Assembly 8:00 - Gecko Codes 9:30 - Smash 4 & Ultimate 10:16 - Uncle Punch's Training Mode 12:36 - Slippi 14:20 - Slippi Replay 17:09 - Rollback Netcode 18:47 - Input Lag 21:04 - Outro References Netplay Desync: th-cam.com/video/h-fv1e6-XTc/w-d-xo.html...
How 1 Software Engineer Outperforms 138 - Lichess Case Study
มุมมอง 264Kหลายเดือนก่อน
This is a case study on the Lichess product. A free and open source chess platform with over 4 million monthly active users and 1 core developer. The stack he uses is Scala, MongoDB and Snabbdom hosted on bare metal. This is an incredibly interesting project that I enjoyed studying to understand productivity. This is a new format so I'm interest to hear your feedback. I had a lot of fun studyin...
The Best Terminal Shell Ever Created
มุมมอง 54K2 หลายเดือนก่อน
shell shells shell shells by the shell shore
How Garbage Collection Works
มุมมอง 14K2 หลายเดือนก่อน
This is a video about garbage collection, some information may be wrong or oversimplified. Leave your opinions and corrections below so that I can ignore them since reading comments stresses me out. Please subscribe, as a human I have been conditioned to care about base 10 numbers and my brain will release happy chemicals when I reach the next one. Some useful links: - maplant.com/2020-04-25-Wr...
Swift for Android, Kotlin for iOS
มุมมอง 13K4 หลายเดือนก่อน
I haven't taken a look at new mobile development tools for a while. So I decided to explore some cross platform native tool-chains. github.com/thebrowsercompany/windows-samples github.com/readdle/swift-android-buildtools skip.tools/ github.com/android/compose-samples developer.apple.com/tutorials/sample-apps
I re-created the game of life in Assembly
มุมมอง 22K5 หลายเดือนก่อน
github.com/tom-delalande/learning-language-abstraction This video is for entertainment purposes only, you probably shouldn't do as I say or as I do. I wanted to do something a little more significant than a 'Hello world' in Assembly so I decided to tackle the game of life. I took the opportunity to try and recreate some of my favourite programs in low level languages. Including a Vi clone in C ...
AI is more than just ChatGPT
มุมมอง 4.9K5 หลายเดือนก่อน
In my mental model of AI there are 5 levels: Level 1: Decision tree Level 2: State machine Level 3: Mathematical algorithms Level 4: Neural networks Level 5: General Neural networks I think we tend to focus too much on ChatGPT instead of implementing useful AI systems. AI can be refreshingly simple and to prove that I implemented a short demo for each of the mentioned levels using pure HTML, CS...
Why YouTube has blank boxes when loading
มุมมอง 4.6K5 หลายเดือนก่อน
I wanted to dig into why TH-cam has these blank boxes when loading. It's a simple answer, but optimization is a very interesting topic. Developers use techniques like minifying, compression and caching to make the websites you use every day load faster. They also try to improve cumulative layout shift so that the experience is more pleasant. This is a more beginner friendly video than usual, le...
JWTs are insecure session tokens
มุมมอง 28K6 หลายเดือนก่อน
I've often seen hate for JWTs online, but never really understood why they we're seen as badly designed and insecure. So I did some digging and came to my conclusion. Which is that JWTs are a good method of authentication, but bad session tokens. Basic opaque session tokens are usually the way to go. Using stateless tokens has many added costs, while not providing that many benefits in practice.
Authentication is a developer nightmare
มุมมอง 61K6 หลายเดือนก่อน
authn.tinyclub.io Music: th-cam.com/video/jUkI7Ixiqgk/w-d-xo.html Let's talk about authentication. I would like to show how easy it is to implement authentication with 3 different methods. Password, Oauth2 (or social login) and passkeys. They all have their benefits and drawbacks but hopefully this video is a fun way to understand how the systems powering authentication actually work. I've also...
The cloud is over-engineered and overpriced (no music)
มุมมอง 691K6 หลายเดือนก่อน
I tried the music and the feedback is clear enough that I think it's worth uploading a version of this with no music. I'm still learning! I'm sorry :( I really liked the riff I wrote for the intro since it has a time signature of 7/4 but I got carried away a bit... Let's spin up a server a simpler way.I'm experimenting with some background music, let me know what you think.In this video I will ...
The cloud is over-engineered and overpriced
มุมมอง 118K6 หลายเดือนก่อน
Let's spin up a server a simpler way. I'm experimenting with some background music, let me know what you think. In this video I will be showing how to use fundamentals to spin up a server, replacing cloud providers like AWS, Google Cloud Provider and Microsoft Azure with Linux, Docker and Git. For many applications, the tools we use are grossly over-engineered. I'm trying to force myself to ret...
My latest weekend project. Mixing the scalability of SQL and with the easy of use of spreadsheets
มุมมอง 8K7 หลายเดือนก่อน
My latest weekend project. Mixing the scalability of SQL and with the easy of use of spreadsheets
Comparing 10 programming languages. I built the same app in all of them.
มุมมอง 176K7 หลายเดือนก่อน
Comparing 10 programming languages. I built the same app in all of them.
How leveraging events can simplify your app
มุมมอง 13K8 หลายเดือนก่อน
How leveraging events can simplify your app
My opinion on Pkl (Apple's new configuration format)
มุมมอง 2.3K9 หลายเดือนก่อน
My opinion on Pkl (Apple's new configuration format)
Making Poker with HTMX: Real time multiplayer using SSR with Kotlin, HTMX and Tailwind
มุมมอง 3.2K9 หลายเดือนก่อน
Making Poker with HTMX: Real time multiplayer using SSR with Kotlin, HTMX and Tailwind
Implementing Passkeys with no dependencies
มุมมอง 2.7K9 หลายเดือนก่อน
Implementing Passkeys with no dependencies
Why Kotlin is the best language to use with HTMX
มุมมอง 9K10 หลายเดือนก่อน
Why Kotlin is the best language to use with HTMX
Everything about this game makes me love game development even more
Super informative video, thank you!!
I had no idea what game was this, but then you showed it and I was like "Wait, isn't this the mini-game from Dave The Diver??" and then I found out they added it as a collab before I bought the game 😅
bro anthers ladder exists lol
Man, Lua is such an underrated language. You know I'm pretty sure mods for Garry's Mod are written in Lua. Unbelievably powerful stuff!
Ugh, Jonathan Blow is such a dick
You know who else loves Lua? John Romero. I'm serious, he thinks writing games in Lua is as fun as writing games in the 80s.
why is a card game nominated? i'm really surprised.
Hello guys my name is Multiplier
will this do for lua what undertale did for game maker?
wait, so one of my favorite game right now was made in one of my favorite languages, which im currently learning? nice
this guy made this video just so he could say “I use vim btw” at 1:39. Don't lie to us! I will subscribe now. Thanks.
Lua is awesome!
Love2d uses SDL which is much better
"backwards-compatible, but not always" 😂😂❤
linux manifesto os providing tools instead of "solutions"
Had to come back to this and say that it's so fucking cool to have a software engineering TH-cam channel that's about engineering software and not about quitting your software engineering job while you make avocado toast talking about how "it just feels like time". Tom Delalande 🐐
Lua is by far my favorite language ever since I discovered it in Garry's Mod
Lua getting famous is amazing ❤
Not to be a bitch here, but when you're trying to demonstrate how easy it is to work with LUA or any other programming language by ripping the source code and a shader you didn't make, that kind of defeats the point of the exercise of benchmarking the engine/code difficulty when all the hard shit was just done for you. Also not sure what your intent was when you showed Jonathan blow's advice here since it had nothing to do with your discussion, but changing your game engine doesn't make you any more or less capable to develop a game. i really did not like it when i heard you say "if you want to skip all the tutorials, engines, dependencies and headaches" becasue 1: you didn't showcase how different the engine is from the others outside of just saying the engine is fast, which for a non-demanding 2d game is a really low standard. 2: you didn't show how different Lua is to other programming languages which might be a little important if a programmer is coming straight out of C++/C#. 3: Lua can have dependencies, and you literally used an online shader and the Love2d API as a dependency. luarocks.org/ 4: as it turns out, every game engine is going to require some level of practice to get good at working with. Unity, UE and Godot are not some herculeian task to get good at like you think it is, it's no harder to learn how to work with than Adobe Premiere, and if those were that hard to use then people would have stopped using it to make games years ago.
oh shit the elden ring dlc was written with lua?
Thanks for sharing, Love2D looks like a great beginner framework to get started with.
Never heard of this game, crazy😢
LUA is a Brazillian language
Lua's a neat language, but I'd really love to fix some of its flaws. For starters, I'd make arrays use a 0-based index, but then I'd change the comment character because var-- is far superior to var = var - 1; I'd add all the compound assignment operators. For that matter, I'd make operator overloading easier, at least for user defined types.
0:10 ngl I get it that this can be easily seen as the guy being "mad" and spewing a hot take just to be a contrarian (as he usually is), but it does make a lot of sense when taking into account how much the ability to research and figuring out things on your own (especially due to missing/vague docs and similar) comes into play at game dev... that is especially evident when browsing communities like reddit's whereas a lot of enthusiasts just keep making threads about the most frivolous questions nonstop and more often than not go absolutely nowhere with the answers they get. not even about "elitism" or whatever, but rather just being realistic. "mean spirited" answers, rude comments, and blunt criticism don't amount to 1/1000th of the actual pain and frustration you'll go through when trying to start a game dev career from scratch - so it kinda shows when one is already that discouraged by them.
I've always admired Jonathan Blow's ability to say something that's generally true, or even wise, in the most abrasive way possible such that you end up missing his point
LUA SUPREMACY
Go and build it, start somewhere. Said it all
At 4:16 you talk about drawing to a canvas first rather than drawing straight to the screen - why do you do this? What is the benefit?
JBlow is right btw
No
jblow is such a dunce
Its Löve2D, not Love2D
Make one of these videos about telegram
This is really inspiring
MonoGame , FNA, Defold (review) please
Didn't John Romero recommend Lua for early gamedev
When I used to make custom maps for Warcraft 3, the map editor supported a scripting language called Jass, which is similar to Lua. In the 2010s, OOP was unofficially added to Jass via vJass. Neovim is actually how I initially got in touch with Lua. and was unable to ignore the resemblance.
Awesome video. Will you be able to share the scripts you put in the automation folder?
iirc, FromSoftware's (devs of Dark Souls and Elden Ring) in-house engine uses LUA as bindings to code the logic in the game. The engine itself is written in C++, but the code for things like player, enemies and NPCs were written in LUA (or HavokScript which is some alternative version of LUA).
In the end it can't do anything without the underlying engine built with a real program language that can actually accomplish stuff. Its just a layer of abstraction to onboard outsourced developers to do mule work like scripting dialogue options or path coordinates meanwhile all the real work was done by the devs who built the foundation.
Lua are created for it. Initially, Lua is designed to be embedded in one other software application only.
Many games use Lua like that, Grim Fandango is one of the oldest examples
@@Sammysapphira Wildly inaccurate. Lua's just another turing complete language, can be compiled or interpreted, and due to it being a very sparse language stripped down to providing necessity without a bunch of unnecessary syntactic sugar is often seen by outsiders as somehow less than a "real" programming language. The idea that it can't do anything without a "real" programming language and reducing it to a "layer of abstraction" is just absurd. These are the typical kinds of statements inexperienced programmers eagerly spew at every opportunity, as if they have any idea what they're talking about. Haven't we outgrown this silly tribalistic nonsense as developers yet?
Lua is like c++ interop javascript for desktop. Javascript is like... c++ ffi.. wasm interop javascript for desktop and web. Guys, I think I know where I'll start.
Hades and Hades 2 are also written in lua. I read the title before I saw the thumbnail and my mind immediately went to the two Hades games.
Pretty sure the engine itself is written in another language. The LUA scripts you see in the files are bindings to code things like the player and enemies.
@awfyboy Yeah, that completely crossed my mind at the time.
a card game GOTY? wtf
Don't starve together is also developed in lua
a short and sweet video essay. Amazing format you have <3
The game awards itself is a joke, but *this* was pretty cool
Chloe Burbank vol 1 lookin
Loved this video
This is literally the first time I've heard of this game lol. That developer is way too aggro about this mid ass game 😂 Typical middle aged "game" dev
Yeah, the dev is extremely toxic and their code is Below average, they just spent a lot of money on marketing
Objection: 1 indexing
I fucking love 1 indexing it's one of the reasons I love Lua and I mean that with no hint of irony
it's really not that bad. the non relative importing is worse
@@joshdingle930 i just think that getting the position of an element should be array + index * size not array + (index-1)*size it judt feels convoluted and annoying for no reason
Lua has some cursed stuff, but I take 1-indexing over Python indent-based blocks any day of the week.
@ i dont like python but id take it over 1 indexing personally. To each their own