Start Screen + Controls
3 posters
Blokworld :: Development :: Status
Page 1 of 1
Start Screen + Controls
My next plan is to get some sort of start screen knocked up to allow the setting of options. I currently have the older block engine downloadable and the new 'HD' version. I want to bring everything on board the HD version and allow the user to set some options to reduce visual quality and increase performance.
This would also be a good time to get some control customisation in which i know some folks have asked for.
Once this is up and running i will be nailing down the player collision logic and adding a few more things to building and digging (slope control for one).
And there's the ever present need for block textures which i'm shuffling through every so often. My brother is knocking up a player model. It is robotic in nature for those who are interested in that sort of thing.
This would also be a good time to get some control customisation in which i know some folks have asked for.
Once this is up and running i will be nailing down the player collision logic and adding a few more things to building and digging (slope control for one).
And there's the ever present need for block textures which i'm shuffling through every so often. My brother is knocking up a player model. It is robotic in nature for those who are interested in that sort of thing.
Slaihne- Posts : 264
Join date : 2011-03-17
Age : 56
Re: Start Screen + Controls
Excellent! Sounds good! Can't wait!
Tamloo- Posts : 16
Join date : 2011-05-17
Re: Start Screen + Controls
I've currently gotten a menu system running. I can use the Visual Studio forms designer to design most of the menus so it's pretty quick to set up / alter menus.
I've also implemented custom controls as well as some settings. I've started using the Irrklang sound engine which i intend to get a licence for (it's cheap ). So far it seems easy to use and hasn't caused me any problems.
I've also worked on optimising the number of DX calls used each frame and managed to reduce them massively. This latter part had me swearing quite a lot since there seems to be precious little documentation on it and SlimDX does things slightly differently than usig DX natively so what DX docs there were didn't quite work with SlimDX.
If anyones interested, i had loads of DX calls each frame because i was using the DirectX Effects Framework. This meant i was using EffectPass.Apply to transfer 'variables' to the video card. This was being called before each draw call. I needed to do this because i need one single vector4 (what i call the camchunkoffset) passed before i draw each chunk. Now, EffectPass.Apply sets up the pixel shader, vertex shader, texture resources, constant buffers and blendstate.
I had moved the single Vector4 i needed into it's own constant buffer thinking that DX would be 'smart' enough to say to itself, "hey, the pixel shader, vertex shader, textures, blend state, and first constant buffer are all the same, so i only need to transfer the second constant buffer, that one with the single vector4 in it. Let's do that nice and quick"
But no, each and every EffectPass.Apply call sets everything regardless. This was the source of my gazillion setrenderstates calls etc every frame. So now, i've managed to get a draw call down to an UpdateSubResource, a SetConstantBuffer, a SetVertices, SetIndices and finally the draw itself. I think that's probably the bare minimum i can get it to. Oh, and thanks Microsoft
Now that i've gotten that sorted i've been working on a few other things. A new way of handling part of the liquid drawing and a 256 block tall world instead of 128 atm.
I've also decided against the whole Minecraft way of starting the game with a random seed type thing. Instead i am having one single world, but the start menu allows you to select the point where you start (picked from a map). The Map will be several thousand KM on each side so the possible starting points will be huge. This map will only be a subset of the world, so you will be able to pick a starting point at the edge of the map and move beyond it's boundaries.
I think this single world for everyone gives me some multi player options later on should i choose to go down that route.
I have a few days of work coming up so i should be able to get a good bit more done then.
I've also implemented custom controls as well as some settings. I've started using the Irrklang sound engine which i intend to get a licence for (it's cheap ). So far it seems easy to use and hasn't caused me any problems.
I've also worked on optimising the number of DX calls used each frame and managed to reduce them massively. This latter part had me swearing quite a lot since there seems to be precious little documentation on it and SlimDX does things slightly differently than usig DX natively so what DX docs there were didn't quite work with SlimDX.
If anyones interested, i had loads of DX calls each frame because i was using the DirectX Effects Framework. This meant i was using EffectPass.Apply to transfer 'variables' to the video card. This was being called before each draw call. I needed to do this because i need one single vector4 (what i call the camchunkoffset) passed before i draw each chunk. Now, EffectPass.Apply sets up the pixel shader, vertex shader, texture resources, constant buffers and blendstate.
I had moved the single Vector4 i needed into it's own constant buffer thinking that DX would be 'smart' enough to say to itself, "hey, the pixel shader, vertex shader, textures, blend state, and first constant buffer are all the same, so i only need to transfer the second constant buffer, that one with the single vector4 in it. Let's do that nice and quick"
But no, each and every EffectPass.Apply call sets everything regardless. This was the source of my gazillion setrenderstates calls etc every frame. So now, i've managed to get a draw call down to an UpdateSubResource, a SetConstantBuffer, a SetVertices, SetIndices and finally the draw itself. I think that's probably the bare minimum i can get it to. Oh, and thanks Microsoft
Now that i've gotten that sorted i've been working on a few other things. A new way of handling part of the liquid drawing and a 256 block tall world instead of 128 atm.
I've also decided against the whole Minecraft way of starting the game with a random seed type thing. Instead i am having one single world, but the start menu allows you to select the point where you start (picked from a map). The Map will be several thousand KM on each side so the possible starting points will be huge. This map will only be a subset of the world, so you will be able to pick a starting point at the edge of the map and move beyond it's boundaries.
I think this single world for everyone gives me some multi player options later on should i choose to go down that route.
I have a few days of work coming up so i should be able to get a good bit more done then.
Slaihne- Posts : 264
Join date : 2011-03-17
Age : 56
Re: Start Screen + Controls
Everything is starting to look good. I think it will actually be interesting to have everyone have the same world since it would be cool to see what everyone did with the same seed. The only thing that I am worried about is when we get to the later stages (tower-defense) I think we should probably have more maps so we don't get board of the same one (I.E. Knowing all the possible strategies).
I can't wait for the menu and customizable control features! And hey, how are the collisions going with the slopes?
I can't wait for the menu and customizable control features! And hey, how are the collisions going with the slopes?
Tamloo- Posts : 16
Join date : 2011-05-17
Re: Start Screen + Controls
Hello Slaihne, so you are not using anymore the Effect framework ?
Effect framework is nice to have thing quicly up and running, but is really not efficient sometime
Effect framework is nice to have thing quicly up and running, but is really not efficient sometime
S33m3- Posts : 54
Join date : 2011-03-23
Re: Start Screen + Controls
Tamloo:
Still working on the the collisions.
S33m3:
I'm still using the effect framework but only to load / compile the effect. I'm bypassing it now at the drawing stage.
Still working on the the collisions.
S33m3:
I'm still using the effect framework but only to load / compile the effect. I'm bypassing it now at the drawing stage.
Slaihne- Posts : 264
Join date : 2011-03-17
Age : 56
Re: Start Screen + Controls
So you need to create your own CBuffer structure yourself (Properly aligned with the HLSL CBuffer structure) ?
That's this point that is really nice with Effect framework. You don't have to worry to create a CBuffer structure that you match the one defined in the shader.
That's this point that is really nice with Effect framework. You don't have to worry to create a CBuffer structure that you match the one defined in the shader.
S33m3- Posts : 54
Join date : 2011-03-23
Re: Start Screen + Controls
Just for info concerning the Effect framework : I'm not using it anymore (Have created my own "effect" framework).
Result :
For the same displayed scene, with effect framework I had 8456 DirectX fonctions Call. With my shaders framework : 5664 instructions ! 33% less DX call for the same result ! My fps did a big "jump"
Result :
For the same displayed scene, with effect framework I had 8456 DirectX fonctions Call. With my shaders framework : 5664 instructions ! 33% less DX call for the same result ! My fps did a big "jump"
S33m3- Posts : 54
Join date : 2011-03-23
Blokworld :: Development :: Status
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|
Fri Jul 01, 2016 7:25 am by croxxx
» Source?
Thu Jul 12, 2012 9:55 am by raistlinthewiz
» Version Available (Take 2)
Sat Jun 09, 2012 3:23 am by kamild1996
» Terrain Rendering Bug
Thu May 17, 2012 8:07 am by sackboy789
» Mystery Block!
Thu Mar 29, 2012 4:42 am by Corvin73
» Your procedural tree/plant seeding technique?
Sat Mar 24, 2012 3:10 am by Slaihne
» Voxeliq project
Wed Mar 07, 2012 4:25 am by raistlinthewiz
» What is a Tech-Test?
Wed Jan 18, 2012 12:32 pm by joeydmars
» Images
Fri Jan 06, 2012 6:02 am by croxxx