<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog-rss</title><description>&#40;Not strictly&#41; a beginners game dev blog. I like to write about things that interest me.</description><link>https://thepoodge.com/</link><language>en</language><pubDate>Mon, 19 Oct 2026 19:38:00 +0200</pubDate><generator>Contao Open Source CMS</generator><atom:link href="https://thepoodge.com/share/rss.xml" rel="self" type="application/rss+xml" /><item><title>Win 95/98 inspired desktop shell</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/win-95-98-inspired-desktop-shell</link><pubDate>Mon, 19 Oct 2026 19:38:00 +0200</pubDate><guid>https://thepoodge.com/entry/win-95-98-inspired-desktop-shell</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/explorer_zZpyA0goom.gif" type="image/gif" /></item><item><title>DitherDino animted example</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/ditherdino-animted-example</link><pubDate>Sun, 11 Oct 2026 21:44:00 +0200</pubDate><guid>https://thepoodge.com/entry/ditherdino-animted-example</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/firefox_bdCKx5kdov.gif" type="image/gif" /></item><item><title>DitherDino adds a dimension</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/ditherdino-adds-a-dimension</link><pubDate>Fri, 25 Sep 2026 01:19:00 +0200</pubDate><guid>https://thepoodge.com/entry/ditherdino-adds-a-dimension</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/firefox_DKTpboFjHj.gif" type="image/gif" /></item><item><title>DitherDino Login</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/ditherdino-login-mask</link><pubDate>Wed, 23 Sep 2026 01:14:00 +0200</pubDate><guid>https://thepoodge.com/entry/ditherdino-login-mask</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/firefox_vYdlRkQFlZ-output.gif" type="image/gif" /></item><item><title>ditherdino</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/ditherdino</link><pubDate>Fri, 18 Sep 2026 20:01:00 +0200</pubDate><guid>https://thepoodge.com/entry/ditherdino</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/DITHERDINO-HEA2D.png" type="image/png" /></item><item><title>Isnt dithering neat?</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/isnt-dithering-neat</link><pubDate>Tue, 18 Aug 2026 23:24:00 +0200</pubDate><guid>https://thepoodge.com/entry/isnt-dithering-neat</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/Screenshot%202026-08-18%20234827.png" type="image/png" /></item><item><title>Desktopwidget for my AHK-Suite</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/desktopwidget-for-my-ahk-suite</link><pubDate>Thu, 12 Mar 2026 21:02:00 +0100</pubDate><guid>https://thepoodge.com/entry/desktopwidget-for-my-ahk-suite</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/fQRuMYK7JG.png" type="image/png" /></item><item><title>Actually working on a game again.</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/actually-working-on-a-game-again</link><pubDate>Fri, 06 Mar 2026 21:51:00 +0100</pubDate><guid>https://thepoodge.com/entry/actually-working-on-a-game-again</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/Godot_v4.6.1-stable_win64_80VujjdYZc.gif" type="image/gif" /></item><item><title>Interaction Offloading</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/interaction-offloading</link><pubDate>Tue, 11 Nov 2025 04:51:00 +0100</pubDate><guid>https://thepoodge.com/entry/interaction-offloading</guid></item><item><title>HIWR &#35;2: F2</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/hiwr-2-f2</link><pubDate>Sun, 09 Nov 2025 04:47:00 +0100</pubDate><guid>https://thepoodge.com/entry/hiwr-2-f2</guid></item><item><title>HIWR &#35;1: Ctrl + P [VSC]</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/hiwr-1</link><pubDate>Wed, 01 Oct 2025 00:41:00 +0200</pubDate><guid>https://thepoodge.com/entry/hiwr-1</guid></item><item><title>Its been a while</title><description><![CDATA[]]></description><link>https://thepoodge.com/entry/its-been-a-while</link><pubDate>Mon, 10 Jun 2024 19:17:00 +0200</pubDate><guid>https://thepoodge.com/entry/its-been-a-while</guid></item><item><title>GreenSock GSAP is amazing</title><description><![CDATA[ <script src="https://cdn.jsdelivr.net/npm/gsap@3.12.2/dist/gsap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script> <script> $( document ).ready(function() {     console.log( "ready!" );      gsap.registerPlugin(ScrollTrigger); let tlWinnie = gsap.timeline({   scrollTrigger: {     trigger: ".mod_newsreader",     pin: true,     start: "top 10%",               end: "+=" + (window.innerHeight * 3),     scrub: true        } }); tlWinnie.from(".ce_text img", {opacity:0, xPercent: "-100"}) 		.from(".ce_text p", {opacity:0, scale: 0, yPercent: 100, stagger: 1}) 		 }); </script> <div class="ce_text block">                       <figure class="image_container float_right">       <img src="https://thepoodge.com/files/contaodemo/theme/img/news/ErqA0SH8NT.png" width="320" height="103" alt="">      </figure>          <h4>Keep Scrolling! This is a simple demonstration of how GSAP can be used to animate content on a website.</h4> <p>GSAP is amazing. This Library allows for great animations in my web projects.</p> <p>Took me a a while to get into it, but my first attempts were also quite ambitious. I must say the <a href="https://greensock.com/docs/">docs</a> are doing their very best to make it easy. Make sure to watch the <a href="https://greensock.com/get-started/">introductory videos.</a> The animations themself shouldnt be hard to learn for anyone who knows some CSS.</p> <p>ScrollTrigger is where it gets interesting. It allows you to connect the animations to your scrolling (scrubbing). Thats what i happening right now. Opacity and Y-Position are scrubbed to the Scroller, creating this revealing effect. The whole article is pinned in place while that happens. Create an animation timeline and attach a ScrollTrigger. The hole thing is just a few lines of code.</p> <p>Once again, the docs are amazing, providing introductory videos and a handy <a href="https://greensock.com/st-mistakes/">common mistakes</a> guide. It actually covers mistakes that i made or was about to make. great stuff.</p> <p>There is also a bunch of <a rel="noopener" href="https://greensock.com/gsap-plugins/" target="_blank">Plugins.</a> Some of which are paywalled, but the licensing is VERY permissive, even for commercial use. Ive only taken a quick look at all of them. This is certainly a big rabbit hole to dive into. I might take a closer look at the DrawSVG stuff when i have gotten better at the free available options and feel I reached a cap.</p> <p> </p>   </div> ]]></description><link>https://thepoodge.com/entry/greensock-gsap-is-amazing</link><pubDate>Fri, 25 Aug 2023 17:55:00 +0200</pubDate><guid>https://thepoodge.com/entry/greensock-gsap-is-amazing</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/ErqA0SH8NT.png" type="image/png" /></item><item><title>Restoring/updating this blog</title><description><![CDATA[ <div class="ce_text block">                   <p>I stupidly left some unprotected testing website public and got hacked. Unfortunately that also compromised this blog as it shared a parent directory with the site in question.</p> <p>Luckily it was just some .php and .htaccess files that i could restore manually. Still researching what exactly happened. Will consult a friend on this and update.</p> <p>Some research showed me that other people werent so lucky.</p> <p> </p> <p>I also worked a bit on this blog, its got some new styles now, an archive and a new dynamic header that displays a random headline from an array through JavaScript.</p> <p>Speaking of which, Im still taking the JavaScript course - did not find much time recently und had a lot of other things on my mind.</p>         </div> ]]></description><link>https://thepoodge.com/entry/restoring-this-blog</link><pubDate>Sat, 22 Jul 2023 20:25:00 +0200</pubDate><guid>https://thepoodge.com/entry/restoring-this-blog</guid></item><item><title>Kimai: Why do people pay for time logging tools?</title><description><![CDATA[ <div class="ce_text block">                   <p>This free Open Source time-tracker will hopefully help me out in the future.</p> <p>It was another chance to get into the routine of launching projects via SSH and the composer.</p> <p>It took me about 90 minutes (including the bare bones configuration after installing), 30 of which was finding a stupid mistake i did, as i didnt wait for the sftp to transfer. The lesson learned from this mistake is that cloning a git project via the terminal is way faster then cloning it within VSC and then syncing it via SFTP (oviously).</p> <p>I can still get a local copy though VSC afterwards.</p> <p> </p> <p><a href="https://www.kimai.org/">KIMAI Website</a></p>         </div> ]]></description><link>https://thepoodge.com/entry/kimai-why-do-people-pay-for-time-logging-tools</link><pubDate>Sat, 22 Jul 2023 20:15:00 +0200</pubDate><guid>https://thepoodge.com/entry/kimai-why-do-people-pay-for-time-logging-tools</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/kimai-header.png" type="image/png" /></item><item><title>Starting a JS course</title><description><![CDATA[ <div class="ce_text block">                   <p><a rel="noopener" href="https://www.youtube.com/channel/UC4SVo0Ue36XCfOyb5Lh1viQ" target="_blank"></a>Not knowning what exactly was going on in a simple Snake script made it painfully obvious. I gotta take a course.</p> <p>Its a full 8 hours for the total course, but seems to be concise either.</p> <p> </p> <p>There probably wont be any updates until i finished this one.</p> <p><a rel="noopener" href="https://www.youtube.com/channel/UC4SVo0Ue36XCfOyb5Lh1viQ" target="_blank">&#34;Bro Code&#34; channel on youtube</a> / <a rel="noopener" href="https://www.youtube.com/watch?v=8dWL3wF_OMw" target="_blank">The JS Course</a> / <a rel="noopener" href="https://www.youtube.com/watch?v=STEfmxQjO2Q&amp;list=PLZPZq0r_RZOMRMjHB_IEBjOW_ufr00yG1&amp;index=1&amp;t=0s" target="_blank">The JS Course as Playlist</a></p> <p> </p>         </div> ]]></description><link>https://thepoodge.com/entry/starting-a-js-course</link><pubDate>Fri, 19 May 2023 22:32:00 +0200</pubDate><guid>https://thepoodge.com/entry/starting-a-js-course</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/VesxKRwx9F.png" type="image/png" /></item><item><title>Setting up Contao through Terminal</title><description><![CDATA[ <div class="ce_text block">                   <p>Progress today was slow but it was ultimately worth it. Lost this the original post when i was almost finished so this will be very brief:</p> <h2>How I did it:</h2> <ul> <li>Connect with SSH</li> <li>Create with <code>mkdir</code> and navigate to a new directory</li> <li>Run these commands to install Composer<br><code>php -r &#34;copy(&#39;https://getcomposer.org/installer&#39;, &#39;composer-setup.php&#39;);&#34; php -r &#34;if (hash_file(&#39;sha384&#39;, &#39;composer-setup.php&#39;) &#61;&#61;&#61; &#39;55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae&#39;) { echo &#39;Installer verified&#39;; } else { echo &#39;Installer corrupt&#39;; unlink(&#39;composer-setup.php&#39;); } echo PHP_EOL;&#34;php composer-setup.phpphp -r &#34;unlink(&#39;composer-setup.php&#39;);&#34;</code></li> <li>Composer is now installed in the project directory</li> <li>Now to install the Contao Managed Edition (but without Contao Manager). Have to run the command but with a different PHP (This is usually not necessary, but this hosting is running an out of date PHP Version). Instead of <code>php</code> it will be <code>/usr/bin/php81</code> <ul> <li><code>/usr/bin/php81 composer.phar create-project contao/managed-edition &lt;directory&gt; &lt;version&gt;</code></li> </ul> </li> <li>At this point we need to migrate data into a new database an make sure its up to date</li> <li><code>paraters.yml</code> needs to be in <code>config/</code> containing the data to connect to the DB. So i create that file and edit it with <code>nano</code> and fill in the details.</li> <li>Will need to delete and build the cache with these two commands: <ul> <li><code>/usr/bin/php81 vendor/bin/contao-console cache:clear --no-warmup</code></li> <li><code>/usr/bin/php81 vendor/bin/contao-console cache:warmup</code></li> </ul> </li> <li>After that, the migration will work using <ul> <li><code>/usr/bin/php81 vendor/bin/contao-console contao:migrate</code></li> </ul> </li> <li>DB is now up to date but is still missing a Backend user. Create user with: <ul> <li><code>/usr/bin/php81 vendor/bin/contao-console contao:user:create</code></li> </ul> </li> <li>Now, Contao does not come with any basic page setup so we do need to install the demo. This is usually done via Contao-Manager but its essentially just GUI for composer. So lets grab the package: <ul> <li><code>/usr/bin/php81 composer.phar require contao/official-demo</code></li> </ul> </li> <li>It will install the necessary packeges and dependencies. Rebuild the Cache again and then import the template via the install Tool (domain.com/contao/install)</li> <li>At this point im a bit disappointed, because until now there was no need for the installtool to be run at all. I think this step cannot be properly done from the terminal. Also, the Contao Demo overwrites the Adminuser created earlier and we gotta use the demouser. Good enough for me.</li> </ul> <h2>So, was it worth it?</h2> <p>For gaining experience and confidence in how to use the Terminal. YES, definately.</p> <p>Will I be using the method in the future? NO. The Contao-Manager was made for a reason and i can see that now. Even if youre really proefficient executing all these commands you probably still lose time. Good news is that i can install the Manager retroactively and then continue the project from there.</p> <p> </p> <p>Ah yeah, and that message gave me a little scare. Guess thats a rite of passage...</p> <p><img src="https://thepoodge.com/files/contaodemo/theme/img/news/dGWvyViir9.png" alt="" width="647" height="189"></p> <p> </p> <p> </p> <p> </p>         </div> ]]></description><link>https://thepoodge.com/entry/setting-up-contao-through-ssh</link><pubDate>Fri, 12 May 2023 20:30:00 +0200</pubDate><guid>https://thepoodge.com/entry/setting-up-contao-through-ssh</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/dGWvyViir9.png" type="image/png" /></item><item><title>I dont like them tailwinds</title><description><![CDATA[ <div class="ce_text block">                       <figure class="image_container float_right">       <img src="https://thepoodge.com/assets/images/4/tailwind-poo-2b0ddfff.jpg" width="300" height="157" alt="">      </figure>          <p>I setup a new environment for a documentation at work. The trigger for that being Tailwind CSS, which the template used.</p> <p>I dont get the deal with it. Why would i use that? i might as well inline style everything. Had to make an post just to vent.</p> <p><a href="https://thepoodge.com/entry/setting-up-contao-through-ssh">Setting up the enviromnent was a good learning opportunity</a>.</p>   </div> ]]></description><link>https://thepoodge.com/entry/i-dont-like-them-winds</link><pubDate>Fri, 12 May 2023 19:56:00 +0200</pubDate><guid>https://thepoodge.com/entry/i-dont-like-them-winds</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/tailwind-poo.jpg" type="image/jpeg" /></item><item><title>An idea for a mini game</title><description><![CDATA[ <div class="ce_text block">                       <figure class="image_container float_right">       <img src="https://thepoodge.com/files/contaodemo/theme/img/news/skizze_idee_game.jpg" width="300" height="300" alt="">      </figure>          <p>Idea for a simple mini-game that would also give me the chance to learn about how 2D-Platformers with several &#34;floors&#34; work.</p> <p>The idea is that the player is within a cube. you gravitate towards all red walls.</p> <p>These walls periodically and alterantingly turn deadly. One would need to survive as long as possible while it becomes harder to stay on safe surfaces.</p> <p>The center is either just a point that helps visualise a point of equilibrium or could possible be a little circular surface itself that can be walked on (around) and of course can also turn deadly periodically</p> <p>More ideas:</p> <ul> <li>Why not rotate the Cube during gaming</li> <li>Ninja Rope (from Worms)</li> <li>Enemies?</li> <li>Upgrades?</li> </ul>   </div> ]]></description><link>https://thepoodge.com/entry/an-idea-for-a-mini-game</link><pubDate>Fri, 12 May 2023 01:54:00 +0200</pubDate><guid>https://thepoodge.com/entry/an-idea-for-a-mini-game</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/news/skizze_idee_game.jpg" type="image/jpeg" /></item><item><title>Setting up this blog</title><description><![CDATA[ <div class="ce_text block">                       <figure class="image_container float_right">       <img src="https://thepoodge.com/files/contaodemo/theme/img/icon.gif" width="180" height="180" alt="">      </figure>          <p>I first tried to code the whole thing without a CMS but i realised there would be way to many holdups doing so, especially with no backend skills.</p> <p>At the end i settled with setting up a Contao, that im very familiar with because of work.</p> <p>Also procrastinated further making some art for this blog. I mean, i gotta feel comfortable here, right?</p> <p>Should really be getting back to Snake now.</p>   </div> ]]></description><link>https://thepoodge.com/entry/setting-up-this-blog</link><pubDate>Fri, 12 May 2023 01:40:00 +0200</pubDate><guid>https://thepoodge.com/entry/setting-up-this-blog</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/bg/winnie-bg.jpg" type="image/jpeg" /></item><item><title>Switch to VSC</title><description><![CDATA[ <div class="ce_text block">                   <p>It makes sense now to move from Sublime to Visual Studio Code.</p> <p>Having everything in one Workspace-file is amazing.</p> <p>I also set up GitHub now. I‘m making a documentation for a project at work and I found a decent template and thought why not clone its rep with VSC and getting used to that workflow.</p> <p>It’s really nice having everything in one place. I also installed Git for Windows. I’m still not quite sure if that was necessary, but afterwards I got it working the way I pictured it:</p> <p>Strg+Shift+P to Open the Command Prompt in VSC and then cloning the project to a local folder. In combination with the SFTP Plugin its satisfying to get a project from Git to local and from local to remote Server without once opening FileZilla.</p> <p>Don’t wanna get distracted by another rabbit hole so I will wait for an opportunity to come up when I can test the co-working capabilities and version management which seems to be the core GitHub premise.</p>         </div> ]]></description><link>https://thepoodge.com/entry/switch-to-vsc</link><pubDate>Wed, 03 May 2023 20:32:00 +0200</pubDate><guid>https://thepoodge.com/entry/switch-to-vsc</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/visual-studio-code-logo.png" type="image/png" /></item><item><title>Getting started with Snake</title><description><![CDATA[ <div class="ce_text block">                   <p>Just started with a random <a href="https://www.youtube.com/watch?v=AaGK-fj-BAM">tutorial</a> from “Coding Train” that uses p5.js to recreate SNAKE. Seemed like a good start. The presenter is very ADHD though. Very jumpy which can be super annoying, especially when he does not mention an error in the code until 10 minutes after it was made. Setup the environment and only programmed the movement and boundaries so far.</p> <p>I got the feeling I understood what the code does logically, also got the feeling I do NOT understand the Syntax. The Syntax seems very slim, but also p5.js seems very powerful. We are already making use of its functions such as the constrain() in order to constrain (duh) the Snake in the canvas.</p> <p>I will see if I can find out myself how I can change it to Snake 2 boundaries, where the snake is not stopped by walls and instead shows up on the opposite side wall.</p>         </div> ]]></description><link>https://thepoodge.com/entry/getting-started-with-snake</link><pubDate>Fri, 28 Apr 2023 23:59:00 +0200</pubDate><guid>https://thepoodge.com/entry/getting-started-with-snake</guid><media:content url="https://thepoodge.com/files/contaodemo/theme/img/01_snake_1.gif" type="image/gif" /></item></channel></rss>