<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Devlog on Gabriel Senekovic — Game Programmer</title><link>https://senekovic.dev/devlog/</link><description>Recent content in Devlog on Gabriel Senekovic — Game Programmer</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 31 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://senekovic.dev/devlog/index.xml" rel="self" type="application/rss+xml"/><item><title>2025 Retrospective</title><link>https://senekovic.dev/devlog/2025-retrospective/</link><pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate><guid>https://senekovic.dev/devlog/2025-retrospective/</guid><description>&lt;!-- MIGRATION BLOCKER: this post had 5 images hosted on Patreon's CDN with
 signed URLs that expired 2026-01-14 and now return HTTP 403. They were
 already broken on his old site. The &lt;img&gt; tags are commented out below
 rather than deleted, so the post reads cleanly today and the original
 URLs survive as the record of which images go where.

 TO FIX: the files must come from Gabriel, or from Patreon post 147006341
 while he is signed in. Commit them under static/images/ and swap each
 comment back for an &lt;img&gt;. Nothing is substituted for them in the
 meantime -- no placeholder, and nothing generated. --&gt;
&lt;!-- DEAD IMAGE 1 (Patreon 403, expired 2026-01-14) -- restore by
 replacing this comment with an &lt;img&gt; pointing at the committed file:
 &lt;img src="https://c10.patreonusercontent.com/4/patreon-media/p/post/147006341/b501483b823c4bc88695775176e21ba6/eyJ3IjoxMDgwfQ%3D%3D/1.png?token-hash=HRsMYqTUMiwwmfXtA0o0wahhcFwyA9P3_2ioOp9uAQU%3D&amp;token-time=1768348800"&gt; --&gt;
&lt;p&gt;&lt;br&gt;&lt;br&gt;
Hello!
&lt;br&gt;&lt;br&gt;
Welcome to the 2025 retrospective! It is the first time I have made one of these, but I thought it would be the best type of ritual to properly say goodbye to the mess that was 2025, and say welcome to the mess that 2026 will inevitably become. Time passes by us a lot faster than any of us would wish, and it seems to speed up the older we get. Therefore, to give the year the sendoff it deserves, let&amp;rsquo;s look at what I managed to accomplish this year.
&lt;br&gt;&lt;br&gt;
For those unaware, I am not only a videogame programmer - I am also a comic artist and an author. June 23, 2024 I released the first chapter of my comic &lt;a href="https://globalcomix.com/c/remy"&gt;Remy&lt;/a&gt;, after working on it for almost a year. Since then, my pace has sped up significantly. I released chapter 6 on February 24th, and as of writing this I am working on chapter 9. It now takes me about 1 and a half months to finish a chapter, if nothing else gets in the way (which it often does). The comic has entered its first real arc, the Theta-32 arc, where Tyler Ventura is being held hostage by the mercenaries Champagne, Butch and Prince. Instead of sitting around and waiting for Remy to rescue him, Tyler is trying to figure out a way to get himself out of there.
&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Queer Cards 0.2 Update</title><link>https://senekovic.dev/devlog/queer-cards-0.2-update/</link><pubDate>Mon, 14 Jul 2025 00:00:00 +0000</pubDate><guid>https://senekovic.dev/devlog/queer-cards-0.2-update/</guid><description>&lt;p&gt;Since me and Jasper were both in need of better portfolios, and it would be nice to have something more or less finished, we decided to keep working on Queer cards. I’ve worked with Jasper on many projects, where I&amp;rsquo;ve made him do animations and pixel art. Seeing the art he makes in his freetime, though, I thought it might go fastest if I made him do splash-art style pieces. That&amp;rsquo;s part of why making cards was a good idea, but we would also be able to make billboarded opponent characters, which is a plan for the future. We will also set up a google questionnaire where you can provide feedback on the different parts of the game as well as the art, so that we can improve upon this small contained experience.
&lt;br&gt;&lt;br&gt;
To commemorate the release of this update, I’ve also created a page of the website with a list of all the cards of the game along with who the artist to each card is. With that same website update, I release changelog pages for each project and a general update. This way, you’ll be able to see an entire list of all of the changes made to the game for this update, on this link here.
&lt;br&gt;&lt;br&gt;
With this, I hope I can better and more thoroughly display my work and experience
&lt;br&gt;&lt;br&gt;
Like before, you can find the game here:
&lt;a href="https://shoudoesgames.itch.io/queer-cards" target="_blank" rel="noopener noreferrer"&gt;Da Linky&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hex Map Generator</title><link>https://senekovic.dev/devlog/hex-map-generator/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://senekovic.dev/devlog/hex-map-generator/</guid><description>&lt;img src="https://img.itch.zone/aW1hZ2UvMzY2NzI5Mi8yMTgyMjg3My5wbmc=/original/lm1B5Z.png" alt="My image" style="max-width: 100%; height: auto;" /&gt;
&lt;br&gt;&lt;br&gt;
Me and Jasper have been taking part in another game jam! This time, it was this jam that we took part in: 
&lt;a href="https://itch.io/jam/speed-run-jam/results" target="_blank" rel="noopener noreferrer"&gt;Jam Link&lt;/a&gt;, a ten day long game jam hosted by 8 bits to infinity. They host game jams several times per year, and this one was their 47th jam in total. This was the first time that I took part in one of their jams, although I’ve been wanting to for quite a while. I am still regretful about missing the 8bit jam, and I’ve been meaning to backtrack through the previous jams and playtest previous winners sometime.
&lt;br&gt;&lt;br&gt;
Anyway, I had wanted to make some sort of civ-like game for quite a while in order to go deeper into hexagonal maps. During my time with Short Circuit Studios, I implemented the hexagonal maps into “&lt;a href="https://store.steampowered.com/app/2715700/Teeny_Tiny_Town/" target="_blank" rel="noopener noreferrer"&gt;Teeny Tiny Towns&lt;/a&gt;”, and thought it was a lot of fun. I thought, I should make something myself with what I learned there. An idea I had had for a while, is a map you “build” yourself by placing hexagonal cards on preplaced tiles. I’ve rerolled this idea several times in my mind, balling with my friends who like turn-based strategy games. When this gamejam came around, I thought it a good opportunity to make a prototype in order to see what I might prefer.
&lt;br&gt;&lt;br&gt;
I obviously had to make it speedrunnable, and the theme was “Nature”, so the idea was to make a game where you have to make druids, and you have to compete against other civilizations in order to settle a set amount of druid circles. A forest circle, a desert circle, a swamp circle, a tundra circle and a jungle circle. And I ended up making all the locations necessary (except for swamps, because I didn’t have time to implement rivers), as well as the majority of the UI. I also had the units, the production cycle and I had other civs. However, since I didn’t have time to implement the resources and the enemy AI, and I felt too stressed to figure out what to do to still make the loop work, I ended up only handing in a map generator. So obviously, we won’t win. We didn’t meet any of the requirements!
&lt;br&gt;&lt;br&gt;
I have more things to say about the game I had planned out, but first, here is the link to the generator: 
&lt;a href="https://shoudoesgames.itch.io/hex-map-generator" target="_blank" rel="noopener noreferrer"&gt;Da Linky&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
Now, this “civclone” game is a fairly shameless copy of civ 6, mixed with elements from Crusader Kings, Stellaris and other similar games. My idea was also to assemble more reusable code I could use for my “Aleastory” project, which would be using a lot of the same things.</description></item><item><title>Queer Cards: Dice and Demis</title><link>https://senekovic.dev/devlog/queer-cards-dice-and-demis/</link><pubDate>Wed, 05 Mar 2025 00:00:00 +0000</pubDate><guid>https://senekovic.dev/devlog/queer-cards-dice-and-demis/</guid><description>&lt;p&gt;Hello!
A while ago, right after participating in GGJ, I also participated in the Big Mode Game jam, hosted by Video game Dunkie. This time, the team wanted to make a more art heavy game. We discussed making a TCG style game, and since our artist Jasper Falk feels more inclined towards making rendered artworks for video games, I thought the role would suit him well. I also wanted to make a card game base for my code archive. I want to make an extremely generic code archive; something akin to an engine within an engine, for Unity. This time, I worked on improving the turn based code I made for Purgatory of Greed earlier (and which I intend to backport, to make sure the archive is complete).
&lt;br&gt;&lt;br&gt;
Gameplay-wise I tried to take inspiration from the Genshin TCG as well as other card games such as Magic the Gathering and Slay the Spire. I also had intentions to draw some ideas from Everdell. In the end, the game came out quite bare bones. Using Zenject and DOTween did speed up the process quite a lot, and it did turn out very visually appealing, in my opinion. I 3D modelled the table that one plays on as well as the dice, and I drew the borders and backsides of the cards. Jasper made a lot of the artwork on the cards, and we also had my fellow Comic artist Nikola Kubasova draw some.
&lt;br&gt;&lt;br&gt;
As for the story and the theme, we ended up making the different elements of the cards inspired by the stripes of the original pride flag by Gilbert Baker. The meaning of these translated into game mechanics is kind of vague, but it did lead to a lot of brainstorming. In the end, we couldn’t implement most of it. That’s just one of those things about game jams. The scope is always difficult to predict, especially with only one programmer.
&lt;br&gt;&lt;br&gt;
Since we couldn’t put in the story, I’ll brief it here: The main character was supposed to be some sort of gay knight who was fighting his way up to the king in defense of his rights to marry his boyfriend. Quite a basic story, but it suits a basic game. I’ve recently set Jasper on making character designs, so maybe I can get around to making this game presentable as well.
&lt;br&gt;&lt;br&gt;
Here’s da linky: &lt;a href="https://shoudoesgames.itch.io/queer-cards" target="_blank" rel="noopener noreferrer"&gt;Da Linky&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Asteroids Refactor</title><link>https://senekovic.dev/devlog/asteroids-refactor/</link><pubDate>Mon, 20 Jan 2025 00:00:00 +0000</pubDate><guid>https://senekovic.dev/devlog/asteroids-refactor/</guid><description>&lt;p&gt;A while back, when applying for a programming job, they wanted me to code a clone of Asteroids. Funny, I thought, we made so many clones of Asteroids in university that me and my close programmer friends called our clique “No Asteroids”, and we invoke its name every time an asteroid is mentioned. I’ve coded it in C++, and I’ve coded it a second time in 3D using OpenGL this time inspired by the Gummi ship from Kingdom Hearts. Arguably that second time wasn’t very Asteroids-like, but it did have the same basic gameplay loop. This time, I was supposed to code it in Unity, with unit tests and using Zenject. So at this time, I had never heard of Zenject. I had apparently used injection before in other projects, but I had never been told the name.
&lt;br&gt;&lt;br&gt;
Furthermore, the interviewer told me about the SOLID design principles and design patterns. It’s funny how I could go through an entire 3 year education and never heard about either concept. The key to that, however, is that our education focused primarily on the game production pipeline, design and cooperation in programming teams. We learned a lot of basic concepts, and so we did learn ABOUT design patterns, but never their names nor the principles. I never had to draw any of those flowchart diagrams. And as for the SOLID principles, we had also been taught those, but never the nomenclature. It felt like a big hole in my knowledge, and clearly, my interviewer agreed. So I set to studying heavily about it during the two weeks I worked on my Asteroids clone.
&lt;br&gt;&lt;br&gt;
I was proud of what I accomplished in just two weeks, using concepts I just learned within a short time. However, as time passed and I used Zenject in my own private projects, I realised the code wasn’t that nice looking, and I didn’t really use the plugin to its full potential. I still don’t know if I have. But I thought I’d go through the changes I made:
&lt;br&gt;&lt;br&gt;
Previously, I could not figure out how to spawn entities when I also needed to use injection. Zenject injects all components when the scene is loaded, so all dynamically spawned entities would be “empty”. It turns out that was very easily solvable, and thanks to one simple line of code I was able to load my entities from Addressables like I had originally intended.
&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Global game jam 2025</title><link>https://senekovic.dev/devlog/global-game-jam-2025/</link><pubDate>Sun, 05 Jan 2025 00:00:00 +0000</pubDate><guid>https://senekovic.dev/devlog/global-game-jam-2025/</guid><description>&lt;p&gt;Hello!
&lt;br&gt;&lt;br&gt;
I just participated, or rather, attempted to participate in this year&amp;rsquo;s GGJ. It was me and my friend Jasper Falk, who is an artist. We decided to make a 3D online multiplayer game. Not only was it the first time I’ve attempted to code online multiplayer in Unity (which I only got to work thanks to Hamachi), but Jasper was also not fully comfortable with 3D modeling and animation.
&lt;br&gt;&lt;br&gt;
I have to say, coding with Netcode for Unity Gameobjects makes me want to pull my hair out. It’s difficult to understand, and I find the documentation somewhat opaque, but I also know that had I programmed this in C++ it would probably be much much worse. In the end, I’m not sure I understand the whole “ClientRpc” and “ServerRpc” thing that Unity has going on. I read what I could understand and then threw stuff at the wall to see what stuck. The game is not in a very presentable stage, significantly lacking in assets.
&lt;br&gt;&lt;br&gt;
But I am still proud that I managed to finish so many milestones within the time limit, and learned how to debug a multiplayer game. I also learned how to connect to another computer over the internet, even if it was only thanks to Hamachi. And through trying to debug this stuff, I learned what a port is, the difference between a public and a local IP, how to ping, use nmap, telnet, tracert and netstat, etc. I spent a lot of time pinging other IP addresses before I realised that whether I could ping someone or not didn’t matter to Unity, and the reason I had an issue connecting with Unity was because… I don’t really know. But Hamachi fixed it.
&lt;br&gt;&lt;br&gt;
Clearly I need to investigate this further. But I at least got pretty far on the way.
&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>First post</title><link>https://senekovic.dev/devlog/first-post/</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><guid>https://senekovic.dev/devlog/first-post/</guid><description>&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;After getting fed up with having my portfolio on Wordpress, a website that is very obnoxious to work with, I found out about Github pages! This has been my first time making a website by myself, and thus, I have mostly been following tutorials and haphazardly put together this website like patchwork. However, that is not to imply that I haven&amp;rsquo;t learned anything new! I have a better understanding of the relationship between css, html and javascript now, and have seen much more what is and what isn&amp;rsquo;t possible to do. And honestly, it makes me question what even was Wordpress issue? Perhaps they just wanted to push my frustration until I decided to pay for their subscription? But I am way too stingy to fall for that, I&amp;rsquo;m afraid. So here we are.
&lt;br&gt;&lt;br&gt;
As things are right now on the website, it is far from finished. There are placeholder sprites around the place, there are still no screenshots available for the projects, and the main page is not much to look at. However, I needed to get this portfolio finished so I could start writing blog posts and also use it for job hunting (because my wordpress portfolio kinda broke)
&lt;br&gt;&lt;br&gt;
Anyway, in other news, I recently took part in the 2024 Yogscast game jam! I&amp;rsquo;m dropping da linky right here:
&lt;br&gt;
&lt;a href="https://itch.io/jam/jinglegamejam2024/rate/3164855#post-11568504" target="_blank" rel="noopener noreferrer"&gt;Da Linky&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
My game was/is called &amp;ldquo;The Purgatory of Greed&amp;rdquo;, and is a turnbased combat roguelite, because I simply cannot help myself but to create a new roguelite whenever I get the oppurtunity. I&amp;rsquo;ve been told it&amp;rsquo;s fun to play, even though I didn&amp;rsquo;t get to put in all the mechanics that I wanted&amp;hellip; But I intend to fix that as soon as my japanese course is over with. The game is pretty solid, with only one game breaking bug that has been found. Not bad for a game made in one week by one person. The code is kind of haphazardly put together (thank you Zenject and DoTween), but it works and it was nice to do something I haven&amp;rsquo;t tried before (turn based combat, and not using pixel art for once). Please take a look if you&amp;rsquo;re interested. I hope to make a longer post about it in the future.&lt;/p&gt;</description></item></channel></rss>