Starfare Haven Update

I haven’t posted here in a while. I took a break from the project to concentrate on preparing for a dream hiking trip to northern Sweden.

Here are a few videos demonstrating where things stand.

Here we are stress testing the new multi-threaded path finding, task following, and resource database. Keeping track of all the dynamic things on the ship in a way that can be very quickly searched is an interesting problem. The solution I came up with is more complex than I would like, so there may be another refactor, but for now it’s working quite well and takes advantage of multiple cores to spread the load around.

 

I did some experimentation with dynamically generating a path finding node graph based on traffic patterns. In a nutshell, I keep statistics on each grid node that an entity passes through if that node was part of a path. If enough traffic passes through a node it gets added to the graph, and can age out of the graph if the traffic is reduced. The path finding algorithm can then use the dynamic graph, which is a much smaller set than the full grid. If a path can’t be found then the full grid can still be searched.

 

Testing out the new airlock here. This demonstrates the entity following a set of tasks in conjunction with the door cycling through its states – they must work together. This is further complicated when multiple entities need to use the door since only one can use it as a time, so they must queue up (not shown here). The colors are for debugging and indicate the air pressure in each location.

Just a nice view of a larger ship with various functional rooms.

At this point, the game framework is all pretty solid and I could start working on other game systems, such as landing on planets. I’ve already made some effort towards that – I can create multiple maps and toggle between them – you’d have the ship map, and the planetary map, for example.

Oh, I guess I announced this on Twitter a while ago – the name of the game is Starfare Haven.

Current Project

My current Unity project is a space exploration/base building game. Kind of  Rimworld meets Starflight. Still in the very early stages (as most of my projects tend to be) and full of programmer art, but I’m happy with the results so far.

Just finished a first pass at optimizing the lighting system which does the whole “light spills around corners” thing in real time. It’s kind of cool to see light smoothly expand out into a hallway as a door opens.

I hope to blog about the game’s development progress and probably some technical things about things I’m doing with Unity. But for now, pictures…

Lighting:

Random planet generator experiments:

Power grid testing:

Uninstalling Windows Phone Developer Tools CTP

Like many others it seems, when uninstalling the Windows Phone Dev Tools CTP I uninstalled each of the individual components before getting to the actual “Microsoft Windows Phone Developer Tools CTP – ENU”. When this happens the uninstall doesn’t work, unless you first re-install everything else.

Like many others it seems, when uninstalling the Windows Phone Dev Tools CTP I uninstalled each of the individual components before getting to the actual “Microsoft Windows Phone Developer Tools CTP – ENU”. When this happens the uninstall doesn’t work, unless you first re-install everything else.

Or, thanks to Nick Berardi, you can just navigate to the install folder (C:Program Files (x86)Microsoft Visual Studio 10.0Microsoft Visual Studio 2010 Express for Windows Phone  CTP – ENU is the default), right click on vs_setup.msi and select Uninstall from the menu.

It works great, and is much better than redownloading the CTP and reinstalling first.

Now, back to installing the XNA Game Studio 4.0 Beta!