• Register
Post news RSS ScrumbleShip 0.19 release

A ton of backend changes means good things for the future.

Posted by on

Allot's Praepotens 2

Another month, another release - Although this one was nearly a week late!

I spent a lot of time this month going over old choices and updating them. We switched from SDL to GLFW, a HUGE change that will eventually allow Scrumble to function on Macs and on the open source opengl drivers. This affects how I deal with display initialization and input, among other things.

This change allowed me to fully separate movement from input, resulting in a stable movement speed no matter what the frames per second dip to. It also allowed me to implement a backend system for changing which keyboard buttons do what. I improved the automatic quality adjuster, allowing us to target specific frames per second goals.

At some point in the month I had a lightbulb moment, and realized that where I was using two draw calls I could use one by scaling the voxel via a left-over value in each voxel's location. This has resulted in a 20% performance gain on some ships, and has allowed me to scale freevoxels on the fly:

Particle Effects

Our threading library was old and no longer under development, so I switched to a newer library. This has few effects besides future-proofing.

I also managed to get some generic raycasting code working, and replaced several old sections of code with it. Once it fully functions, I'll integrate it into our display algorithm, finally giving us basic occlusion culling. That should result in a massive performance gain for most scenes.


Later in the month I tackled another large switch - Previously, the display grid was twice as large as the backend grid, for no particularly good reason. I adjusted the size of voxels so that both grids lined up, and thus saved tens of thousands of calculations per second, AND future programming headaches. Finding every instance of *2 and /2 in the code is tricky, though, so it took me considerably longer to troubleshoot than I expected - And some bugs may still be present!

All things considered, this month was an excellent preparation for coming code. We've solved the major hurdles between us and mac support, and between us and prototype movement support. Expect both of these things before the end of the year.


Known bugs:

  • Captain's terminal does not currently work.

Full Changelist:

  • Replaced SDL with GLFW.
  • Added "Input" section.
  • Added backend for user-modifiable controls.
  • Fixed numerous small bugs in the GLFW port.
  • Switched to a different threading library, tinycthreads.
  • Fixed reversed shift+wasd bug.
  • Applied ZeroKnight's save split patch.
  • Scaled cubes in the shader, rather than before the shader.
  • Removed the distinction between large and small cubes.
  • Made vanished blocks less prevalent.
  • Improved screen updating.
  • Fixed FPS limiter Improved FPS limiter.
  • Added FPS goal setting.
  • Fixed slow turning issue.
  • Added threaded input option. Made non-threaded input the default.
  • Another small update frequency change.
  • Adjusted fpsfixer.
  • Made free voxels faster.
  • Made free voxels fade individually.
  • Made free voxels' fade reset if they bump a wall.
  • Addtional raycasting code.
  • Additional occlusion code.
  • Additional opengl core code.
  • Switched graphics grid and normal grid to be the same size.
  • Made windows version record output to "errors.txt"
  • Fixed info mode.
  • Fixed several small bugs.
  • Adjusted speed.
  • Fixed reticle issues.
  • Fixed voxel bouncing issue.
  • Fixed issue with reticle selection.
  • Fixed another couple reticle issues.
  • Fixed lights spreading too far.
  • Minor optimizations.

Wow! This game looks great. Loving the effects too. :D

Reply Good karma Bad karma+3 votes

nice work, good luck with the update Dirkson!

Reply Good karma Bad karma+2 votes

Now that's one hell of a game i wanted to play!

Reply Good karma Bad karma+3 votes
dirkson Author

Thanks! Me too!


Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Post news
Related Games
ScrumbleShip Futuristic Sim
Related Groups
Indie Devs
Indie Devs Hobbies & Interests with 1,674 members
Indie Gamers
Indie Gamers Hobbies & Interests with 1,514 members
Indievania Web & Community with 26 members
Linux Gamers
Linux Gamers Fans & Clans with 2,970 members
Open Source Game Development
Open Source Game Development Other with 42 members
Orangehat Tech
Orangehat Tech Developer & Publisher
Science Fiction Fans
Science Fiction Fans Arts & Literature with 794 members
Scientific software
Scientific software Educational with 12 members
Team of One Game Development
Team of One Game Development Hobbies & Interests with 92 members