SOLACE-10 #> Posts

June 19, 2021 / / Gamedev

A new User Interface

It is one of those things which are inevitable in software development: mistakes are often obvious in hindsight.

If we go back several years, I decided that writing my own User Interface library was a good idea. This was a valuable experiment in a number of ways, providing valuable insight into the complexity of such a system: how do I bring fonts in? How does input need to be implemented in a multilayered system? What about popups? How difficult can it be to get the text in a text box wrapping correctly?

If I was just making an engine for fun and experience, that decision would have been fine. However, since I was actually trying to ship a game with it, that was a mistake. This mistake was further compounded by a reluctance to upgrade the UI system to allow for dynamic reloading, which meant that building and tweaking interfaces was very time consuming.

However, with HEXTERMINATE staying in development for the foreseeable future, there will be a substantial amount of UI work that will have to be done. For my sanity, I’ve decided to finally bite the bullet and layer a more advanced system on top of the current UI, allowing me to modify new UI elements on the fly and store the design as a JSON file.

June 14, 2021 / / Writeup

Overview

Working from home has been working well for me for the past year, with a thankfully stable and decently fast Internet connection. However, a recent service issue has led me to try some alternatives and finally set up a backup connection using a Teltonika RUT240 router with a 4G failover. I also cover having a look at the business packages provided by the ISP.

And the connection goes down

The Connection to server lost dialog in Perforce was the early warning to my family’s “Is the Internet down!?” queries coming from downstairs.

The Internet’s gone, guys. There’s nothing but a wasteland out there.

Right, lets try to get everyone back online…

May 6, 2021 / / Gamedev

With HEXTERMINATE having been out for a while and the bulk of the issues resolved, it is time to talk about what will happen to the game in the long term.

Although the game is has been released, development will be carrying on for a long time to come: HEXTERMINATE is one of my two hobby projects and one that has an ever-growing list of things I’d like to do.

Before we go any further, let me just make one thing clear: these will all be free updates and available to anyone who has bought the game.

So, lets have a look at the backlog for a broad overview of where development time is going.

Engine updates

The engine HEXTERMINATE uses is homegrown and was started a very, very long time ago (a cursory look shows the first copyright notice in it dating back to 2014, but the first files were probably created in 2006 or so). Over the years it has been updated as necessary and chunks have been rewritten to allow for easier development.

One of the systems that needs some love is the renderer. Although sufficient for what the game currently does, it is quite primitive and had large chunks of OpenGL boilerplate code which is completely unnecessary nowadays. Previously using OpenGL 2 and relying on extensions, the engine has now been updated to use OpenGL 3.3. This is unlikely to cause any issues to anyone who has bought the game, as most cards this side of 2010 will support it, while considerably simplifying any work which touches the rendering system.

These first updates will be available in the upcoming release, Build 16.

January 9, 2021 / / Infosec

Recon

As usual, recon starts with nmap across all ports:

# Nmap 7.80 scan initiated Mon Sep 28 20:01:12 2020 as: nmap -p- -T4 -A -oN nmap_full.log 10.10.10.198
Nmap scan report for 10.10.10.198
Host is up (0.070s latency).
Not shown: 65533 filtered ports
PORT     STATE SERVICE    VERSION
7680/tcp open  pando-pub?
8080/tcp open  http       Apache httpd 2.4.43 ((Win64) OpenSSL/1.1.1g PHP/7.4.6)
|_http-open-proxy: Proxy might be redirecting requests
|_http-server-header: Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6
|_http-title: mrb3n's Bro Hut
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2008|7 (85%)

We can see there is a HTTP server on 8080, and an unusual service on 7680. The page itself looks simple enough:

While exploring the page, we initiate a gobuster run on the website. There are quite a few entries which get returned, including an /ex folder which appears to contain an older, somewhat broken version of the website.

September 23, 2020 / / Devlog

After a couple of months of development, the Infinite War update is ready. With it, HEXTERMINATE gains a new game mode with procedurally generated galaxies and brings new challenges to the players.