Wednesday, 21 December 2011

I'm still workin' on it

I may have been offline for a while now, but that's only due to lack of an internet connection, I'm still up and running, and I've even backed my data up this time! Progress so far has been the GUI is now up and running with a nice simple and clean interface. The networking is now also going and has been improved since the last version. I have made slight changes to the overall control scheme, bu those will be explained later. Currently I have the deployment menu working, but no units are being deployed, the network code to do this is under way and it should be working nicely soon. After that the final things to do are add unit behaviors, sounds / music, the credits that units will cost to drop in and make some decent-ish maps for alpha testing.

I suppose since I have been absolutely mental about preserving as many frames per second as possible in order to make this game run on anything with vista and upwards, I should put in a note about the performance. It is currently running (on my good-ish machine) at over 230 FPS, that equates to about 4-4.5ms per frame! After I have made this work out well on old hardware, I think I might start to add graphically intense features that will make the game much nicer to look at on new machines.

Sunday, 4 December 2011

More pretty pictures

Just made shadows go. Finicky things in DX11 but they go now.



These two pic's were snapped with 2x AA turned on to try preserve frame rate. The first pic was running at 3.9ms which is the same without shadows but with 8x AA turned on. The bottom frame was running at 4.4ms which is fair enough since it has to render 2x as many terrain pixels. They look pretty, not too expensive time wise and I'm happy with them. Now I'm really going to get onto the game play part. Promise.

Saturday, 3 December 2011

Progress Update

Since re-writing the graphics code in C++ with DX11 I have made good progress in getting it back to how it was before the change over.


Here is a shot looking across the base of a hill. At the moment there are no shadows but already the world is looking pretty decent. This shot was taken with 8x AA turned on which really looks good when you zoom in on the pillar. The trees need a little work to make them smooth out (The AA doesn't seem to affect them) But this is still a fairly nice picture. And the real kicker is, even with 8x AA which would have killed the XNA version, this runs at 250 FPS or 3.9 ms/f. That more than 3x faster! Now that the extra performance is paying for itself I can add more complicated effects that will really bring out the full potential. But for now it's time to get to work on the actual gameplay.

Wednesday, 30 November 2011

Icon possibility

I have done a little work on an icon:

The symbol can mean strength for which in this case I have translated into superiority. I think this is a very possible option. If you can think of any variations or ways to improve, please let me know. And tell me what you think.

Logo

I'm thinking it's getting about time to start working out a logo, or general symbol that will identify Supremacy and end up as the Icon, main menu etc. I'm thinking gray-scale and minimalistic or clashing sides. Ideas? Take the Half-Life lambda symbol for example, no matter how you draw it / colour it, so long as the person knows the series, they will know its Half-Life.

Saturday, 26 November 2011

Performance Testing

I have finally managed to draw something to the screen using DX11 (Actually DX10 because my system doesn't support 11 but it should still work fine). Anyway, I managed to draw the first triangle (harder than you would think). And I have implemented a timer to count frames per second as accurately as possible so I can easily monitor and adjust code to improve performance where I think it should be. Anyway, here's a lil' pic for you:


As you can see the current display of the triangle is drawn in ~330μs. This is a good start. I wanted to know more or less how much overhead came with the 'draw' call to the graphics card. So I added a loop to the draw code which would draw the same triangle, in the same position 'x' number of times per frame, the code looked a bit like this:

Clear screen red

draw triangle 'x' times

Show image on screen

After doing testing on this, it seemed that with x less than 10, about 330μs is to be expected. For 100 draw calls about 400μs which is good because this is the expect number of draw calls in the final game. For 400 draw calls about 500μs is the result. I will not be comparing these to XNA for two reasons, 1) I'm a tad lazy and 2) This system is fast, and is certainly going to be faster than XNA so I will be using it, without a doubt.
I am sure that with a system that is capable of utilizing full DirectX 11 these numbers would improve but when you think about it, 400μs is tiny, thats 0.4ms which is 0.0004s, so even when the rendering system has to fall back to DX11 emulating DX10 or DX10.1 there should still be no performance issues.

If at all possible, could you leave a comment or let me know the basics of the systems you are running so that I can get a good idea of how well this game will run across all interested people. Thanks.

Monday, 21 November 2011

Road Block

Up till now progress on Supremecy has been great. Daily updates of late with great leaps forward in graphics and gameplay. This has come to an end. The problem is that by using XNA to develop the game, I am using a wrapped version of DirectX 9 which produces several bottlenecks in the drawing stage of the per frame updates. These bottle necks push the game from about 5ms update time to 12-13ms update time which results in 80fps. This is all happening on my reasonably modern computer with its quad core and my year (or so) old graphics card. I cannot accept that you will need a BF3 computer to run this game therefore I am going to spend some time rewriting the core of Supremecy in C++ using DirectX 11 (If this cant be found it will use DX10) in which the bottlenecks have mostly been removed. This should improve the performance greatly, but Windows XP will not be supported, but since most people have moved on, this wont be too much of a problem. On a side note, the fact that when I created this app I actually spelt its name wrong, Supremecy should really be Supremacy. So that will be changing too.