daboomonline's avatar

daboomonline

Cuttlefish are cool
13 Watchers171 Deviations
13K
Pageviews
Over the last few weeks I have been working on writing a 3D engine from scratch. This is the 2nd time I tried this. Last time I had barely come to grips with the basics of DirectX and I didn't fully understand some important (but complex) programming concepts. My lack of knowledge and an overall feeling of "This is impossible" led me to abandon the project.

However, after learning the basics of using OpenGL and SDL, I decided to try again but starting from scratch using concepts I learned from the first attempt. So far it has progressed quite smoothly since March. So far I have:

- An 'Engine' class as the main point of contact for the engine.
- A state system with customizable 'Load', 'Close', 'Update', and 'Render' methods which mesh with a state manager in the 'Engine' class.
- A resource manager for models, sounds, etc.
- A 'Model' class which uses my own XML based file format (which I can export to from Blender using my own exporter script :D)
- A 'Material' class which defines colours, textures, etc for the models (again using a custom XML file format).
- A 'SceneObject' class which instances models with their own properties (like position, rotation, material, etc).
- A 'Map' class which loads in a custom XML map file and creates the scene objects.

There is still much to do before it can be used for an actual game (mostly optimization because there is much memory leakage, the rendering is butt slow when rendering more then a few objects and it takes a hugely long time to render all the assets).

If you're interested,the development blog aspectengine.wordpress.com/ from the first attempt is still up and I'm still posting. If you're really interested (and maybe want to help out), you can view/checkout the source at Google Code code.google.com/p/aspect-engin… .
Join the community to add your comment. Already a deviant? Log In

More photos

1 min read
I finally got some more pictures up. I'd been meaning to do that for a while.
Join the community to add your comment. Already a deviant? Log In

A Blog!

1 min read
I decided that I needed a place to rant and post wierd stuff I find online as well as talk about 3D a bit (maybe). So I went to wordpress and here it is after a few pieces of basic graphic design in Blender and Photoshop (I forgot to save the .blend file :x)

aetheron3d.wordpress.com/

What's the name about? Think about it for a while and maybe it will come to you...
Join the community to add your comment. Already a deviant? Log In

A Fresh Aspect

3 min read
Well, as I mentioned in my previous entry, I have been playing with Ruby on Rails. Well, it wasn't as good as I first expected. Sure, it's a powerful system and I love how it's free and all the great features it has but it has issues. Primarily the difficulty of setting up a server which took me about three days to figure out due to documentation incompatible with the latest version. Second, it seemed to be a lot more complicated than it needed to be especially for a simple application. And thirdly, there seems to be only one way to do things and a lot of the actual work is handled by the framework which makes it less interesting.

So, I switched back to PHP but Dreamweaver takes care of everything for you, no code required which while it makes app development faster, it also makes it boring. Yep, programming wasn't fun any more.

So, I switched tack and bought myself a book: "C++, A Beginner's Guide" which is a 540 page tome dedicated to teaching C++ to people who are completely new to the language. As the syntax is very similar to PHP and ActionScript, I felt right at home. Now, C++ is FUN programming. It is a very nice language and you know what the best part is? DirectX!

Here's what I recommend if you are at all interested in programming games:

1. Download the Dark Basic Pro trial darkbasicpro.thegamecreators.c… and see how easy it is to make a cube appear on the screen (about 3 lines)

2. Download MS Visual C++ Express

3. Download the DirectX SDK and Windows Platform SDK

4. Install and set them up for use in Visual C++

5. Follow the tutorials at www.directxtutorial.com/ and see how easy it is to display a cube using C++ and DirectX (about 240 lines)

6. Understand that if you are interested in following a career in game programming, C++ and DirectX/Open GL are the only way you will get you dream job at Bungie/EA/Rockstar


I followed these steps and look where I ended up: A hugely motivated amateur programmer with a game engine in development with simple DirectInput support, text support and (almost) able to display loaded models.

Anyways, this is what I've been up to (besides revising for by AS exams) you can keep up with the development of the game engine here: aspectengine.wordpress.com
Join the community to add your comment. Already a deviant? Log In
As some people might know, most of the time I act as a web developer. Mainly optimizing my code for the content management system I wrote for my website. While I have always developed dynamic sites using PHP and MySQL, I decided to try new tool, Ruby on Rails www.rubyonrails.org/.

This framework, while it was tricky to get it working on Windows, it took all of about 5 minutes to set it up on Ubuntu. Unfortunately, I don't use Ubuntu very often so getting it working on Windows was more important. However, Instant Rails turned out to work very well in the end :D.

Anyway, after about a week of struggle, I have got it working (mostly) and I have managed to get the basics. It is very different to how I programmed in PHP (probably due to my roundabout way of coding where I wake up next morning unable to comprehend the code I wrote the previous evening wondering how it even runs) but I am glad that I am finally learning how to structure my code. It is also good to have an asset naming convention which is essential in Rails :)

Anyway I will be posting more photography work and web designs soon.
Join the community to add your comment. Already a deviant? Log In
Featured

Aspect Engine - Attempt 2 by daboomonline, journal

More photos by daboomonline, journal

A Blog! by daboomonline, journal

A Fresh Aspect by daboomonline, journal

I've been riding the rails by daboomonline, journal