Subscribe to:

The Kiwi's TaleWitchBlasterDerelict Blow Stuff Up

  • Strict warning: Non-static method view::load() should not be called statically in view::load() (line 1113 of /home2/earok/public_html/sites/all/modules/views/views.module).
  • Strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Non-static method view::load() should not be called statically in view::load() (line 1113 of /home2/earok/public_html/sites/all/modules/views/views.module).
  • Strict warning: Non-static method view::load() should not be called statically in view::load() (line 1113 of /home2/earok/public_html/sites/all/modules/views/views.module).
  • Strict warning: Declaration of views_handler_field_comment_username::init() should be compatible with views_handler_field::init(&$view, $options) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_handler_filter_node_status::operator_form() should be compatible with views_handler_filter::operator_form(&$form, &$form_state) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).
  • Strict warning: Declaration of views_handler_relationship::query() should be compatible with views_handler::query($group_by = false) in views_include_handler() (line 98 of /home2/earok/public_html/sites/all/modules/views/includes/handlers.inc).

Crap Flight Simulator 3

It's a tradition of mine to try and make a bare bones flight simulator in every 3D engine that I adopt, sort of my version of 'Hello World'.

Crap Flight Simulator 1 was my first attempt at a DarkBasic game (Actually my first attempt at a 3D game, period.) which was primarily to test out the terrain capabilities. A few months later I made Crap Flight Simulator 2 when I was trialling BlitzBasic, and I was so impressed by it's capabilities and ease of use that I immediately decided to switch.

On Sunday I spent half the day working on Crap Flight Simulator 3 in XNA, and well, here it is:

I guess that makes me officially a XNA user now!

Okay, it's not really much to look at (The terrain is stolen from the Creators Club Tutorials) but I am happy with what I have achieved. The main thing I worked out was how to rotate vectors (Which are used for representing 3D position) around quaternions (Which are used for representing four dimensional rotations - Don't ask) and then move those vectors forward/backwards, left/right and up/down relative to their local rotation rather then the rotation of the game world.

One of the things that bugs me about XNA is how it lacks a lot of the stuff Blitz3D had to make it easy to use. The quaternion based rotation above is a good example, in Blitz3D you never even had to think about it as it did all of that stuff in the background. It also lacks built in support for heightmap based terrains, creating primitive meshes (Spheres, Cubes etc), collisions and so on. I find that you have a lot more power with XNA, but it takes far longer to get anything decent working.

That said, I have started to code a Blitz3D inspired Library with C# and XNA that will help me build my future projects. I may open source it if it becomes any good.

Probably going to go quiet on the blog for a bit. Going on a vacation soon, then straight after that I'll be doing ScriptFrenzy.

Tags:

Comments

arran4
Offline
Joined: 05/05/2009

Do you pay for it?

Earok
Earok's picture
Offline
Joined: 02/06/2009

I am using the free Visual Studio C# 2008 Express Edition IDE, and the XNA Framework is also free (Unless you want to publish XBox games, or multiplayer games that use the Live services).