Jarrah Technology logo

News


May 2, 2023: Babylon Twitter Facebook

Tags: ProgressReport, DevDiary

Over the last month I investigated alternatives to the Unity3d game engine. In particular, the Javascript based Babylon engine (I took a look at Tyrian too, but it is 2d only so I moved on). Now there is HexTacToe, an incredibly simple hex based tic-tac-toe game created as a Scala.js and Babylon.js proof-of-concept. Play it here and the code is on Github here. I still need to clean it up a bit, but the functionality is all done. The point has been proved, all these technologies play nicely together. There was the occasional frustration, but overall it went quite well. I am impressed. There is not the community or game tooling available for Babylon as for Unity. However, there are other benefits. Definitely something for me to think about. I will need to write that post on pros/cons of different engines from my point-of-view.

April was the month highest gamedev hours since starting this fulltime, largely because I would not give up on the problems integrating the technologies in HexTacToe (it always felt like I was so close to getting it working, and I generally was). A nice target for me to aim for again in future, but not this coming month. There is a long list of non-gamedev tasks to get done that I have been ignoring since before going to Adelaide in March. So I’m lowering expectations for May. Gamedev-wise it will be mainly reading and experimentation.

Done last month:

  • Updated hex lib & started scala ink (skink) library
  • HexTacToe - simple hex based tic-tac-toe game as a Scala.js and Babylon.js proof-of-concept

Tasks for this month:

  • Clean up HexTacToe for ideas on common libs and patterns
  • Next IPO prototype?
  • Move new engine experimentation?


April 3, 2023: Annoyance Twitter Facebook

Tags: ProgressReport, DevDiary

Last month split into 4 parts. First the 1.1 version of Space Hex Duel was completed and released. Next I worked on testing out new tools and setting up the Ci2D dev environment. Then I gave up on that in annoyance and just did some fun coding before finishing with a holiday to Adelaide.

What annoyed me? Unity. In particular Unity 5.6, and the lack of support in modern libraries and technologies. Admittedly that version is about 6 years old, but it is the version I own (forever) and the prices have risen significantly for the current version. Do I really want to spend the money for an update? I don’t need any of the big new features, but there will come a time that I just won’t be able to build and run with the old version anymore. Already VS Code (my IDE) no longer supports the version of .Net required by 5.6 (I had to trick it to work productively). I don’t want to end up trapped. So it is time to investigate my options:

  • Stay on Unity 5.6 and suck it up
  • Move to the current free version of Unity
  • Move to the current paid version of Unity
  • Move to a similar open source engine like Godot
  • Move to another big (but quite different) engine like Unreal
  • Move to a Javascript engine (like Tyrian or Babylon) and release to the web

They all have their pros & cons (maybe I’ll write a post about them). For now I am going to check out some Javascript options, largely because those are the ones I know least about.

Also I learnt that I should restrict the ordering of actions in turn-based games to reduce the space of possible actions. This will make the search space for AI much smaller. For example, in SHD it is possible to shoot or place your piece in any order. Just changing this (eg forcing the player to place before shooting) would reduce the possible moves in a turn by orders of magnitude in the worst case (when there are lots of bases). I must remember this in future.

Done last month:

  • Finished and released SHD 1.1 (and did a little marketing)
  • Setup Ci2D in Unity 5.6
  • Investigated AI, Rewired, and updated libraries - none would work for SHD
  • Added steam manager to common Unity utilities
  • Hex library

Tasks for this month:

  • Finish the hex library
  • Investigate other game engines (starting with Javascript ones)


March 12, 2023: Space Hex Duel 1.1 Released! Twitter Facebook

Tags: SpaceHexDuel, ProgressReport, DevDiary

Space Hex Duel

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)

  • Add Online support (if no connection do nothing and continue)
    • Add feedback page
    • Add JarrahTech news box
    • Collect anonymous stats on player progress and locale
  • AI
    • if shooting does not destroy anything, then try the next base’s shooting rather than check if a drop is possible (as no new spaces will have appeared)
    • time limit stored in config file (timeout_seconds), defaults to 15 seconds - use the best plan found so far if time expires
    • try (a little) not to put bases that will be immediately destroyed right next to the players home
  • Change Tutorial text and ensure colours and controls referred to are correct when displayed
  • Code signed the executable (with a self-created certificate)
  • Make tutorial skippable and add a link to a YouTube video of the tutorial
  • Dropped bombs make a small explosion even if they don’t destroy what they are on
  • Set explosions to be at the top of the render queue so they are not hidden by planets/bases
  • Fix tooltip for unclaimed powerup hexes
  • Stop unlocks running over menu if there are lots of them on game over screen
  • Give different enemy types different names

  • Website
  • Presskit
  • Storefront


March 1, 2023: Solid Month - Progress Report Twitter Facebook

Tags: General, DevDiary, ProgressReport

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:

  • Generic game server deployed and integrated with SHD using a replicated DB
  • Reorganised SHD code to split out a Common Unity Toolkit as a submodule
  • AI Timeout & other improvements in SHD
  • Started on SHD tutorial rework

Tasks for this month:

  • Release SHD 1.1 and market it a little


February 2, 2023: Happy Coding - Progress Report Twitter Facebook

Tags: General, DevDiary, ProgressReport

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:

  • Finished generic game server (stats, feedback, news, etc …)
  • Chose Concealed Intent 2D (ci2d) as my next project

Tasks for this month:

  • Deploy generic game server
  • Work on (and hopefully complete) a 1.1 patch release for SHD


January 4, 2023: Inevitable - Progress Report Twitter Facebook

Tags: General, DevDiary, ProgressReport

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:

  • Little fixes in SHD
  • Released SHD to Itch with a little marketing and support
  • Rework internal Scala libraries
  • Worked on generic game server (stats, feedback, news, etc …)

Tasks for this month:

  • Finish generic game server
  • Work on patch release for SHD
  • Think about next project


December 9, 2022: Space Hex Duel Released! Twitter Facebook

Tags: SpaceHexDuel, ProgressReport, DevDiary

Space Hex Duel

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.


December 4, 2022: So Close - Progress Report Twitter Facebook

Tags: General, DevDiary, ProgressReport

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:

  1. Release!
  2. ???
  3. Profit

The tasks completed last month were:

  • Finished Tutorial
  • Improved UI and text
  • Lots of QA/bugfixing
  • Started creating marketing materials


November 1, 2022: Now Or Never - Progress Report Twitter Facebook

Tags: General, DevDiary, ProgressReport

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).

  1. Tutorial
  2. Translations: remove non-english and check text
  3. Possible small changes: should blast self-destruct? how many levels use dumb AI?
  4. Clean/test/build
  5. Itch.io: build, screenshots, cover image & release

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:

  • Finished AI
  • Completed UI sizing for different screen sizes (this took most of the time, especially tracking down a DPI scaling bug)
  • Updated splash screen
  • Bugfixes
  • Started on tutorial

Anyway, time to get back to it!


October 3, 2022: Need For Speed - Progress Report Twitter Facebook

Tags: General, DevDiary, ProgressReport

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:

  • Moved SHD engine from a Plan/Action pattern to a Command/Effect pattern
  • AI working well, just speeding up code so that can process more scenarios in reasonable time (5ms to 0.19ms so far)
  • Played with setups & org for next project
  • Bugfixes

Over the next month:

  • Full AI
  • Little improvements & bugfixes
  • Next version of prototypes
  • Online component
  • Try not to get distracted


Page 1 of 12 Next