0.20 - Now with Mac Support!

Transparent ship with Milky way

Packing a ton of new features, I've finally gotten 0.20 out the door.

As you can see, we've finally gotten transparency into the game. Not only does this make diamond and corundum (Ruby, in this case) blocks look great, it adds subtle effects to many existing blocks, AND allows us to show rotations before the player places blocks, making building far easier.

The ship pictured is "Shimmer", a ship I built to test out transparency. She's a small diamond fighter, and probably not the ship you'd like to be in if the enemy is using lasers.

Multiple Ships - Improved

We've constructed an entire system for placing objects in a solar system, and applied ships to this system. Now we can have multiple ships flying around a given scene - Although rotation and object detection are still in the future. It's quite exciting to see a ship as big as the S.S. Queen Mary Ann decide it'd like to go for a little stroll.

And let's not forget the biggest item: Mac support.


The culmination of more work than I care to think about, including switching a backend API and entirely rewriting the 2D renderer, ScrumbleShip finally works on Macs - Albeit 10.7+ Macs only. I'll be writing an article about the porting experience in the near future, for those curious. Thanks to diligent community contributions and bug reports, the current Mac release of ScrumbleShip has no known Mac-specific bugs.

The coming months also hold exciting things, possibly including textured low-resolution blocks, ship rotation, engine-based physics for ships, and planet rendering. Stay tuned for more information!


P.S. 0.20 Changelog:

  • Switched to faster floating point math
  • Added approximate square root function
  • Separated out raycasting source file
  • Separated out solar system source file
  • Added several functions to facilitate players and ships moving around in a solar system
  • Switched to raycasting hit detection for player movement
  • Enabled a prototype 2D rendering test for Mac
  • Fixed 3D rendering on opengl core
  • Fixed a longstanding free voxel crash - Thanks Slam!
  • Fixed player speed.
  • Fixed max speed of 0 bug.
  • Fixed several critical bugs with new location system.
  • Improved parse speed (x4!) for distant objects
  • Temporarily assigned ship movement to numpad.
  • Made braking match current ship speed
  • Made clamping match current ship speed
  • Made loading ships create new ships
  • Added transparent voxels
  • Added high quality transparent algorithm
  • Added option to disable high quality transparency
  • Fixed issue with voxels vanishing behind transparency
  • Fixed minor graphics distance glitch
  • Fixed build issue on win
  • Minorly increased speed of high quality transparency
  • Improved speed of high quality transparency parser significantly
  • Made transparency work with materials
  • Fixed issue with transparent block draw order
  • Improved transparent parse speed
  • Improved general parse speed
  • Fixed inside out block issue
  • Updated and improved Options Screen, separating it into multiple pages.
  • Cached block locations in GraphicsBlocks
  • Made transparent large blocks not render
  • Added options to the graphics options menu
  • Fixed block placing bug
  • Added mouse options
  • Fixed minor LOD issue
  • Fixed windows build error
  • Added more options to the gui
  • Added new category to the options gui
  • Fixed bug with crosshair option
  • Improved reliability of error writing on windows
  • Improved initialization errors
  • Improved opengl errors
  • Re-added flashlight
  • Made player/ship collision detection slightly less buggy
  • Fixed Music slider increase
  • Fixed subtle bug with regards to parsing
  • Reworked ship saving to choose better times to save at
  • Added forgotten Threaded Input option
  • Fixed errant twinkling of transparent items under flashlight
  • Re-added a better twinkling effect for transparent materials
  • Improved twinkle effect
  • Switched to new font rendering method
  • Switched to new 2D rendering method
  • Made non-auto rotations make a ghost block
  • Minor fixes for some limited GPUs.
  • Completely removed FTGL support to assist the mac build changes
  • Made the window creation system much more robust
  • Fixed an error in the robust context creator
  • Added option for MESA GPUs
  • Improved collision detection
  • Improved ship loading Made ship change automatically on movement
  • Fixed launch-jump via W+Space
  • Fixed spacebar getting stuck
  • Fixed spacebar not stopping player
  • Improved Makefile
  • Made work on Mac (Thanks Alex!)
  • Improved directory structure
  • Fixed bug that launched the user when switching ships
  • Fixed clamping to hull with space
  • Updated license files
  • Re-added stars for some platforms. (Not Mac yet)
  • Re-added sepia tone menu background
  • Fixed scrollwheel bug
  • Made far away ships move more smoothly
  • Added transparency to lights, terminals, and factories
  • Fixed artery blocks
  • Sped up flashlight
  • Made ghost-blocks rotate with scroll and control+scroll
  • Fixed HUD
  • Fixed "View scale speed"
  • Improved auto-distance limiter algorithm
  • Re-added terminal font
  • Fixed slider bug
  • Improved 2D renderer
  • Fixed Mac texture bug

i have a question, does movement work without engines? or i have to implement the whole machinery to the ship in order to move?

dirkson dirkson's picture

Currently it works without engine, Xaritscin. Probably by next version engines will be a de-facto requirement, although it'll take additional time before I can hook those up to liquid fuel systems.


MuzzledElk MuzzledElk's picture

Do you have an idea of a release timeframe for proper movement? I like the sound of deadlines as they fly by.

I thought what I'd do is pretend I was one of those deaf mutes.

dirkson dirkson's picture

Deadlines do whoosh by!

Well, there's movement and then there's movement. Here's some of the big changes that'll be happening in the next few versions, in no particular order:

1. Engines apply force to the shape of the ship as a whole. This will make engine placement matter, and require rotation of faraway ship graphics. This will likely be done first.

2. Engines apply force to the mass of the ship. This will make heavier ships accelerate slower than larger ships. It's a second step on top of the first.

3. Engines ensure that they are in appropriate locations to generate any thrust. I'll need to ensure that you guys haven't encased your engines inside steel cubes, for example. Because I know you'll do it if I let you.

4. Engines consume shipboard materials. This will affect the mass of the ship in real time, and thus the flight charactaristics. It'll require the shipboard pumps and electricity to work, so it'll likely be done in the far future.

5. Engines apply force to structural materials. This will require my "force transfer engine" to be in full working order, but will allow engines to apply stress to shipboard materials as they turn on. This will allow realistic breakage, and will affect flight charactaristics somewhat - Energy spent heating the hull cannot be used to move forward.

6. Shipboard controls so that you can actually go someplace with the engines. Navigation in 3D space around orbital bodies is DAMN tricky. Try Kerbal Space Program if you haven't already for a taste of that. I intend to add in some rather advanced autopilot mechanisms to assist you in orbital maneuvers.