• Register

ScrumbleShip is the most accurate space combat simulation devised to date. Gather resources, construct a capital ship out of individual blocks, then pilot it with AI or human help against other players.

Report article 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.

Raycasting

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.


Cheers,
-Dirk

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
angryfacing
angryfacing Nov 25 2012, 4:34pm says:

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

+3 votes     reply to comment
schema
schema Nov 28 2012, 8:01am says:

nice work, good luck with the update Dirkson!

+2 votes     reply to comment
Levarg
Levarg Dec 5 2012, 9:24am says:

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

+3 votes     reply to comment
dirkson
dirkson Dec 7 2012, 9:52pm replied:

Thanks! Me too!

-Dirk

+2 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
ScrumbleShip
Platforms
Windows, Mac, Linux
Developer & Publisher
Orangehat Tech
Engine
Custom Built
Contact
Send Message
Official Page
Scrumbleship.com
Release Date
Released Oct 31, 2011
Game Watch
Track this game
News
Browse
News
Report Abuse
Report article
Related Games
ScrumbleShip
ScrumbleShip Single & Multiplayer Futuristic Sim
Related Engines
Custom Built
Custom Built Commercial Released Sep 1, 2007
Related Groups
Indie Devs
Indie Devs Hobbies & Interests group with 1,095 members
Indie Gamers
Indie Gamers Hobbies & Interests group with 288 members
Indievania
Indievania Web & Community group with 23 members
Linux Gamers
Linux Gamers Fans & Clans group with 2,902 members
Open Source Game Development
Open Source Game Development Other group with 31 members
Orangehat Tech
Orangehat Tech Developer & Publisher
Science fiction fans
Science fiction fans Arts & Literature group with 602 members
Scientific software
Scientific software Educational group with 12 members
Team of One Game Development
Team of One Game Development Hobbies & Interests group with 44 members