Novaleaf Technical Diary
my thoughts on scenegraphs

Some posts on how to use or not use scenegraphs got me to write up a little on how we use them:

we use a spatial query for game objects, but a composite object (such as a building) may be made of sub-objects, so i basically have a scenegraph for those.  

this also lets a composite objects manage their own collision resolutions, extending the base functionality where needed.

so a hybrid approach!

- JasonS

.net 4.0 “ElasticObject” (dynamic duck typing)

I came across something nice for .net 4.0, potentially scripting functionality 

http://amazedsaint.blogspot.com/2010/02/introducing-elasticobject-for-net-40.html

Elastic Object offers a nice way to define/edit xml via duck typing, which may be useful for user-specificed data formats.

keeping it in mind, but unfortunately compiler services are not part of the CF framework, so this long-term usefulness is fairly limited at this time.

-JasonS

new sandcastle is out

At Novaleaf, we use Sandcastle to generate code documentation.

Not only code documentation, but as part of our “Novaleaf Simplified Process”, a major concept is “Close To Code”, meaning if possible, all documentation should be done in the code files.

So, code documentation tools are very important to our development methodology.

We are about 2 weeks away from moving to Xna4, which requires VS2010, and would let us support use of .Net 4.0, so i was happy to find out today that a new .NET 4.0 version of sandcastle is released.

- JasonS

agile planning poker

if you are a part of an agile team and participate in “planning poker” you might find this site interesting.

if not, move along.  there’s nothing to see here.

-JasonS

free c# design pattern ebook:  if you don’t own one, this may be your ticket….

Gamefest 2010 presentations

A msdn blog noted that the gamefest 2010 content is up and available to download

get the US or UK content

enjoy!

-JasonS

Windows file copy sucks

trying to move a few thousand files in Win2k8 server:

  • wait an hour for windows to “calculate” how long the file copy would take (of course, all that calculation time without actually doing a, you know…  COPY)
  • click “cancel” and then wait 30 minutes in disgust as windows trys to figure out how to cancel a “calculating”.
  • open task manager and hard-kill explorer.

Then I remembered Robocopy from my old msft days.   what do you know, it’s built into windows now.  

What about a gui version?

Thankfully, a short google search later brought me to RichCopy, the successor to robocopy:

http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx

so if you ever copy tons of files (who doesnt?)  use this instead of the broken, tragic file copy found in windows. 

-JasonS

Direct Compute Lecture Series

If you are interested in taking advantage of GPGPU development using DirectX’s DirectCompute,  here’s the best chance you have to leap into it:

http://blogs.msdn.com/b/directx/archive/2010/06/15/introducing-the-directcompute-lecture-series.aspx

This lecture series offers a full noob-to-expert curriculum towards GPGPU mastery.

-JasonS

Development Methodology Documentation

part of an email i sent related to some “workflow” work i’m doing on my “spare time” this week….

  • I think the ISO process that Ann is spearheading is a great way for us to improve our internal workflow, and that gives us a chance to discover a better, sustainable development methodology.
  • previously we have used “waterfall” and “scrum” but they haven’t worked too well.  here’s my summary of why:
    • waterfall requires too much documentation and top down management (by me.  since i’m our best dev, I should probably be doing architecture and development instead of writing docs!)
    • scrum requires too much individual self-management.  most people are motivated to self manage, but if they don’t have the practical skills/experience to do so, it’s too easy to get off track (or dont even know where to start!)
  • I discovered an interesting middle-ground, called the Agile Unified Process.  So using this as the “template”, I will be creating an adaption for Novaleaf, as “simple as possible” workflow for our individual-contributors (IC’s)
    • of course, that takes time, and while important in the long term, I will put this as second priority to the needed Engine Redesign.

cool .net 4 feature: Unity

http://unity.codeplex.com/

Unity is a dependency injection framework.

not a mono based game engine ;)

-JasonS