Blade Edge

Computer software | Video production | My life in general

Blade Edge main header

Blade Edge Software Source Release

November 9th, 2009 · No Comments · Software

The miss raising the Peace signs got the “Best Listener” award for the day

So today I had the pleasure of visiting a local high school in Spotswood to talk about games development. It was the first time I’d stepped into an actual classroom (lectures and stuff at conferences and IGDA meetings held in classrooms don’t count) while class was in session since I said “See yaaaa” to college back in 2003. Of course (of course) the periods that most mattered were in the morning – like, early in the morning – like, when I go to bed early. So that sort of didn’t happen – I woke up after sleeping through my 6:30am alarm at 7:30 and quick hopped in the chariot and zoomed up north through traffic to arrive at the school just as first period was ending. God how I remember my hatred for school.

I had time this weekend to throw together something resembling a slide show in PowerPoint. It had pictars and text and… that’s about it – but it got my points across and that’s key. I can’t tell you how many lectures I’ve sat through with pretty slides that tell you absolutely nothing. Or worse, just a ton of bullet points the speaker then skips over or reads in two second and then advances to the next slide. But I digress – the classes that came through from morning to early afternoon were all great audiences. I saw a fair share of dead eyes out there (don’t deny it! I’ve been there!!) but a couple got hooked, and I hope those teetering on the edge between games and web/software were tipped one way or another. I advocated games of course, but I don’t think I sugarcoated it too much – the games industry is a tough industry, no ifs ands or buts about it. Hopefully now these kids have a better idea of how to get started so by the time they’re ready for jobs they’ll actually be ready.

One of the more interesting things was the fact that two students were using SDL to build a game engine. This struck a chord in me as it was the exact same thing I did back in high school – and I keep forgetting (what with all these fancy engines we have available these days) that people would still actually want to go through all the trouble of designing and building their own engine. I had also not heard much about SDL in a while, so I didn’t think it was used much anymore – shows just how woefully out of touch I am on the programming scene. Anyways these two students were on the right track, but they weren’t quite wrapping their heads around the entirety of a game engine – fortunately I had something to help visualize it for them.

Hopefully they’re not the only ones with such ambitions, because it’s nice to finally have found a use for this code that’s been sitting around untouched for the better part of 5 years now:

Blade Edge Software Source package

Included in this download are:

  • The Katana Engine – this was my SDL engine, developed over the course of about 2-3 years. It utilizes SDL for core stuff like graphics, text and input, FMOD for sound and RakNet for networking. It has it’s own GUI (not entirely functional I don’t think, but essential elements are there). A messaging system allows components to interface with each other and pass commands to game objects to perform autonomous tasks or responses to the game environment/player input. A logger tracks any events you want and outputs into a custom format for review on crashes (or for just general performance tweaking). An in-engine console allows you to create any commands you can think of and then use them to directly apply changes to game data at run time (you have no idea how much I geeked out over this when I got it working). All told it’s a pretty powerful piece of tech – however it’s far from fully realized or optimized. I also do not claim that everything I do within it is “best practice” (i.e. singletons). The documentation for the engine (slightly outdated to the version included in the source package) is available here. You can learn more about Katana’s development via my blog tag #katana. I have no idea what sort of state the code is in compile-wise.
  • Galaxy Conquest – this was the closest I came to completing a game with the Katana engine and provides an example of a practical application of the engine. The latest source is hard-coded to a specific game state as I was testing some feature, but included backups might show the proper flow of the game code. The game utilizes all aspects of the Katana engine (it was developed in parallel to the engine). Some documentation for the game can be found here, and more information on its development can be learned via my blog tag #galaxy-conquest. This code may compile, but obviously the assets are not included to actually play it.
  • Tanto Profiler – the Tanto project was slated to replace an earlier profiler I constructed back when the Katana engine was still the Blade Edge Framework. It would read the log file generated by the engine (sometimes a HUGE file) and allow you to sift through the data via a graphical interface to determine if objects were slowing down performance or when frame rates would take a hit, etc. The project didn’t progress far past mock-up and basic groundwork before I set the entire engine aside around 2005. There is no documentation but you can learn more about its design and concept via my blog tag #tanto.

Hopefully this will help out more people – the source is entirely free for you to use however you like so go to town on it. I’ll take a thank you, either personally or in the credits somewhere, that’s all.

Also, the slides to my “presentation” are available here as well – kinda useless without notes I suppose but at least there are websites of interest for you to check out. Oh and lots of pictures of course.

I’m thinking of contacting my old high school and seeing what’s become if the Computer Science AP program I terrorized back when I was in school. I might pay them a visit as well.

Tags: ····

No Comments so far ↓

There are no comments yet...Kick things off by filling out the form below.

Leave a Comment