Tuesday 9 October 2012

Some more thoughts...

One of the nice things about this blog, is that so far it is private. No search engines have yet picked it up and there are no followers unlike my other blog with the Gixer.

So, after much deliberation I have finally decided to re-write everything with regards to the engine. It will now be all that it can be. So multi platform and multi driver support.

This means that I will hopefully be able to support Linux, Windows, XBox and Macs. Drivers will include DX9, DX10, DX11, and OpenGL. This will mean a lot of decoupling but I think it will be worth the effort.

I will also be able to utilise both 32 and 64 bit versions and also support Unicode.

Code will be a mixture of C and C++ both to the ANSI standard. As it wont be an Open Source project, well I don't think so, I can use my own namespaces etc without needing to make everything configurable. Perhaps this is a bad move, but I really do like namespaces and keeps much of the code segmented and helps to make it more self documenting.

So the plot thickens and I have a made a good start! It will be fun getting it to work on an XBox, thats for sure. Parallel GPU programming will be most interesting to say the least!

Monday 10 September 2012

LOL, I need a development machine!

Well, I am using an Alienware laptop for my main development. I an really not too sure if it is set up write as the fps has never been great. Trying to get hold of drivers for this is hard and although it has 2 SLI'd graphics cards only one ever seems to get used.

Playing Starwars online only ever gave me 10 fps at best until I upgraded the bios, however the damm laptop kept resetting the graphics driver back to the original reducing the the fps back down to 10 fps. Highly frustrating to say the least, especially when I was getting up to 60 fps on a good day.

In the end I gave flashing the bios every couple of days to get the GPUs to work properly so now it using a single GPU and when testing DirectX 11 examples I get an astonishing 3.5 fps on basic scenes. Not what I would call exactly fast.

So this means that I really need to think about what I can do with what I have. Direct X 10 appears to work much better and I maybe able to upgrade to 11 at a later stage.

Dissapointing to say the least but I need a stable system to work with and a reasonable speed. This is one of the problems of being out of work, no income and no cash to spend on anything to improve yourself. Ho hum...

So.... DirectX 10 - here we go!

Sunday 9 September 2012

DirectX which version ?

Done a lot of programming over the last week and playing with HLSL. Ive had a few books on the subject for a while, but never really done too much on this side of things. It has been quite hard going at first trying to make sense of things by just looking at code and some sparse description on how it works.

However, it is all beginning make a lot of sense now, and having discover what more is available I am now really re-considering which version of DirectX I should really cater for. My original thinking was to use 9.0c as I had already developed some code for it, but it is rather old now to say the least. The original thinking had been to support some of the earlier versions of Windows, but as time progresses, I think that would perhaps now be a poor policy.

I have DX11 already on my 64bit Windows 7 and the SDK for DX10 so it wont be too much hardship to change header definitions and recompile for DX10, fixing stuff as occurs.

Having looked at DX12, I am not sure if I should go down that route so I am still undecided. Bearing in mind that most of the pretty stuff is done using the programmable pipline and HLSL I am not sure what benefits I would gain from it over DX11.

OpenGL support has also been at the back of mind too, but I think the learning curve for both might be a bit too steep for me. However keeping the engine open ended it may not be a too big problem to change the interfacing

By the way I am writing this while the closing ceremony for the 2012 Paralympics is just finishing. The whole event has been so inspiring and there have been times when I wish I was much younger and be in a position to do something.

Anyhow, I digress....

The Directx 11 SDK has just finished downloading so time to take a peek and see what is what.




Monday 27 August 2012

From the Start!

So why a game?

Well, I have spent a large number of hours playimg with DirectX, or more specific, DirectX 9.0c. It can be very satisfying seeing a model created with somethig like gmax in your own world and not using a comercial graphics engine.

Many graphics engines are either expensive or buggy or not open enough to allow you to really do stuff, so I have decided to write my own. It is a very large and long project, but sadly I am still out of a job and I really need to keep my hand in with coding. You know what they say... "Use it or loose it", so this is my way of using it.

The engine, called Viper is very open, but is also very complex. With open structures allowing complete configuration, one is going to need an intelligent Editor to allow not just the management of models but also the construction of structures/ header files etc that can be pulled in via the main game and then used by Viper for rendering etc.

So, the project mainly has 5 sub projects:
a) The Game Client
b) The Rendering Engine
c) The Scripting Engine
d) The Game Manager
e) The Server

All of these sub projects are immense, and it is a job to know really where to start.

I am currently working on the Manager and Rendering Engine in tandom, as both interact with each other. The Manager allows a user to design the game objects using an easy interface which hopefully will be intuitive.

I am using Visual Studio 2008 as the main development tool. I have been using this for many years now and like it a lot. The code is C/C++ where appropriate although Viper does include a Lua scripting interface so that scripters can do lots of funky stuff without the need to know the real guts of the system.

So what is the game?

In the past I have really enjoyed crafting in MMOs aswell in-depth strategy and good flight sims, with awesome graphics. The closest I have come to this is Eve-Online. But as Eve-Online is pretty hard core it is not for me. So my game is similar in places but vastly different in others. Will this be an MMO? Well it depends on server availabilty as there is nothing worse than server lag. But these are early days yet and anything is possible.


Watch this space!