Ironseed

Ironseed Developer Blog


What’s old is new

The hardest part about this project for me is getting refamiliarized with 3DS Max.  Back when I was building models for Greed and Ironseed I was using the DOS version, and, right after our company closed up shop, they came out with the Windows version which was a complete rewrite of the original and a pretty steep departure UI-wise from the first.

Fast forward a few years and here we are taking the final stab at rewriting the game.  Learning 3DS all over again is a pain, but I notice a lot of similarities between how it’s evolved and how Ironseed is evolving.  Ironseed was DOS based, simple, and non extensible.  The new Ironseed will be multi-platform, much richer visually, and will be highly extensible from the plugin and scripting frameworks we’ll be using.  Now I’m not saying Ironseed is as complex as 3DS, far from it.  But it’s hard not to see how the two have changed and are changing and smile.

So it’s been 15 years since then and a lot has changed.  But our interest in coming back to this game to do it better has not.  We’ll finish this rewrite and we hope we honor the original as well as improve upon it in ways that delight and surprise you.

Stick with us for continuing updates as our work progresses and thanks for remaining our fans.


Published by adept, on March 30th, 2010 at 8:53 am. Filed under: Site News. | No Comments |

Ironseed Rewrite Progress

I’m making a lot of good progress on the Ironseed I rewrite.  I’ve had to spend some time recently bringing the engine up to speed and testing.  Now that the functionality is there, the screens should start being knocked out fairly readily.  Once I get a few done and recognize the patterns, it will be even easier.

  • Data Managers – done
  • Ship – save/load xml still needs to be implemented
  • Intro – done except for one animation
  • Main Menu – done except for background particle system and continue game menu
  • New Game – still needs save menu
  • Cargo – needs drop dialog box
  • Crew Status – just needs a couple of more animations
  • Log Entries – done

Not started:

  • Cube Manager
  • Crew Comm
  • Creation
  • Psy Eval
  • Combat – fairly complex
  • Probe Scanning – somewhat complex
  • Trade
  • Alien Comm
  • Sector Map
  • Ending animation sequence
  • Main screen and cube
  • Misc. displays on main screen – this is a big one

Ironseed Specific Code - 12250 lines (according to cloc)


Published by ravenger, on March 29th, 2010 at 10:26 am. Filed under: Site News. | 2 Comments |

Golem

I’ve been working on a new scripting mechanism I’m calling Golem.  It’s a simple construct designed to perform tasks with little or not thought.  How is Golem different than other scripting languages?  Time.  It’s not really a scripting language at all.  It’s a series of commands that all have some sort of time element, even if they’re instantaneous.

Some of the features/requirements of Golem:

  • Commands have a finite duration and cannot change that duration during execution
  • Commands can be executed at any time T
  • Commands may be executed in either direction and any speed
  • Scripts can be converted into commands – no bytecode or interpreted scripts
  • Commands may be run in parallel or sequentially

What this also means is:

  • Commands are immune to tick rate
  • Commands are immune to frame rate
  • Commands may be started, stopped, reset, reloaded and the same results will be achived at time T
  • Variables are not allowed after commands are instantiated and run

What does all this mean?  I now have a predictable method of configuring and executing animations and control of objects.  I can test animations and run them at any speed.  I can use a command sequence to run forward and then run it backwards later.  Frame rate is no longer an issue if I want the system to look a certain way at a certain time, it will be guaranteed to be there.  If the script is halfway complete and I hit the reload scripts button, all the objects will still be in the same positions (assuming I didn’t futz with the scripts). 

This is an interesting concept, it’s not like normal scripting where you expect commands to be in order and executed one after another.  Golem can jump the system into the middle and run backwards or near the end and finish up the last second.  This is the power of finite state automaton.  Normal systems and computer languages are predictable but only when executed in order and rewound.  Of course there are restrictions that make Golem unusable in many circumstances such as logic branches and variables.  Those would make the state prediction difficult, if not impossible.  Other languages can modify its behavior based on variables and states.  This is certainly not true about Golem.  For what it does, however, Golem is incredibly powerful and offloads some of the more complex sequencing of events I’ll be coding into Ironseed.


Published by ravenger, on March 27th, 2010 at 8:04 pm. Filed under: Site News. | No Comments |

Welcome to the new Ironseed.com!

You’ve made your way to the new home of Ironseed. Here, you can find the latest news updates on the development of Ironseed.

We’re currently working on updating the site to include several new sections, so please be patient and enjoy the updates to come!


Published by admin, on March 22nd, 2010 at 2:30 pm. Filed under: Site News. | No Comments |