Update resources with more resources and also tools
This commit is contained in:
23
README.md
23
README.md
@@ -77,7 +77,7 @@ I'd recommend either skipping it, or rewatching it multiple times, until you ful
|
||||
First, you have probably been taught the malloc/RAII way of managing memory, which is needlessly hard, throw that stuff away.
|
||||
Here is how to actually manage memory in a simple and straightforward way:
|
||||
|
||||
[How memory works by Kyren223 (me)](https://kyren.codes/blogs/how-computer-memory-actually-works/) - Goes over how your program interacts
|
||||
[kow memory works by Kyren223 (me)](https://kyren.codes/blogs/how-computer-memory-actually-works/) - Goes over how your program interacts
|
||||
with memory nowadays, knowing about virtual memory and virtual address space would be crucial to
|
||||
understand the rest of the resources here.
|
||||
|
||||
@@ -111,6 +111,7 @@ TODO: this took me very long to make, will add this later (remind me if I forgot
|
||||
But tldr; handmade hero, all of it, then u should be able to learn on your own.
|
||||
|
||||
For math, the [BSC 2025 talk by Ginger Bill](https://www.youtube.com/watch?v=YNtoDGS4uak), and Freya Holmer's [Math for Gamedev](https://www.youtube.com/watch?v=MOYiVLEnhrw&list=PLImQaTpSAdsD88wprTConznD1OY1EfK_V) series are great resources.
|
||||
As well as [3b1b's Essence of Linear Algebra series](https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab).
|
||||
|
||||
[This Problem Changes Your Perspective On Game Dev](https://www.youtube.com/watch?v=o5K0uqhxgsE)
|
||||
|
||||
@@ -118,6 +119,9 @@ For math, the [BSC 2025 talk by Ginger Bill](https://www.youtube.com/watch?v=YNt
|
||||
|
||||
TODO: this took me very long to make, will add this later (remind me if I forgot!)
|
||||
|
||||
For tokenizing go with a simple hand written state machine, for parsing go with recursive descent + Pratt's parsing.
|
||||
These terms sound complicated but they are simple, the resources below go over them.
|
||||
|
||||
Crafting interpreters for the basics of tokenizing and parsing, not more than that,
|
||||
the book later diverges into what I'd call "bad OOP" (in part 1), and part 2 is mostly about virtual
|
||||
machines, I only read the start of part 2, I'd only recommend it if you are making a VM for your language.
|
||||
@@ -137,18 +141,26 @@ feel free to message me, I am always open to language design/implementations dis
|
||||
|
||||
["Boundaries of Language Design" with Andrew Kelley & Ginger Bill](https://www.youtube.com/watch?v=3K8znjWN_Ig)
|
||||
|
||||
[2 Language Creators vs 2 Idiots](https://www.youtube.com/watch?v=tXJfS6jI9Z0)
|
||||
|
||||
[The Video That Inspired Me To Create Odin by gingerBill](https://www.gingerbill.org/article/2024/04/04/video-that-inspired-odin/) - has a great insight about what "High Level" versus "Low Level" languages actually mean.
|
||||
|
||||
[Commentary on Friction in Language Design by gingerBill](https://www.youtube.com/watch?v=aq2lsAbtWc4)
|
||||
|
||||
## Resources (unordered)
|
||||
|
||||
- ALL [Better software conference](https://www.youtube.com/feed/subscriptions/UCYI-TL0LoFRl1gFnnUFwdow) talks, they are all great.
|
||||
- [Handmade Hero by Casey Muratori](https://guide.handmadehero.org) AT LEAST the first 60 episodes
|
||||
- [Semantic compression by Casey Muratori](https://caseymuratori.com/blog_0015)
|
||||
- [On bad advice](https://www.scattered-thoughts.net/writing/on-bad-advice/)
|
||||
- [John Carmack on Inlining code](http://number-none.com/blow/john_carmack_on_inlined_code.html)
|
||||
- [John Carmack on Inlined Code](http://number-none.com/blow/john_carmack_on_inlined_code.html)
|
||||
- ["Papers I have loved" by Casey Muratori](https://www.youtube.com/watch?v=SDS5gLSiLg0)
|
||||
- [Package Managers are Evil by GingerBill](https://www.gingerbill.org/article/2025/09/08/package-managers-are-evil/#fnref:1)
|
||||
- [How to address binary compatibility on Linux](https://jangafx.com/insights/linux-binary-compatibility#containers)
|
||||
- [Mock Interview with Shawn McGrath](https://www.youtube.com/watch?v=cfyWvJdsDRI&t=5s) - Best way to do interviews
|
||||
- [Handmade Network "fishbowls"](https://handmade.network/fishbowl)
|
||||
- [Advice for Writing Small Programs in C by Sean Barrett](https://www.youtube.com/watch?v=eAhWIO1Ra6M)
|
||||
- [The Video That Inspired Me To Create Odin by gingerBill](https://www.gingerbill.org/article/2024/04/04/video-that-inspired-odin/)
|
||||
|
||||
Blogs:
|
||||
|
||||
@@ -162,6 +174,13 @@ Data oriented design:
|
||||
- [CppCon 2014: Mike Acton "Data-Oriented Design and C++"](https://www.youtube.com/watch?v=rX0ItVEVjHc)
|
||||
- [Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)](https://www.youtube.com/watch?v=IroPQ150F6c)
|
||||
|
||||
Useful tools:
|
||||
|
||||
- [Raddebugger](https://github.com/EpicGamesExt/raddebugger) for windows binaries, or linux once it's ported, in the meantime, [nnd](https://github.com/al13n321/nnd), [gdbfrontend](https://github.com/rohanrhu/gdb-frontend) or [clion](https://www.jetbrains.com/clion/) exist for linux.
|
||||
- [Intel Intrinsics](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#)
|
||||
- [Linux System Call Table](https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/)
|
||||
- MSDN for Win32 API documentation (windows "syscalls")
|
||||
|
||||
[^1] Unless u write your own OS, but even then, you'd be interfacing with hardware. and I assume you are not going to manufacture your own CPU.
|
||||
[^2] Certain CPUs use 52-bit or 56-bit, because of some super computers hitting the 256TB limit (bruh)
|
||||
[^3] Some arm CPUs have TBI (top bits ignore), to allow storing metadata in the top 8 bits of a pointer
|
||||
|
||||
Reference in New Issue
Block a user