The group for gamers dedicated to Linux. No matter if game developers or game players all are welcome interested in Linux as a gaming platform.

Post news Report content RSS feed ScrumbleShip 0.19 release

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

Posted by dirkson on Nov 24th, 2012

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.
Post comment Comments
NickMudry Nov 25 2012 says:

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

+3 votes     reply to comment
schema Nov 28 2012 says:

nice work, good luck with the update Dirkson!

+2 votes     reply to comment
Levarg Dec 5 2012 says:

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

+3 votes     reply to comment
dirkson Author
dirkson Dec 7 2012 replied:

Thanks! Me too!


+2 votes   reply to comment
Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Nov 11, 2007
Open to all members
Send Message
Join this group
Group watch
Start tracking
Post news
Related Games
ScrumbleShip Futuristic Sim
Related Groups
Indie Devs
Indie Devs Hobbies & Interests with 1,283 members
Indie Gamers
Indie Gamers Hobbies & Interests with 1,302 members
Indievania Web & Community with 25 members
Linux Gamers
Linux Gamers Fans & Clans with 2,919 members
Open Source Game Development
Open Source Game Development Other with 39 members
Orangehat Tech
Orangehat Tech Developer & Publisher
Science fiction fans
Science fiction fans Arts & Literature with 691 members
Scientific software
Scientific software Educational with 13 members
Team of One Game Development
Team of One Game Development Hobbies & Interests with 72 members