• entries
62
103
• views
54725

## I Am Overburdened, looney tuning

Hello there! Time for one last small update before I go into full promotion mode regarding the new I Am Overburdened expansion pack Update The new 1.2.6. version is more of a refinement over the existing stuff, but it packs a lovely change which I hope receives a warm welcome. Screen transition I’ve been fighting with level change for a long while to make it look good and readable. I always wanted to help the player instantly recognize where Joey is when entering a new dungeon floor. Finally what I have now feels really good I should have looked into cartoons for inspiration long ago. Bug-fixes While testing the new content I made for the expansion I’ve stumbled into a few issues A huge error found its way into the game code with the previous update. Wearing the “Wizard Hat” item could cause a crash in certain cases upon reaching a dungeon level with a number of hallucinations in it. Now it’s fixed!
Please accept my apology if any of your runs came to an unexpected end due to this mistake. I’m really sorry. As you can see on this gif some item combinations could mess up the boss fight scene. Not a major problem, but it looked pretty weird. Bad karma (balance) I constantly tweak difficulty related things with each update and this one is no exception. With luck and a few right choices early on you could become too overpowered and I tried to address this “problem”. Now the game tries to push back a little if you are shredding everything in your path with ease. It isn’t drastic but affects your luck and the pickup and chest spawn rates a bit. The second half of the gameplay was affected mostly so the change focuses on later dungeon levels as well. Upcoming The time has come to start showing some real footage from the expansion pack!
The first official reveal is one (or two in this case?) of the new enemies: the Ooze.
You can expect the same level of functional diversity. All new beasts are going to have their own special “thing” The expansion will focus on replay value first and foremost and will NOT extend the story. The new monsters will be introduced as part of the existing dungeons as “variants” at certain sections, randomly selected for each run. That is why the Ooze is encountered in the caves. I made good progress in the last month and it looks like I’m only going to release one more update before I complete the enhanced edition of the game. This also means I’m going to reveal a lot more details about the new stuff in the next few weeks! Shopping When I posted about the condition of my hand, I got a lot of suggestions for what to upgrade on my desk. My right got a tad bit better lately (I’m able to use it as “support”), so I decided to buy and try out some ergonomics stuff. The first thing I tried is a vertical mouse and I have to say I’m really impressed so far. It does feel way more comfortable to use than a conventional one and I got the hang of it almost right away. So if you are using your wrists/hands (and a mouse) extensively for work or your hobbies (art, music, design, etc…) do yourself a favor and get one. Since I was shopping I also got a new mug with my favorite comic book characters Thanks for taking the time to read my post and thank you very much for your support.
Take care!

## I Am Overburdened, optimize prime

Hi everyone! Here comes a not so spectacular, but hopefully funny update for I Am Overburdened. As the name suggest version 1.2.5. is way more swift than the previous one, plus it is equipped with a nasty new trick to terrorize players Hallucination 2.0 Please welcome “positive” hallucinations. Previously when you accidentally drank poison or a venomous creature attacked you, monster phantasms (non-existent hallucinated creatures) would be placed randomly on the following dungeon level. This feature always felt fun, but a bit insignificant. Its impact was quite low because if you played a lot you could figure out in many cases which of the monsters are hallucinated and you never feared extra monsters when in a good shape (health and loot wise). Now other entities (chests, pickup, etc…) can be hallucinated and their placements are influenced by the level templates and the dungeon generator. The new version is way more effective, a.k.a. confusing If you have an existing save-game no worries. The new save files may be a tiny bit bigger (due to the more complex hallucinations), but the game is backward compatible. Inventory triviality A tiny ease of use feature. Now when opening your inventory while standing next to an item or opened chest the relevant item slot will be focused. The slot of the last picked up item still has priority though! Optimization I keep saying that I Am Overburdened runs on a toaster, but what does this mean and is it really true? Well, for the most part, it IS true. I have a 10+ years old laptop on which I test the game from time to time (1st gen 1.5Ghz Atom CPU, 1Gb RAM for real) and the game is able to run at 60 fps (not that it matters a lot with a turn-based game but still). My work desktop is also quite modest so a performance mistake surfaces easily. The more taxing parts where the real problems lie are switching between screens and launching the game. Checking loot Sadly the inventory screen had a blatantly unoptimized implementation. Opening it could cause almost a second long halt on my older machine. It was still my original prototype implementation. Silly me, sorry for the inconvenience. I simplified the layout data of the screen, remade the loading algorithm and voila. Now it can load within the same frame of the press/click even on a simple computer.
A bit slowed down recording of the old and the new inventory opening for comparison. Parts of these changes got into the previous version so you may have experienced the speedup to an extent already. Startup So on the before mentioned toaster, it took 5+ seconds to show the title screen after launching the game. This was mainly due to pre-loading almost all the assets and saved data so that handling the content while the game is running can be simple. I postponed tiny parts of this, but the logic largely stayed the same and instead I choose to simplify the majority of the game data to speed-up load times. Still not lightning fast, but I measured a hefty 40-50% win which is really nice Tech talk So doing some optimizations is definitely a nice thing for the game, but the readers probably won’t die from excitement after skimming through these paragraphs
To spice up the entry a little I’m going into some of the details. Warning, technobabble ahead! Starting out optimizing? Easy: measure, measure, and measure. Don’t dive in changing around stuff like a madman since you could easily try to optimize algorithms which don’t really take much time or you could introduce massive changes without big wins. Once you have the answer to “what specifically needs to be optimized” and “what can actually be optimized (preferably with the least effort)” questions you are officially ready to make a mess out of those parts of your code-base
After you change something guess what? You measure some more to make sure your experiments do make things faster… Skeletons in the closet I mentioned a lot of data and loading related changes. Simply because reading meta-data took the most time (descriptions of items/monsters/pickups/chests/skills/effects + screen layouts and settings). I knew instantly I could easily optimize these with big wins, because I’m a lazy programmer What that means is I often use simple, generalized tools (usually built-in or third-party and throwaway solutions) for many things to save development time, but these tend to be quite slow (like XML and reflection…). var monsterDescriptions = xmlSerializer.Deserialize<MonsterDescription[]>(file); Yes, it really is this simple to load stuff if you are lazy Before someone attacks me for my choice, I’m not advocating this approach. It does usually work out, but I know that these shortcuts can bite you later on. Back to optimizing So switching to a format which is easier to parse and still not hard to work with. My solution: CSV
Stay tuned!

## I Am Overburdened, cracks showing

frequentHello everyone! This entry will be a bit more personal and full of rambling about game development in real life and how come making a tiny bug-fix update for a game takes a whole month. Stay awhile, because if you can put up with my whining, you are going to read some real advice The unexpected Around a month ago severe cartilage damage and bone wear (arthrosis) was diagnosed in my right wrist-bone(s). This is a permanent change. One that quite possibly will heavily affect my future I always had problems with my hand, we could call it chronic pain I guess, but it never was so frequent or so drastic that I thought something could be really wrong… In middle school, I thought it must be my hobbies. A lot of Diablo and other games plus art (both classical and digital).
In university, I thought it must be my studies. My hobbies stayed with me and I started programming multiple hours daily.
As an employed programmer, software became my full-time job and I thought it must be my life-style. I started pouring hours after work into game development and art daily because I really wanted to make games, not just business software. Probably you are rolling your eyes by now, that I must be crazy for not taking care of myself, but I’m pretty sure if you are reading this you may have a similar history and of course I always did everything I could to heal. I always took sufficient rest, sometimes totally stopping these activities for a few days taking medicinal products to recover, plus in the last few years, I used various supporters to help my hands during work.
I never experienced wild long-lasting pains. Except for 5 weeks ago. I heard it called pianist disease by a Doc and it is fairly common amongst musicians, artists, programmers, essentially anyone using their fingers and wrists excessively for work. I’ve been doing physiotherapy and taking medication during the last month besides keeping my hand in a splint and barely using it at all. It is better now. I only experience pain if I disobey the “try not to use your right hand!” rule Doctors told me that the pain will become manageable, but surgery seems to be necessary if I want to use it again for work… Yep, you guessed it well. Even though I’m right-handed (was?) and relatively fast at typing (was!) writing this entry took me a while because I used my left hand only. That is how a tiny bug-fix update takes a month Now onto the advice part:
Life will throw unexpected things at you. Even if you are at a point where everything seems to click and nothing can stop you, I’m pretty sure there is something that can. Take care of yourself and if you happen to experience similar things consult with a doctor to see if you can prevent bigger problems down the line. The update Since players discovered some glaring issues lately and I just managed to repair a few long-standing problems, I decided to put out a build with important fixes in it ASAP as version 1.2.4. Not saved Sadly the path was not “ensured” (existence of directories) in all cases when saving the game. I estimate, that this could affect quite a few people, but not many reported it so far on any of the channels for the game. I hope this means it worked for most people and not many run into it If you did lose a save I’m really sorry. Please accept my apology and know that now it is fixed and works as intended. Hallucinated boss Some items in the game are totally insane and their combinations, well let just say they can lead to weird outcomes One of these is the “Carnival Mask” which can turn monsters into hallucinations. It cannot be triggered on the boss level, as there are no other monsters around the boss itself. Except when you have an item on you which can summon monsters in certain situations. Mix in some chemical X and bang! The boss can easily turn into a hallucination, preventing the player from completing the run. Funny thing is that I already had a configuration coded for items to optionally disable them against certain enemy types (e.g.: the boss), but I probably thought this could not happen.
Fixed! Left-handed Due to the underlying technology I used the game could not support left-handed mouse usage (left and right buttons switched in the operating system). I swapped out parts of the tech and fixed this problem. As you can guess I only realized the existence of the issue when I myself started using my mouse in this mode To all the left-handed people in the world who would have loved playing I Am Overburdened with a mouse: I’m sorry for not realizing this before! Focus on what you are doing! There were some reports about the game occasionally capturing mouse input even if its window is not in focus. I tried fixing this before, but I never had the complete picture about what is going wrong. I’m still not sure if it is fully fixed, but I could reproduce a case when it occurred and with the input tech change, I could correct this problem too. Special thanks to all the community members who reported and helped in the diagnostics of these issues. Is this the end?! This slowed me to a crawl (no pun intended), but there is no way I’m stopping game development
I just wasn’t prepared for it. Neither physically nor mentally. It will take some time getting used to it, but my left-hand dexterity is getting better each day and hopefully, surgery will further improve the state of things later on.
It is uncertain now how long it will take, but I will follow through my plans and deliver the content expansion pack for I Am Overburdened. Thank you very much for reading my post and for all your support.
Take care!

## I Am Overburdened, experience tidbits

Hi there! So it came to pass, that only a tiny update gets completed within two weeks while working on another way bigger project
Hopefully, the user interface enhancements in I Am Overburdened version 1.2.3. will be appreciated still. The book of monsters The biggest (albeit functionally neglectable) change is the new “Book of Monsters” layout. Now the unlocked monsters can be explored using a scrollable grid just like in the case of the “Tome of Artifacts”. It looks much less crammed + this was a necessary change for the future Yep, this also means new monsters will join the party with the upcoming bigger content update (currently it looks like 4 to be more exact) and for this to happen the presentation had to be changed beforehand to accommodate. Scroll madness All the scroll-bars (not just the new monsters book one) were updated to handle up/down clicks too + screens where scrolling grids reacted to mouse movement (Stash, Treasury), were fixed since they could produce horrible noises with the quickly changing focused artifacts. Nearby beasts How could I forget about this feature?! The same thing was implemented for the “Tome of Artifacts” with nearby items long ago, but somehow I missed this one. Opening the “Book of Monsters” next to an enemy now selects it immediately. Tome hot-keys I also added hot-keys for accessing the tomes (Left Ctrl + A for the “Tome of Artifacts”, Left Ctrl + M for the “Book of Monsters”) with only one press as they may be opened semi-frequently during play. The input guide was updated to reflect these changes. In-game inventory on steroids! A real nemesis of mine. I could not find a good way to notify the player about nearby items so far. I tried multiple things in the past (some even made it into the game), but I was never satisfied.

## I Am Overburdened, recap and numbers

I started writing entries about the progress of the game really early on. I hoped to gather a small following who are interested in the game. I read that the effectiveness of these blogs are minimal, so I tried to maximize the results by syncing the posts to at least a dozen online communities. I also decided to produce a video version because it is preferred over text these days + I could show game-play footage too every now and then. I really enjoyed writing my thoughts down and liked making the videos so I will continue to do so for future projects, but they never really reached many people despite my efforts to share them here and there…
Social media
I’ve tried to be active on Twitter during development, posting GIFs, screen-shots and progress reports multiple times a week. Later on I joined other big sites like Facebook and Reddit too to promote the game. In hindsight I should have been more active and should have joined Reddit way earlier. Reddit has a lot of rules and takes a lot more effort than Twitter or Facebook, but even with my small post count it drove 10 times more traffic to my store page, than any other social media site. Since the game features some comedy/satire and I produced a hell of a lot of GIFs, I tried less conventional routes too like 9gag, imgur, GIPHY and tumblr, but nothing really caught on.
Wishlist campaign
I prepared a bunch of pictures up-front featuring some items and their humorous texts from the game. I posted one of these images every day starting from when the game could be wishlisted on Steam. I got a lot of love and a lot of hate too , but overall the effectiveness was questionable. It only achieved a few hundred wishlists up until the release day.
For my previous Steam game I sent out keys on release day to a 100 or so Youtubers who played any kind-of co-op game before, resulting in nearly 0 coverage.
This time I gathered the contact info of a lot of Youtubers and Twitch streamers upfront. Many were hand collected + I got help from scripts, developer friends and big marketing lists ! I categorized them based on the games they play and tried talking to a few of those who played roguelikes way before release to peak their interest. Finally I tried to make a funny press release mail, hoping that they will continue reading after the first glance.
I sent out 300 keys the day before release and continued the following weeks, sending out 900 keys total.
And the results?! Mixed, could be worse, but it could be much better too. 130 keys were activated and around 40 channels covered the game, many already on release day and I’m really thankful for these people as their work helped me to reach more players.
Why is it mixed then? First, the videos did generate external traffic, but not a huge one. Second, I failed to capture the interest of big names. I also feel like I could have reached marginally better results by communicating lot a more and a lot earlier.
Keymailer
I payed for some extra features and for a small promotion on this service for the release month. It did result in a tiny extra Youtube coverage, but based on both the results and the service itself all in all it wasn’t money well spent for me (even if it wasn’t a big cost).
Press
This was a really successful marketing endeavor considering the efforts and the resulting coverage. I sent out 121 Steam keys with press release mails starting from the day before release. Both Rock Paper Shotgun and PC Gamer wrote a short review about it in their weekly unknown Steam gems series and the game got a lovely review from Indiegames.com. Also a lot of smaller sites covered it many praising it for being a well executed “chill” tongue-in-cheek roguelike . The traffic generated by these sites was moderate, but visible + I could read some comforting write-ups about the quality of the game.
I tried Facebook ads during and a bit after the release week + in the middle of the winter sale. Since their efficiency can not be tracked too well I can only give a big guesstimate based on the analytics, sales reports and the comparison of the ad performances. I think they payed back their price in additional sales, but did not have much more extra effect. I believe they could work in a bigger scale too with more preparation and with testing out various formats, but I only payed a few bucks and tried two variants, so I wouldn’t say I have a good understanding of the topic yet.
Some lifetime traffic results: So much effort and so many people reached! Why is it “bad”, were the results such a mixed bag? Well, when it comes to development and design I’m really organized, but when it comes to marketing and pr I’m not at all. As I stated I never were really “active” on social media and I have a lot to learn about communication. Also the whole thing was not well prepared and the execution especially right at the release was a mess. The release itself was a mess . I think this greatly effected the efficiency! Just to be more specific I neglected and did not respond in time to a lot of mails and inquiries and the marketing tasks planned for the launch and for the week after took more than twice as much time to be completed as it should have. I think the things I did do were well thought out and creative, but my next releases and accompanying campaigns should be much more organized and better executed. Time & effort I don’t think of myself as a super-fast super-productive human being. I know I’m a pretty confident and reliable programmer and also somewhat as a designer, but I’m a slowpoke when it comes art, audio and marketing/pr. For following my progress and for aiding estimations I always track my time down to the hour level. This also gives me confidence in my ability to deliver and allows me to post charts about the time it took to finish my projects . Important thing to note before looking at the numbers: they are not 100% accurate and missing a portion of the work which were hard to track. To clarify, I collected the hours when I used my primary tools on my main PC (e.g.: Visual Studio, GIMP), but it was close to impossible to track all the tasks, like talking about the game on forums & social media, writing and replying-to my emails, browsing for solutions to specific problems and for collecting press contact information, you get the idea… All in all these charts still show a close enough summary. 288 days passed between writing down the first line in the design doc and releasing the game on Steam. I “logged” in 190 full-time days. Of course more days were spent working on the game, but these were the ones when I spent a whole day working and could track significant portion of it + note that in the first 4 months of the project I spent only 4 days each week working on I Am Overburdened (a day weekly were spent on other projects). Release So how the release went? It was bad, not just bad, “ugly”. After I started my wishlist campaign, close to the originally planned date (2017. Oct. 23.) I had to postpone the release by a week due still having bugs in the build and not having time to fix them (went to a long ago planned and payed for vacation). I know this is amateurish, but the build was simply not “gold” two weeks prior to release . Even with the extra week I had to rush some fixes and of course there were technical issues on launch day. Fortunately I could fix every major problem in the first day after going live and there were no angry letters from the initial buyers, but having to fight fires (even though being a common thing in the software/game industry) was super tiring while I had to complete my marketing campaign and interact with the community at the same time. The game finally went live on Steam and itch.io on 2017. Nov. 2 ! I did not crunch at all during development, but I don’t remember sleeping too much during the week before and after launching the game. Big lesson for sure . I saw some pictures about the game making it to the new and trending list on Steam, but it most probably spent only a few hours there. I never saw it even though I checked Steam almost every hour. I did saw it on the front-page though, next to the new and trending section in the under 5$list . It spent a day or two there if I remember correctly. On the other hand, itch.io featured it on their front page and it’s been there for around a whole week ! With all the coverage and good reviews did it at least sale well, did it make back it’s development costs, if not in the first weeks at least in the last two months? Nope and it is not close to it yet… Sales In the last two months a bit more than 650 copies of I Am Overburdened were sold. Just to give an overview, 200 copies in the first week and reached 400 by the end of November, the remaining during the winter sale. This is not a devastating result, it is actually way better than my first Steam game, but I would be happier and optimistic about my future as game developer with reaching around 3 to 4 times the copies by now. To continue as a business for another year in a stable manner around 7 to 8 times the copies total (with price discounts in mind) during 2018 would have to be reached. I’m not sure if the game will ever reach those numbers though . If you do the math, that is still not “big money”, but it could still work for me because I live in eastern Europe (low living costs) + I’m not a big spender. Of course this is an outcome to be prepared for and to be expected when someone starts a high-risk business, so I’m not at all “shocked” by the results. I knew this (or even a worse one) had a high chance. No matter how much effort one puts into avoiding failure, most of the game projects don’t reach monetary success. I’m just feeling a bit down, because I enjoyed every minute of making this game, a.k.a. “dream job” , maybe except for the release , but most probably I won’t be able to continue my journey to make another “bigger” commercial game. I may try to build tiny ones, but certainly will not jump into a 6+ months long project again. Closing words It is a bit early to fully dismiss I Am Overburdened and my results. It turned out to be an awesome game. I love it and I’m super proud of it. I’m still looking for possibilities to make money with it (e.g.: ports) + over a longer time period with taking part in several discount events the income generated by it may cover at least a bigger portion of my investment. No one buys games for full price on PC these days, even AAA games are discounted by 50% a few months after release , so who knows… If you have taken a liking to play the game based on the pictures/story you can buy it (or wishlist it ) at Steam or at itch.io for 4.99$ (may vary based on region). As an extra for getting all the way here in the post, I recorded a “Gource” video of the I Am Overburdened repository right before Christmas. I usually check all the files into version control, even marketing materials, so you can watch all the output of almost a year of work condensed into 3 minutes. Enjoy ! Thank you very much for following my journey and thanks for reading.
Take care!

## I Am Overburdened, it’s alive!

Hello there! In the big sprint towards publishing this game I forgot to update my blog with a proper release announcement . I had to split myself in millions to actually finish the game and put it out there, but still, silly me how could I forget . Takeaway: I have to prepare better for my next release, but I heard from other developers, that no time is actually “enough” . Released Yes, I Am Overburdened was released at evening (by GMT) on the 2nd of November. It can be bought on Steam and itch.io for 4.99$and there is a launch-week 20% discount so get it while it’s hot (currently at 3.99$ which may vary based on region)! There is also a tiny extra for my previous customers, call it a “gesture” if you will. On Steam if you bought Operation KREEP before, there is a Magic Item Tech RETRO Bundle to “complete my games” and you get an extra 10% off for I Am Overburdened (sorry itch.io users, I haven’t found a way there to bundle it like this). First day Now that I’m over the big rush for the release and over the first day, I can slowly ease into handling issues and working on updates, fixes and fine-tunings. The first batch of feedback is really positive and I got decent featuring from the press so far, which is awesome. People seem to understand and like the game, many even praise it and are really enthusiastic about its future . This is an awesome feeling! The game is up to a slow start sales wise but it is too early to draw any kind of conclusions (it’s only been a day). Of course I will do that in a few weeks in another blog entry. Fingers crossed . Thank you! Allow me to grab this opportunity to formally say thank you. Thank you for all who followed the development. Thank you for those who supported, helped and encouraged me along the way. Thank you for everyone who contributed, either with tips, suggestions, testing or critique. And thanks for everyone who already bought the game, I hope you all are having a great time ! I’m adding a new screenshot about the inn in the game (pun intended ), because in the last two weeks of development I changed it a bit (added even more stuff to the game ). Thanks for reading, I’ll be back with more stuff soon.
Take care!

## I Am Overburdened, so close, yet so far...

Hello there! This is going to be a painful post for me, but I got to do it ... TLDR:
I had to postpone the release of I Am Overburdened by a little more than a week, to the 2nd of November ! That is the Steam workshop page. The build is approved, only a press of a button would make it live, yet I messed it up big time! During the "hopefully final" test session this weekend I discovered few severe technical issues (bugs yuck). Since I went to a family visit I did not start fixing stuff + it would have taken more than a few minutes (still tried to work a little during the middle of the night , but with no luck yet ) . I also miscalculated how much time I will have for creating proper release marketing materials today, so all in all I simply did not prepare well for the 23rd of October. I can not express how sorry I am and how shameful I feel right now. This was an extremely hard decision to make. I made a lot of posts around the INTERNETZ with the previous release date, trying to gather some interest around the game, but releasing it in this state would go against my principles. I simply don't want to publish a buggy product. I know, I know, there will be bugs, no software is perfect, but as I stated numerous times before, a good game tomorrow is better than a mediocre one today and we are talking about only 10 extra days. "If it is only a few bugs and a bunch of marketing materials why not only a few days instead, why more than a week?!" Good question and the answer is simple. This is already and immensely embarrassing situation, even though I know I'm making the right choice. I feel like I'm letting people down who wanted to play the game today . It is a no-brainer, that I don't want to end up in something similar again. Targeting the 2nd of November will give me plenty of time to fix the remaining issues and prepare for a better launch without an absurd work-schedule. I hope you understand my decision and forgive me for my messed up planning. I thought about continuing the release calendar at least. I prepared the first extra one and if you are interested I will keep posting it . Again, I'm really sorry. I'll try to make it up to you with an even better game !
Take care.

## I Am Overburdened, coming soon!

Hi everyone! This entry is a bit more like an announcement and less like a devlog entry, but here it goes:
Take care.

## I Am Overburdened, striving for balance

Hello there! I'm still alive and working on the game so I jump right into what I worked on in the last month or so. Even though I was pretty silent a lot has "changed". The topic will be polishing, because it never stops , some input handling tricks and another pretty complex one: game balance. Polishing During a series of play-test sessions with friends, family and old colleagues I gathered some really valuable feedback on how to enhance the user experience. Thankfully the game itself was well received, but the mentioned "issues" really bugged me, so I sat down for a week or two to further enhance the presentation. Cost indicators This was a tiny addition but helped a lot. Now the color of the chest and shop item cost texts reflect the state whether you can open/buy them.
Animated texts I went into an in-game UI tuning frenzy, so I added a "pop" animation on value change, besides the existing yellow highlights, to gold and attribute texts.
Health bar The health bar got some love too! I implemented a fade-in/out effect for the heart sprite slowly turning it into a "black" one when you are low on health. I also added a maximum health indicator and the same value change "pop" animation I used for the gold and attribute texts.
Battle events Battle events and various skills (hit miss, dodge, fear or cripple events etc...) got many complaints due to their visibility being insufficient, leaving the player puzzled sometimes why a battle didn't play out as expected. Besides using the existing sprite effects I added text notifications, similar to the ones used with pickups. No complaints ever since . Critical strike This one was an "extra". I wanted to beef-up the effects of the critical strikes to make them look more ferocious and better noticeable.
This wide "chest chart" works out how the chests "behave" (opening costs, probabilities, possible items). Balancing sections of your game is easier than trying to figure out and make the whole thing work altogether in one pass. Parts with close to final values can even help solidifying other aspects! E.g.: knowing the frequency and overall cost of chests helped in figuring out how much gold the player should find in I Am Overburdened. #2.: Visualization and approaching problems from different perspectives are key!
The battle model (attack/defense/damage/health formulas) wasn't working perfectly up until last week. I decided to chart the relation of the attack, defense and health values and how their change affect the number of hits required to kill an enemy. These fancy "damage model" graphs shows this relation. Seeing the number of hits required in various situations immediately sparked some ideas how to fix what was bugging me . #3.: ~Fixing many formulas/numbers upfront can make your life easier.
Lot of charts I know, but the highlighted blue parts are the "interesting" ones. I settled on using them as semi-final values and formulas long before starting to balance the game. If you have some fixed counts, costs, bonuses or probabilities you can work out the numbers for your other systems more easily. In I Am Overburdened I decided on the pickup powers like the + health given by potions or the + attribute bonuses before the balancing "phase". Working out their frequencies on levels was pretty easy due to having this data. Also helps when starting out, since it gives lot of basis to work with. Now onto the unmissable personal grounds. Spidi, you've been v/b-logging about this game for a loooooong while now, will this game ever be finished?! Yes, yes and yes. I know it has fallen into stretched and winding development, but it is really close to the finish line now and it is going to be AWESOME! I'm more proud of it than anything I've ever created in my life prior .
Soon, really soon... Thanks for reading!
Stay tuned.

## KREEP, missed tap.

Some players (including me), try to achieve "lane changing" by holding down the main direction button and tapping the perpendicular direction button. The perpendicular direction gets bigger priority, due to the press occurring closer to direction evaluation in time, so it would be selected as the new direction for the player. But being a short tap the button state may be released one or two frames early and usually the following happens: Based on my guesswork, trying to achieve "lane changing" with a tap fails 3 out of 4 times (may be even worse). This is not hard to detect and sort-of can be made sure to be not mixed up with different intentions, so here comes my solution. Implementation details Instead of saving only one elapsed time since the press of a direction button, two timers are saved for the last two states (regardless whether it is pressed or released currently). This way we can buffer the most recent changes and the preceding actions of the players related to movement (buffering input events and their timings). struct BufferedInput { bool pressed; float currentElapsed; float previousElapsed; void update(bool state, float dt) { if (pressed == state) { currentElapsed += dt; } else { previousElapsed = currentElapsed; currentElapsed = dt; pressed = state; // pressed changed, timers swapped, current restarted... } } } That is the most crucial part of the solution. From now on we can detect the "missed taps" when evaluating the player movement, since we have all the required data. I think each game needs a little fine-tuning / trial and error regarding this part as timings and speed wildly varies between them, but my logic and my numbers may be useful: const float FrameTime = 1f / 60f; // frame time in case of 60 fps const float MovementTime = 12 * FrameTime; bool detectBufferedTap(BufferedInput input) { if (!input.pressed) { var tapTime = input.currentElapsed + input.previousElapsed; if (tapTime <= (MovementTime - 2 * FrameTime)) { if (input.currentElapsed &amp;lt;= input.previousElapsed) { return true } } } return false; } This means that the game considers a situation a missed tap, when a direction button is released during evaluation, a press occurred at least 2 frames after leaving the last tile (last direction evaluation) and the button was in a pressed state for at least as much time as it was released during these x <= 10 frames.
Taking these "missed taps" into account with just as much priority as a pressed input button, while the player is moving and a direction evaluation occurs, reverses the 3 out of 4 failures, so approximately 3 out of 4 times (maybe even better) a short tap is enough for a tile lane change. Tried tweaking this logic and the numbers, but could not really improve the consistency further. I'm happy with these results though. And again, after this update, controlling the game felt much better than before! Probably there won't be updates for (nor posts about) Operation KREEP for a long while, since despite my efforts the game could only reach a miniscule audience + I'm getting fully occupied by my upcoming game Unified Theory, but who knows what the future holds... Take care!

## KREEP, input is king!

It worked wondrously :)!!! The movement become a bit easier using the keyboard, the multi-press problem disappeared, but the gamepad + thumbstick based control feel got a real "level up" due to this modification! It is really cool. After completing and trying it, I felt that all the updates I've added to the game (new maps, new mutators and achievements) are simple gimmicks compared to this modification. It really makes a difference and I'm really happy I made it. After a lot of testing, I've found a situation where the new logic was kind of detrimental, and I felt like it may not actually follow the players intention. When a corridor gets blocked by a dynamic entity (a player or the KREEP), the new logic actually "tries" to move the player in a different direction, like in the following situation: Here the player presses "Down" than a bit later "Left" in both cases, but in the second case another player blocks the corridor. Since "Down" is still pressed, due to the new logic, the player starts to move downwards as there is nothing in the way. I felt like in most cases this could be counter intuitive, since the player usually tries to move towards these "dynamic blockers" (due to the game rules this is the most logical goal), so I introduced some extra code, which separates dynamic and static blockers (collidable map tiles) and handles dynamically blocked tiles just as much "preferred" as walkable tiles, so that only the button-press time-stamp makes the difference in these cases. Again this worked like a charm, but all-in-all it is pretty ugly and "duct-taped" (so no pseudo code this time :rolleyes:) + the whole thing took a long time to experiment, implement and test thoroughly. What I'm still fiddling with, but is not going to be in the upcoming Steam release, is the second issue from the original "perceived" control problems: pressing the intended direction too late. This is much trickier and it is much more a player fault than the first one, but can be helped a little with an "input window". For one or two frames, you buffer specific situations where different input state would have ended in a different direction. Than later you reposition the player, if still possible / makes sense, and it is much more likely, that the given direction is only a late press (e.g.: in the new position it would be blocked by a wall and no other directions are pressed at the current "late" frame). Most probably in these situations a one or two frame continuation in the same direction will not be noticeable by players, but will extinguish almost all late-press annoyances. Here it is, a little animation showing the inner workings of the "input window" algorithm in action: In the GIF there is a one frame "window" represented. This frame in which the decision and reposition happens is "frozen" for a tad bit so the choice is clearly visible. The second GIF shows the animation sped up to the same level as the characters move in the game. Even on this GIF with rectangles and lines, the one frame "window" and repositioning is barely visible so I have high hopes, but the implementation is tricky, so it's going to take some time + I'm already in a "I really want to release this game on Steam" mood :)! Overall working on this problem was a wonderful experience, because it taught me how much difference good input handling makes (input IS king :wink:), and that it is worth putting energy into seemingly miniscule issues/ideas too, since they may end up awarding huge benefits (+ I F'ING LOVE GAME DEVELOPMENT :D). I'm planning to release the update in two separate turns. First giving it out to those who already bought the game on itch.io and IndieGameStand within a week or two, than releasing the game on Steam a week or two afterwards. Sorry for the long write again, stay tuned for more :wink:!
Best regards.

## I Am Overburdened, light at the end of the tunnel

Hi everyone! I took my time again to make this new post, but I was really occupied with life and stuff and took approximately two weeks off from work (got married <3 + been pretty sick for a week ). Last week was only spent on polish and adding "extra" features, so it is only a matter of a few weeks to finally tackle this beast of a game , I'm almost at the end of this marathon! I'm also trying a new vlog format this time, with more video content and less slides. It is a video log after all :wink: ...
I Am Overburdened, a silly roguelike with 20 inventory slots
Tell me what you think! I'll be back in a week or two with more news on the game :wink: . Thanks for reading!
Take care.

Stay tuned.

## I am Overburdened, what takes so long?!

Hello everyone! I've been pretty silent for a while again...
Take care.

## I am overburdened, check out the graphics!

Hello everyone! Tiny post with lot of pics this time. Last week I worked on the original sprites of the game and progressed steadily. Far from finished with every piece but a huge portion is done! Missing pieces In the last log I showcased the tile graphics, but one final adjustment was missing back then. All the tile-sets shared a single stair sprite which wasn't fitting well, so I made a separate sprite for each one. Entity sprites The next stop was entities. I started out with defining clear goals for the looks and creating a palette serving these goals. The idea was to select contrasting, vivid colors to make entities pop from the environment and on contrary to the looks of the dungeons make them lively (browns and yellows are still pretty strong still :D )!
Not yet finalized! Player I really liked the design I came up with before for the player character so I reused my concept which was a failed attempt at the box art of the game. Two sprite states exists, since in the planned "story" scenes the player will have his sword in its scabbard. Chests The first apparent visual choice here are the light borders. I decided to add a colored one to every interactive entity type, so the player can not miss which tiles poses a threat and which ones provide bonuses. I made four chests with various costs/functions but I'm keeping the last one as a secret for the final version :wink: . Pickups Pickups come in many flavors. Permanent attribute bonuses (Meat = +Strength, Frying pan = +Armor, Carrot = +Vitality, Coffee = +Speed, Clover = +Luck), gold, potions, random items etc... Here are a few: Monsters I settled on a style after a few tries where the monsters are pictured from the same angle as the player. I plan to have around 15-20 unique monsters and a boss, which will provide a good variety for the 30 dungeon levels. They were divided into four groups based on the story when designing the looks: were/giant animals, goblinoids, undead and the allies of the boss. Almost all of them is ready (currently at 16). Some screenshots from the current version of the game: This week will be spent on completing the missing sprites (e.g.: items, some monsters) and overall visual improvements and polish, so I'm guessing the next entry will be similar. A kind-of "news" is my plans for an alpha demo. Before I complete and release the game I really want to do a open build (which will become the demo later) to gather feedback. I think wrapping this version up sometime next week is perfectly viable, so by the end of this week I'll post a finished plan for this too. Thanks for reading.
Take care.

## I am overburdened, miles of tiles

Than I "sketch" a simple pattern for a tile using the values, usually with a light-source residing in a North-West direction.
I add a little variation, like cracks, missing bricks, mixing up the pattern etc... Detail like wines or stains can be added after coloring is done but this step alone makes enough differences between tiles.
I know simply selecting the same hue for the given values feels easy, but it makes the outcome look kind-of boring. Try to make colors interesting by selecting at least two different hues and by playing with saturation a little. It will make a huge difference!
Now you have a nice looking tile. The next step is optional. Adding noise was a deliberate style choice in my case. You simply add an extra set of values with only slight changes relative to the originally used ones. Select the noise colors the same way as the "normal" colors. Generate a noise pattern and overlay the noise colors on top of the tile using it as a mask.
A screenshot with the final tiles:
Stay tuned!

## KREEP, apples and penguins.

Hi everyone! Haven't written for months now about Operation KREEP. It is time to revisit this old buddy bud bud of mine!
Yes, as the title suggest, it is cross-platform time :wink: ... Not official, but soon... Nope, sadly no official release yet :( , but the Linux build is ready and tested (at least on my Nix machines) and the MAC build is ready for testing too. This means, that in a week or two an official release can happen, although a little piece of the puzzle is missing. I require additional pylons! I have two PCs, so I tested the Linux version of the game on two Ubuntu versions, but more would be nice (zillion distros :( ) + I HAVE NO MAC MACHINE :( ...
This means, that the MAC build essentially never ever been started! I would really love to release the cross-platform builds, players already asked for them, but without sufficient testing it is not going to happen. Buying a MAC would be a somewhat logical investment at this point, but Operation KREEP (and my whole game development venture for that matter) is on an extremely tight budget as it is not profitable so far, so I will try to postpone that a little. Feedback, results, "compensation" Based on the differences between the builds (almost 0 code change, only packaging varies), I think a few simple checks would suffice. Whether installation works (files copied, icons set etc...), whether the game starts and basic configuration settings checks (settings work and are saved to correct application data folders) + a short test play round just for fun :wink: . I know it is shady to ask for free QA for a product, but this is the reality of the situation I'm in :| . If you would like to help out I thought about sharing a limited amount of Steam/itch.io/IndieGameStand keys for the full game as a "payment". I put together a short form to ease reporting results: KREEP, apples and penguins
If you dislike sharing any personal information, but still would like to help out, please simply post results as comments here or contact me by e-mail: [email="spidi@magicitemtech.com?subject=KREEP,%20apples%20and%20penguins"]spidi@magicitemtech.com[/email] I guess contact info of a cheap&used MAC reseller in Hungary could help too if you know any :) . Demo builds Porting tech stuff Just a little tech talk as closing words. The windows version of the game was made in C# using XNA. Two really cool projects were born to both preserve and enhance XNA in the last few years. MonoGame and FNA. Both are great and well established/tested at this point, but I choose FNA for porting Operation KREEP to Linux and MAC. My reasoning was the following:
Around a year or two ago when I was using MonoGame to work on my Linux machines I encountered some difficulties. MonoGame on Nix platform was using OpenTK for window, input and OpenGL context management and as I know, that library had it's fair share of bugs and there was no real support/contribution/fixes for it for a long while.Remark: as I know the MonoGame team changed to SDL2 lately, the same library FNA uses under the hood so it is probably not the case by now.
MonoGame favors a per-platform build approach, which looking at all the possible target platforms (desktop, mobile, consoles) is a logical choice, but requires managing and building multiple executables for each target. FNA from the get go approached this with a common desktop runtime, so one build works on all major desktop platforms (only packaging has to be taken care of per target).Remark: if I'm not mistaken, last year a "common desktop" build was introduced for MonoGame too, so technically it could work the same way as FNA for desktop.
The FNA developer Ethan Lee had laser focus on cross-platform desktop XNA development and delivery, and the wiki for FNA had a really nice documentation about both working with FNA (differences and extras compared to XNA) and packaging + delivering games using it for Windows, MAC OS X and Linux. This documentation seemed really helpful and complete.
All in all I suspect both libraries could work perfectly for publishing your games to the three major desktop platforms, but I wanted to give FNA a try too. I was pleasantly surprised, most things worked like a snap without much fiddling.That is it for today, in a few days I'll post a new video & blog entry for I am overburdened. If you decide to help MUCH LOVE, SUCH WOW :) and thanks awfully! Take care!