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.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Add media Report RSS Richard the Heat Engine (view original)
Richard the Heat Engine
embed
share
view previous next
Share Image
Share on Facebook Post Email a friend
Embed Image
Post comment Comments
dirkson Author
dirkson - - 484 comments

This takes some explanation.

Back in early 2010, I had an idea for "Richard the space game". It was to be a top-down, dwarf-fortress style ascii game, simulating two space ships duking it out with sub-meter resolution.

The idea has matured since then, but this is a screenshot of a heat-code test I did back in July 2010 under the name "Richard".

This shows a 100x100x100 meter cube of butter with a diamond plate slapped up against the left side. A low-powered laser has been firing on the diamond plate for 81 simulated minutes, (about 10 real-life minutes) resulting in this odd clover-style pattern.

I don't know if this clover would occur in real life, or only in my simulation. Any physicists want to clue me in?

Much of the code from this heat-test I'll actually be able to slip into ScrumbleShip with minimal modification. Look for that in early 2012.

Cheers,
-Dirk

Reply Good karma+3 votes
CMDKeen
CMDKeen - - 647 comments

Ha, in the past I tried to make something similar to your Richard, a spaceship combat game based on the Powder Toy. It has complete movement, temperature and force/pressure system, but starts lagging at about 1 million points. That's not enough. I could halve the resolution, but that makes all intricate designs too big to be practical.

Reply Good karma Bad karma+1 vote
dirkson Author
dirkson - - 484 comments

The cube there is 100x100x100 blocks, which is exactly 1 million points. It ran 8x faster than real time, and I've since found an optimization which should speed it up even further.

I estimate that I should be able to deal with structures 10-20 times that size on most computers.

Cheers,
-Dirk

Reply Good karma+1 vote
CMDKeen
CMDKeen - - 647 comments

Woah, looks like I have a lot to learn, then. Any advice? :D

Reply Good karma Bad karma+1 vote
dirkson Author
dirkson - - 484 comments

Sorry for the long wait, didn't notice the comment!

I'm coding in straight C, which is going to be about as cpu-efficient as a programming language gets. However, coding in it is not as pleasant as coding in higher level languages, and it takes more time to get the same thing done. Using C, while slower to code, results in much faster compiled code than whatever you were using in conjunction with powder toy.

Secondly- All the algorithms I'm using in ScrumbleShip are being written from the ground up - I'm not shoehorning what I want to do into a physics engine, I'm writing a custom physics engine based on what I need. This allows me to cut a lot of corners that a more general-purpose physics engine could not. For example - In the heat code I KNOW I will always be dealing with 1-cubic-meter blocks over 1 second of time. This creates a lot of multiplications and divisions by 1, which allows me to simplify out a lot of the math.

As far as general advice... I don't really have any. It takes a certain measure of insanity to attempt to code a 3d game in straight C, alone, so I don't feel qualified to tell you what to do :D

Cheers,
-Dirk

Reply Good karma+1 vote
CMDKeen
CMDKeen - - 647 comments

I started my own project in C++, figured it would not be much worse in performance than C. Powder Toy was just an inspiration.

As for the heat and pressure, I made them spread each frame to all eight adjacent blocks. Stupid decision, now that I think of it.

Thanks for your response, it will help greatly.

Reply Good karma Bad karma+1 vote
Flash112
Flash112 - - 1,218 comments

After looking at this image i have a strange urge to play "Powder Toy" @_@
AND Scrumbleship ;D

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

Description

Screenshot from Richard the heat engine, showing heat-transfer through a cube of butter.