Jarrah Technology logo

News


August 1, 2023: Learning Twitter Facebook

Tags: ProgressReport, DevDiary

Over the last month I have continued learning the Scala.js/Babylon.js environment by creating a prototype for my next game. Progress is slow but steady, and no blockers have been hit so far. I consider that a success. Progress will continue being slow for the next 2 months at least. Partially because it is new, and many of the familiar tools are missing, but also because there will be some large disruptions in my non-work life over the next couple of months. For that reason, do not expect a progress report next month. Although no loss, as it would just be more of the same.

Last month, next month and the month after:

  • More Scala.js/Babylon.js tests


July 3, 2023: Bad Skink Twitter Facebook

Tags: ProgressReport, DevDiary, Kassite, Skink

Last month I started working on Skink, a game narrative library. Now I can annouce Skink is dead. Well, maybe not permanently dead, but dead as a reimplemetation of Ink. I just couldn’t see it working for storylets (which is what I need) rather than as the engine driving a whole game (which I don’t). Unfortunately, I still spent significant time this month on it before that realisation. The rest of the month I worked on prototypes/tools for future Scala.js/Babylon.js games. I plan to continue doing that all through July too.

Done last month:

  • Stopped work on Skink library
  • More Scala.js/Babylon.js tests

Tasks for this month:

  • More Scala.js/Babylon.js tests


June 2, 2023: Skink Twitter Facebook

Tags: ProgressReport, DevDiary, Kassite, Skink, IPO, HexTacToe

May seemed quite busy as I was working through it, but as expected it was not a month of great achievements. First I created some libraries out of HexTacToe to support Scala.js/Babylon.js games (see Kassite on Github), and also some work adding Electron.js support so I could create native builds. Then I created the next IPO prototype - the first playtest went quite well (more are required). The last fortnight was spent working on Skink, a Scala reimplementation of the Ink language for game narratives. It is an interesting project, although I’m not sure how useful it will be given I have sworn off story in my games. There was also a great deal of household tasks completed. Thankfully that todo list is much shorter now.

Right now I’m focussed on finishing Skink. Or at least finished enough to be minimally useful. It is just stubborness really. I hope to have that done in a couple of weeks and after that I’m going to do some tech tests on parts of Ci2d. Plus, I’ll platest and iterate on IPO whenever possible.

Done last month:

  • Created libraries (from HexTacToe) to support Scala.js/Babylon.js game creation
  • Worked on Skink library
  • Created next IPO prototype and tested it

Tasks for this month:

  • Test IPO some more
  • Finish initial work on Skink
  • More Scala.js/Babylon.js tests


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?
  • 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.


Page 1 of 13 Next