Remastering

I’m rewriting my 3 shipped games. It’s a big technical overhaul and I’m also updating some gameplay elements.

Devastro was my first shipped game and it is by far the most complex one. AI, collisions, pathfinding, bots, vehicles, cutscenes, level editor… about 60000 lines of Java in total. I decided to rewrite it in C++ and convert it from PC to mobile.

Type Raiders was my second game, also originally written in Java. The C++ rewrite is almost complete. Gameplay mechanics are pretty simple, so I can focus on getting the graphics right. I dropped the built-in level editor, since I’m not planning on making new ones.

Superforce is the most recent one, already written in C++ but I completely replaced the rendering and audio code with a new engine based on Sokol. There’s another update coming with improved collision handling and gamepad support.

 

Tiny Player for iOS 2.1.0

Tiny Player version 2.1.0 is out now on iOS. What’s new?

  • Open tinyplayer.net in your browser and the running Tiny Player app will appear automatically. You don’t have to type the IP address anymore.

There had been a few minor releases since 2.0:

2.0.4

  • Fix seeking in files with less common sampling frequencies
  • Fix saving of playlist

2.0.3

  • Add support for m4b audio book files
  • Fix crash during file management operations

2.0.2

  • EQ tweaks

2.0.1

  • Show list of supported file extensions on front upload webpage
  • Drag to reorder playlist items
  • Enable player controls on startup when a track is selected
If you like the app, you can use the new in-app tip jar.
Bug reports and suggestions are always welcome.
Have a nice day!

Tiny Player for iOS 2.0

Tiny Player version 2.0 is out now on iOS. This is a rather big update:

  • Refreshed user interface
  • Import from Files
  • ZIP support
  • Equalizer (high-shelf/low-shelf)
  • Embedded lyrics
  • Designated “incoming” folder

  • Removed support for variable playback rate
  • Removed “autosort” feature
  • Requires iOS 15 or newer
If you like the app, you can use the new in-app tip jar.
Bug reports and suggestions are always welcome.
Have a nice day!

Quick update: 2.0.1 is out:

  • Drag playlist items to reorder
  • Small fixes

New server

For the last few years I had been using DigitalOcean to host this website & a few others, file sync and my git repos. Fairly low traffic stuff on a single VPS instance. It was nice and cheap. But still… the recent 20% price increase got me thinking…

Can I build my own server?

Turns out I could! And it was a lot of fun.

I used a 10th generation Intel NUC with a 6-core i7 CPU, 32GB RAM and a 1TB NVMe SSD. Yes, overkill. But the key parameter is power usage. The whole system draws ~7W at idle. What a wonderful little machine!

For the OS I decided to install Ubuntu (22.04 LTS). I’m familiar with it and it was useful having the same OS on both systems. Then, some housekeeping on the old server:

  • removed old disconnected websites
  • put websites under separate user accounts
  • moved from Gogs to Gitea
  • organized my git repositories
  • setup a more thorough backup procedure

When I had everything ready, I brought the NUC to the new Prague data center and turned it on. It went online and the migration could begin. I started moving websites and services one by one. A few days later, the old VPS instance was empty and I turned it off.

CPU RAM Storage
DigitalOcean 1x vCPU 2GB 50GB + $extra
Intel NUC 6x CPU / 12 threads 32GB 1000GB

There’s plenty of headroom for no extra money and I feel like I’m more self-reliant.

To elaborate a little bit on the backup procedure:

  1. daily rsync (soon → rsnapshot)
  2. daily mysql dumps
  3. /etc and apt package list versioned in git
  4. secondary NUC ready for deployment
  5. backup VPS account ready for deployment  (prepaid credit)
  6. up-to-date checklist for configuring the whole software stack