The 1.1 patch of Space Hex Duel is now released and out on Itch.io (and still PWYW - effectively free!). It is actually quite small release, there were no game breaking bugs, so this is mainly “quality of life” improvements. Normally this would be version 1.0.1, but there are a couple of extra screens to support an online connection (feedback page, news display on the main page), so I bumped it to 1.1. Other notable changes include: a timeout on the good AI so It doesn’t sit for minutes in hard situations looking for the best possible move; and a reworded tutorial with a YouTube video (embedded at the bottom of this post) for those who just want to jump straight in. The full changelist is below.
Next up I should start some prototyping work for my next game. Although I’m considering releasing Space Hex Duel to Steam at some point, which will require a few extra tasks. So maybe a 1.2 release in a few months to add those?
Space Hex Duel 1.1.0 (13th March 2023)
Give different enemy types different names
February was a solid month. Nothing flashy or fancy, but just clearing the task list. Not bad considering I lost probably 4-5 complete days to tasks around the house. A couple of interesting issues arose. It turns out that the version of .Net Unity 5.6 uses does not support TLS1.2+ so doesn’t work on recent web services - like the host I deployed the generic server. That took a little fiddling to get working. Before working out a solution, for a couple of days, I thought the whole thing would need to be scrapped - I was not a happy boy! Also realised I needed to change the server to build-in internationalisation of strings - that was was fiddly, but not hard.
The SHD patch release is not done, but very close. Now I just need to: finish up the tutorial changes; record a video of me doing the tutorial; and then final testing. There is a good chance this will be complete in early March. Then hopefully my Internet will hold up long enough to do a little marketing. I’ll be losing a week due to holidays, so just those few tasks are the goals for the month. If there is time after that there always things to do: start Ci2d; improve the generic server; write libraries. I’ll work it out when the time comes.
Done last month:
Tasks for this month:
There was a surprise with the JarrahTech end of month summary. I was expecting to require a whole load of excuses why I did so few hours of work. I still have those excuses (I have been spending many hours doing maintenance on the house), but it turns out they are not needed. Without realising it, I have spend a respectable amount of time completing a basic generic game server. It was a mostly enjoyable process where I tried out a load of new libraries and technologies, so maybe that is why the time just disappeared?
Anyway, the generic server is largely done. The functionality needed at this stage is all there, but a couple of unexpected Docker related issues came up in a test deploy (database replication and external logging). When they are done I’ll write the integration into SHD and then the patch release. Still looking good for this month. I’m not sure I chose the best technology for the server, but I’m not redoing it now - maybe later.
I also had a chat with people about what game I should develop next. In a complete non-surprise it will be Concealed Intent 2D (a working title, not the final name). It will combine the stealth focused synchronous turn-based spaceship combat of Concealed Intent with a procgen rogue-like and on a flat 2D map (rather than full 3D). Two other ideas also caught people’s attention. As a result there may be some background work on the IPO card game, and maybe a little experimentation towards something else.
Done last month:
Tasks for this month:
The big news from last month is Space Hex Duel is released!
The plan was to take the rest of December dealing with a little marketing, the holidays and do some coding for fun before choosing the next project. Well I managed two of those. My internet connection died the day after release and only got repaired nearly a fortnight later, so not much marketing. There have been seven downloads of the game and two people got back to me - one liked it (and paid for it despite being PWYW - thanks!), the other had difficulty with the tutorial. Thanks to the feedback and some of my own thoughts, I now have a couple of things to change. Time for a patch release. It probably won’t be for this month, but hopefully early Feb it will be done. Then I’ll do some more marketing and revisit a possible Steam release.
I’m also back working on a generic online game server. Not for playing SHD online, but to handle all the other stuff like feedback, game stats, etc. As part of the patch release I will build this into SHD. It will be in keeping with the original idea of SHD as a testbed for new libraries. As for the next project, last month I had 5 ideas worth pursuing, which I have now whittled down to 6 (I had a good idea for a simple card-battler). Hmmmm.
Done last month:
Tasks for this month:
It is done! Space Hex Duel is now available on Itch.io as a Pay-What-You-Want (PWYW) download (suggested donation: US$2). I recommend interested people download it for free, and if they enjoy it and would like to say thankyou, then go back and donate. I chose PWYW as a test - to get as many people as possible playing and see if it has any potential. Also, because it has not been playtested by anyone other than myself - hopefully there will not be many issues.
For the basic marketing material see above and:
So what next?
The first task will be to let people know the game is released. Time to dust off my mailing list and Twitter/Mastodon accounts. Probably a few other places too. If nothing else it is good practice. Next, fix any bugs that come up. Since I should have tons of time apart from bugfixing (fingers crossed), I need to decide what to do next. I have 5 possibilities, from the obvious (Concealed Intent 2D) to the unusual (not telling yet!). I also need to decide if I should release this game to Steam. I’m tempted, just because Steam is so big compared to everyone else in PC games that if it is not there then the game will be obscure. However, releasing to Steam will require some extra work, and I don’t want to start that yet. Instead I will mostly spend the few weeks mostly on just-for-fun programming and household tasks. The plan being to start the new year on the next game (and if decide to do it, Steam).
Happy Holidays.
Ahhh, I am agonisingly close to release! This progress report is delayed a few days because I thought I could get it out yesterday. The game is complete (enough :). However, I forgot how long it takes to make a trailer video and other marketing materials. Now the plan is to release by Friday (9th). The trailer should be done on Monday, but then there is copy/images for various forums (Itch, website, IndieDB, mailing list, …) and I have decided to have another go at improving the AI time estimation function (presently it can be badly wrong).
My TODO list for the month:
The tasks completed last month were:
A little change to format in this progress report. Rather than say what I hope to achieve, instead the below list is SHD’s remaining tasks (in order). It is also my current plan. The goal is the release of SHD to Itch.io by the end of the month. That is it. This section comes first, because I’m focussed on the finish. Tasks 1 & 4 may take some time; the rest should be fairly straightforward (fingers crossed).
Last month I ruthlessly culled the list of remaining tasks. This game need to be finished ASAP. The AI component is good enough. I could work on it for many months if I wanted, but won’t. The online component is dropped, the feedback screen is gone. The project’s README file now has over a dozen other possible small improvements, plus a few of bigger ones (but was online play ever a real possibility?). I don’t expect to revisit them.
The tasks completed last month were:
Anyway, time to get back to it!
If you looked at SHD a month ago and again today, you would probably notice no difference at all. However, behind the scenes a great deal has changed. Over the last month my main task has been improving the AI. It soon became clear a major issue was speed. Examining a set of moves took several milliseconds (ms), and there were often thousands of possible moves, sometimes tens of thousands - it was taking too long. In speeding up the analysis, errors began creeping into the system caused by timing and threading issues. Hmmm. I decided to change the way the engine worked so that these errors could not occur and managed to get this largely complete in a week. The result was that average analysis time for a single set of moves went from 5ms to 0.19ms, error free. Proud of that work. It should be fast enough to let the AI to look more than one move ahead - which is the next task.
I also got a little distracted by possible future projects. Now have another good idea for the next project. Hard decisions will need to be made soon around what to do next.
SHD tasks for November are the same as before, just the AI is now very close to complete.
Last month’s completed tasks:
Over the next month:
The point has been reached where the end is so near, I find my attention waning and drifting to other projects. This month I spent nearly a record low number of hours on SHD, and yet my todo list is still quite short. Today I went through the list of ideas/issues/features remaining. Most are not worth doing, or are code improvements for the next game (they will make no significant difference to this one). The ones left I grouped by theme and numbered by importance - the last is #5. The first is the long-planned full AI; second is the online componenent. The others are not worth mentioning.
So what did I do this past month? The first couple of weeks was spent finishing off the r/roguelikedev tutorial event (see this post for more info). Then I spent some (too much!) time moving all my websites from Linode to GitHub Pages. Not because I’m unhappy with Linode (they have been great), but to same time by not managing my own virtual servers for a couple of simple static websites. Then I did a little daydreaming of ideas. Lastly a few hours fixing up bugs, tooltips and unlocks before starting work on the AI.
SHD tasks for the coming month are to just finish the damn thing (maybe not this month, but hopefully next).
Last month’s completed tasks:
Over the next month:
As a distraction from other things I should have been doing over the last 6 weeks, I completed the /r/roguelikedev Tutorial 2022. An event to teach people how to write roguelike games like Nethack, Angband, and my old favourite, Omega. I wanted to learn some Javascript, and this seemed a good way to go.
It is done now. There is a playable version here and the source code is here.
The controls are: