<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>Handcrafted game programming and custom game engines.</description><link>https://bsky.app/profile/davidpol.bsky.social</link><title>@davidpol.bsky.social - David Pol</title><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lwwlheh7qc2k</link><description>Just finished implementing asset hot-reloading and dynamic texture atlasing in the engine.&#xA;&#xA;#gamedev #c #sdl</description><pubDate>21 Aug 2025 18:35 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lwwlheh7qc2k</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lvstsizyvs2x</link><description>I just upgraded my C99 codebase to C11. It improves a few things here and there:&#xA;&#xA;• I use forward declarations a lot. But it turns out redeclaring typedefs in the same scope, which is just fine in C++, is not legal in C99. I only learned about this when compiling with -pedantic for the first time.</description><pubDate>07 Aug 2025 13:29 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lvstsizyvs2x</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lrl5kdxgzc2z</link><description>A recent Fedora upgrade turned into a &#34;Linux ecosystem: X11 and Wayland&#34; crash course for me, so I wrote some quick notes about it in case they might be helpful. Or, in other words, why SDL 3 might still pick X11 over Wayland even on a Wayland-based distro.&#xA;&#xA;https://www.innercomputing.com/blog/x11-wayland-in-sdl3</description><pubDate>14 Jun 2025 14:21 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lrl5kdxgzc2z</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lmjny542v22b</link><description>Some nice improvements for C/C++ programming coming in GCC 15.&#xA;&#xA;https://developers.redhat.com/articles/2025/04/10/6-usability-improvements-gcc-15#</description><pubDate>11 Apr 2025 09:04 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lmjny542v22b</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lkpxpq3p7k2r</link><description>C has an official website now!&#xA;&#xA;www.c-language.org&#xA;https://www.c-language.org/</description><pubDate>19 Mar 2025 10:23 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lkpxpq3p7k2r</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3ljfmf3ew3222</link><description>Every time I encounter a void*-based collection implementation in C, my heart sinks. 💔&#xA;&#xA;So I wrote some notes on writing generic collection code, as it turns out you can go pretty far without sacrificing type safety in the process.&#xA;&#xA;#c #gamedev #indiedev&#xA;&#xA;https://www.innercomputing.com/blog/generic-collections-in-c</description><pubDate>02 Mar 2025 14:09 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3ljfmf3ew3222</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3ljacr2zgrs2j</link><description>Some #gamedesign notes by LocalThunk (of Balatro fame). It is very interesting to contrast the &#39;evergreen, comforting and low-stakes&#39; type of experience the author intended with the way many players are interacting with the game.&#xA;&#xA;localthunk.com/blog/solitaire&#xA;https://localthunk.com/blog/solitaire</description><pubDate>28 Feb 2025 11:33 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3ljacr2zgrs2j</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lj5djlifsk2m</link><description>Running DOOM on TypeScript types might just be the endgame of the &#34;Can it run DOOM?&#34; subject matter.&#xA;&#xA;https://www.youtube.com/watch?v=0mCsluv5FXA</description><pubDate>27 Feb 2025 07:09 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lj5djlifsk2m</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3liu4ti23cc2b</link><description>Just finished with the implementation of the 2D sprite renderer for my course. It uses the new GPU API in SDL 3, which is very nicely done.&#xA;&#xA;Now moving on to writing how it all works! ✍️&#xA;&#xA;#gamedev #c #sdl</description><pubDate>23 Feb 2025 15:15 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3liu4ti23cc2b</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lhgixbhids2v</link><description>Putting the final touches on the entity systems chapter of the course. It covers data-oriented programming and the implementation of an ECS in C, which is a very interesting exercise in terms of design decisions and data structures.&#xA;&#xA;#gamedev #indiedev #gameengine #c #sdl</description><pubDate>05 Feb 2025 11:50 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lhgixbhids2v</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lgczo2vrjs2b</link><description>SDL 3.2.0 is out! This is the first stable release of SDL 3, containing many notable changes and improvements. A particular highlight of mine is the new, compute-ready GPU API.&#xA;&#xA;#gamedev #indiedev #gameengine #c #sdl&#xA; &#xA;https://github.com/libsdl-org/SDL/releases/tag/release-3.2.0</description><pubDate>22 Jan 2025 09:13 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lgczo2vrjs2b</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lg3rkwcack2z</link><description>I wrote some more detailed notes on single translation unit builds in C that might be useful if you are interested in keeping a simple workflow. Sometimes, the best build system is having no build system in the first place.&#xA;&#xA;#c #gamedev #indiedev&#xA;&#xA;https://www.innercomputing.com/blog/single-translation-unit-builds</description><pubDate>19 Jan 2025 11:59 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lg3rkwcack2z</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lfhmqbv7pk24</link><description>Designated initializers and compound literals are awesome features of C99 that almost turn C into a new language, so I wrote a small blog post explaining how they work in order to spread the word. &#xA;&#xA;#c #gamedev #indiedev&#xA;&#xA;https://www.innercomputing.com/blog/designated-initializers-and-compound-literals-in-c</description><pubDate>11 Jan 2025 11:40 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lfhmqbv7pk24</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lfadelfqys2e</link><description>SDL 3.1.8 is out! This pre-release version adds many goodies:&#xA;&#xA;• Asynchronous I/O&#xA;• Main thread dispatching&#xA;• Desktop tray API&#xA;• Support for format strings in debug text rendering&#xA;&#xA;#gamedev #indiedev #gameengine #c #sdl&#xA;&#xA;https://github.com/libsdl-org/SDL/releases/tag/preview-3.1.8</description><pubDate>08 Jan 2025 14:03 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lfadelfqys2e</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3levtylw7lk2f</link><description>I wrote some notes on how to get started with C programming. The process can be a bit overwhelming if trying to learn it all at once, and I have found that focusing your efforts on a smaller and more modern subset can be really helpful.&#xA;&#xA;#c #gamedev #indiedev&#xA;&#xA;https://www.innercomputing.com/blog/how-to-get-started-with-c-programming</description><pubDate>04 Jan 2025 10:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3levtylw7lk2f</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lelmz5rtzc2i</link><description>Today I realized my Linux machine had been stuck with an older kernel version ever since I did the upgrade from Fedora 40 to 41.&#xA;&#xA;&#39;Manually messing with the kernels&#39; rite of passage is now complete.&#xA;&#xA;#framework #linux #fedora</description><pubDate>31 Dec 2024 08:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lelmz5rtzc2i</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lehgt2wh7s2z</link><description>I am really enjoying writing the chapter on memory management; it has become its own little mini-course within the main course. It goes from explaining the very basics of what memory is to writing your own custom memory allocators from scratch.&#xA;&#xA;#gamedev #indiedev #gameengine #c #sdl</description><pubDate>29 Dec 2024 16:29 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lehgt2wh7s2z</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lcupd25ink2f</link><description>Christmas time is an opportunity to read great books. This year, I am revisiting &#39;The Rules of Programming&#39; by Chris Zimmerman. It contains excellent advice from the trenches, with many useful examples drawn from the Ghost of Tsushima codebase.&#xA;&#xA;#gamedev #indiedev #gameengine</description><pubDate>09 Dec 2024 12:15 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lcupd25ink2f</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lbzrwhpv4k2t</link><description>Code hot-reloading for Linux is in. I also unified my Neovim configuration so that switching between platforms is more seamless. The thing I am missing the most so far when working in Linux is having access to the RAD Debugger (but an official port is on their roadmap).&#xA;&#xA;#gamedev #c #sdl #linux</description><pubDate>28 Nov 2024 19:20 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lbzrwhpv4k2t</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lbxbkwxrjk27</link><description>Hot-reloading of code for Windows is in. I have also set up a few custom commands to build, launch the RAD Debugger and reload directly from Neovim, which is a really nice workflow. Next step is Linux!&#xA;&#xA;#gamedev #c #sdl</description><pubDate>27 Nov 2024 19:22 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lbxbkwxrjk27</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3lbkmlorfd22c</link><description>Just finished writing the chapters on SDL fundamentals, so I thought it would be cool to add a bonus lesson where we &#34;port&#34; Doom to SDL 3. It is not an actual, full port of the game (it uses doomgeneric), but serves as a practical and fun way to put everything together.&#xA;&#xA;#gamedev #c #sdl</description><pubDate>22 Nov 2024 18:34 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3lbkmlorfd22c</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3latcnbcj3c2y</link><description>I have been daily driving a Framework 13 laptop as a Linux-only machine for a few days. My main goal here was to make sure all my code works well on Linux but, not having used the OS for the past 20 years or so, I have to say... it is actually getting there?&#xA;&#xA;#gamedev #c #sdl #linux #framework</description><pubDate>13 Nov 2024 12:05 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3latcnbcj3c2y</guid></item><item><link>https://bsky.app/profile/davidpol.bsky.social/post/3laiwmiomqk2t</link><description>Having so much fun at the moment as I prepare the upcoming lessons of my game programming course. Writing about the basics of animation seemed like the perfect excuse to pay homage to the Fire demo originally programmed by @thejare.bsky.social in 1993 and recreate it with SDL 3.&#xA;&#xA;#gamedev #c #sdl</description><pubDate>09 Nov 2024 09:03 +0000</pubDate><guid isPermaLink="false">at://did:plc:oeng3pa4uuo7cne32ype6p5j/app.bsky.feed.post/3laiwmiomqk2t</guid></item></channel></rss>