What A LONG Day
I start this blog with just enough energy to write a single paragraph, but I am far from finished. I was set the mission of adding AI into the engine for Rick's demo which he needs for Saturday 6AM. It's now 4AM, and I still recall the GTALK conversation this afternoon where I wrote in jest that I only had 15 hours to sort it out. Turns out it was not nearly enough :)
So Much Yet So Little
Amazingly the first four hours was spent answering emails. Sounds insane, but it was really more about delegation and feeding back with detail on the various spinning plates of the Reloaded project. As things come together this communication time will increase I'm sure.
After much writing of emails, I moved onto finishing and fixing the save and load feature which was still presenting problems, and eventually revealed an obscure DirectX video memory issue which the internet did not seem to have a solution for. By reducing the texture plates down to 2048x2048 the problem went away completely. Not satisfactory for the long term, but allowed me to continue to the next thing....however.
Signing Off
More revelations will have to wait. I need to power down and sleep. Thanks for your continued support, yesterday was the highest blog count ever! More to come ;)
All ideas expressed in this blog are temporal and any resemblance to manifested reality are purely co-incidental. The forgoing is a casual musing from a fellow coder, not an iron clad promise of features and products - The Law
Friday, 11 October 2013
Thursday, 10 October 2013
Thursday Was Long And Lush
The Two Ended Candle
I got up early today for a Skype call, and stayed up to code. The downside to that plan was that I did not stop and it's now 2AM. A quick calculation and you have a very tired Lee. So much to show you, but no energy to translate it into blog. That said I will try.
Here is a nice shot from inside a tent with the light rays streaming through the canvas netting casting the old shadow density.
As the word self-shadowing was mentioned over twenty five times in commentary, I decided to check it out and add it to the entities to see what happened. Turns out the performance hit was negligible compared to more oppressive issues elsewhere in the engine, so it was a nice bonus.
I am however hitting a brick wall that has stolen three hours of development time, a small triangle of non-shadow in the top left corner of the test game screen where the nearest two shadow cascade views are not quite getting enough scene to calculate all the shadow for the main screen. It's one of those five minute fixes that frustratingly never gets solved, despite no less than five different ways to fix it. I have run out of time and eyeballs for one day but there cannot be much more I need to do before I find and fix this one. It does not get in the way of anything, it's just a visual annoyance!
All that said, here is the latest shot using the new self-shadowing and adjustable shadow strength.
I had a little fun placing some items around, but I had planned to spend a few hours creating some nice scenes for a video we are working on. Alas all that time was spent tweaking the self-shadows and eventually getting lost in the put of 'non-shadowing triangle hell'.
The Lush Hand Of Salvation
As a wonderful refreshing change of scenery, Mark rather timely, sent a preview of the second terrain texture set. As you know we have been prototyping the desert theme for our asset pack, but it was felt as we went along that a green scene is an excellent visual, so we added a terrain theme of 'green lush'. I'm really happy with what Mark created, especially the new grass, and hopefully this will increase the type of environments you can place your games.
It speaks for itself really. I can't wait until we explore more terrains in the future such as ice world, fire world, alien world and underground world. So much creation, so little time!
Signing Off
My apologies in advance if there are spelling errors or typos here. I cannot even see the words now, I'm just touch typing to the end of this blog :) I have uploaded a new version for the internal team, so hopefully Rick can distribute that to the artists. Rick is doing something at the weekend with Reloaded and 15,000 people, but I will allow Rick to reveal as much as he feels is appropriate through his own social feeds. For me, I wish to eat, drink and be sleepy. The software is coming along nicely now, and the IDE looks pretty solid with it's new icons and reduced less complicated appearance. I will leave that surprise until the beta though, something to anticipate!
Call To Action
One last thing. If you could tell two of your closest computer savvy friends about this blog, and get them to read a page or two, I might be able to get my daily views up and over 1500. I hope to improve my readership counter as well as the code inside Reloaded, so anything you can think of to achieve that would be most welcome. As always, let the comments flow!!
I got up early today for a Skype call, and stayed up to code. The downside to that plan was that I did not stop and it's now 2AM. A quick calculation and you have a very tired Lee. So much to show you, but no energy to translate it into blog. That said I will try.
Here is a nice shot from inside a tent with the light rays streaming through the canvas netting casting the old shadow density.
As the word self-shadowing was mentioned over twenty five times in commentary, I decided to check it out and add it to the entities to see what happened. Turns out the performance hit was negligible compared to more oppressive issues elsewhere in the engine, so it was a nice bonus.
I am however hitting a brick wall that has stolen three hours of development time, a small triangle of non-shadow in the top left corner of the test game screen where the nearest two shadow cascade views are not quite getting enough scene to calculate all the shadow for the main screen. It's one of those five minute fixes that frustratingly never gets solved, despite no less than five different ways to fix it. I have run out of time and eyeballs for one day but there cannot be much more I need to do before I find and fix this one. It does not get in the way of anything, it's just a visual annoyance!
All that said, here is the latest shot using the new self-shadowing and adjustable shadow strength.
I had a little fun placing some items around, but I had planned to spend a few hours creating some nice scenes for a video we are working on. Alas all that time was spent tweaking the self-shadows and eventually getting lost in the put of 'non-shadowing triangle hell'.
The Lush Hand Of Salvation
As a wonderful refreshing change of scenery, Mark rather timely, sent a preview of the second terrain texture set. As you know we have been prototyping the desert theme for our asset pack, but it was felt as we went along that a green scene is an excellent visual, so we added a terrain theme of 'green lush'. I'm really happy with what Mark created, especially the new grass, and hopefully this will increase the type of environments you can place your games.
It speaks for itself really. I can't wait until we explore more terrains in the future such as ice world, fire world, alien world and underground world. So much creation, so little time!
Signing Off
My apologies in advance if there are spelling errors or typos here. I cannot even see the words now, I'm just touch typing to the end of this blog :) I have uploaded a new version for the internal team, so hopefully Rick can distribute that to the artists. Rick is doing something at the weekend with Reloaded and 15,000 people, but I will allow Rick to reveal as much as he feels is appropriate through his own social feeds. For me, I wish to eat, drink and be sleepy. The software is coming along nicely now, and the IDE looks pretty solid with it's new icons and reduced less complicated appearance. I will leave that surprise until the beta though, something to anticipate!
Call To Action
One last thing. If you could tell two of your closest computer savvy friends about this blog, and get them to read a page or two, I might be able to get my daily views up and over 1500. I hope to improve my readership counter as well as the code inside Reloaded, so anything you can think of to achieve that would be most welcome. As always, let the comments flow!!
Wednesday, 9 October 2013
Wednesday Win8 Win
Half Plus Half
My half day for Win8 became a full day for Win8, but the good news is that I finally managed to track it down. Seemed to take ages to trace down, and I never would have guessed the cause. It seems on my Win8 Ultrabook, the DirectInput mouse device call to set the data format failed when I used the default mouse profile. Must have something to do with the newer touch pads on modern devices? I plugged in a corded mouse in the USB and the data format could be set as normal. Amazingly, the bug can be fixed by inserting a mouse, weirdest solution ever! Anyhoo, I have added code to trap this so it at least does not crash and burn any more. Still no clue why the call fails, and there is no information on Google (not surprisingly) on conflicts between DirectInput8 and new Windows 8 devices :)
A byproduct of this hunt is that everything is now running under a single set of redistributables so there is no longer any guesswork what you need to pre-install before running the software. Phew!
And now hopefully onto the fun stuff, which basically means more graphics and features for the engine and editor. As you have come to expect in the last few days, here is one I prepared for the occasion. Late late last night I received a new terrain texture for creating paths through the terrain, so I made a small scene to experiment:
As you can see, I got carried away with edging the path with some nature, but don't be too critical of the shot as I only spent a few seconds on it. I am starting to get that feeling from the editor now that I could easily spend hours carving out terrain features and interesting landscapes. Further, I suspect the mileage you get from editing an outdoor scene greatly exceeds what you could get from a grid based interior scene. We will see soon enough on that score when more users get there hands on the software at the end of the month.
A Flood Of Art
It seemed the universe intended the Win8 work to take half a day because this afternoon I received a flood of new art to integrate into the latest version. As a cruel trick of fate, an hour before finishing the Win8 fix, my one and only pair of glasses (£230 a pair) broke clean in two. My backup glasses are not my latest prescription so everything seems a little smaller and blurry right now :) I can carry on, but certain forces are conspiring against me today it seems, dangling fruits just out of reach.
Signing Off
Still, it's just gone midnight now and I think I can get another hour in before my eyeballs call it a night. Some easy asset additions and build a new internal version for the core team and that should be a day done. With the crash out the way, I can focus back on the good stuff so Thursday should be one of those fun days :)
Tuesday, 8 October 2013
Tuesday Forest Making
Blog Peek Day
Another new high for my modest developer blog, with over 1,188 views yesterday, which is always a nice statistic to start off my blog writing each evening. It means I know there are a few humans out there reading it, unless it's 1000 web spiders!
Progress With A Picture
Spent more than half the day with some very boring Visual Studio 2012 project cleaning work to get all binaries using the same VC redistributables. The hope was to achieve Win8 native compatibility. After over half a day work, absolutely no joy. The executable refused to run as though I did nothing. Ah well. At least my projects are consistent and all share a common dev setup moving forward. The less half provided some amusement and a new picture for you all:
What you are looking at is a new 'spray entity' feature of the editor which slightly modulates the scale and tilt of the entity you have selected and randomly sprinkles them into the map around the cursor. The upshot is that with three or four tree types, you can create a very dense and convincing forest in less than 20 seconds. Position, rotation and scale are sufficiently different enough to fool the brain into thinking lots of different trees are surrounding you, when in fact there are only six in the scene above. It took me longer to find a place to start for a decent shot than it did to create the scene in the first place.
The downside is that all these trees are clone objects, which means they are all gobbling memory, performance and draw calls. I have an idea how I can group common mesh texture batches and vastly increase performance, whilst reducing overall memory usage. I have decided to postpone this optimization in favor of more needed features of the engine for the beta. When you get your hands on this feature, go easy with it or you will find your terrain populated to such an extent it will turn your game play performance into something resembling a sequence of screen shots!!
Of course this is without self shadowing. When I add S.S, each pixel of the forest scene will be more expensive and more performance hungry. Another issue is that trees and veg are very hard to occlude so a certain amount of overdraw may prevail where semi-transparency is used. Fear not, it is all part of the development of a monster games engine :)
Windows 8 Work
As excited I am about adding physics, characters, AI, e.t.c I really want to get this basic software running on all the Windows devices around me, and it's nagging me that it does not run on a fresh Windows 8 machine. I am going to dedicate another half day to debugging exactly why the software just stalls on this OS, and get it dealt with once and for all. It's probably the one item on the list leading up to the BETA everyone will agree on. Compatibility with the minimum spec cannot be considered a B priority for a commercial product, even at beta.
Signing Off
The good news is that I have eliminated VC distributables as the cause of the software inconsistency on other systems, which leaves more likely reasons such as file write access, permission protocols or strange manifest related nonsense. I will be very happy when I finally corner THIS bug!
Monday, 7 October 2013
Monday Motoring On
Full Speed Ahead Mr Sulu
A full and productive day, with lots of little touches that make a big difference. Two things I am sure will delight is the auto-foundation system for buildings which will level the terrain beneath buildings and remove the grass vegetation from inside the area.
Another cool one is the day/night cycle is in, using a technique similar to the visuals achieved in SkyRim which did day and night very well indeed. Instead of calculating lots of sky assets, I simply fade between a day skybox and a night skybox based on hour of the day, which creeps along. Before you ask, all this will be configurable (and can be switched off).
Not in yet is the further idea that when you go to night, EVERYTHING gets affected. Terrain loses color and light, shadows get softer, weapon loses it's daylight shine and the fog rolls in to reduce nighttime visibility. Put it all together and it should be a very effective transition, and another option for your game making antics.
Physics Perhaps?
I have some (well lots) of small editor/engine related tweaks to make the creative experience better and more fluid. I also want to get all the collision and physics reactions going as soon as possible, simply because it's going to be great fun watching barrels and boxes tumble about and have the player go around things instead of going through them. We will see.
Signing Off
It's starting to look like a pretty cool editing experience now, and once the rest of the modules have been dragged into the main engine, we can start to see what kind of performance we'll get. I have installed the GTX card over the weekend and installed the performance profiling tools too. Looks like it will take more than a one click debug with the tools though, so probably a day somewhen this month will be put to CPU and GPU profiling. One good thing is that in using the NVIDIA card, I solved a bug which did not show on AMD. Those kind of slight driver differences can be difficult to catch, so I am glad I found this one quickly before it scurried away. More fun Tuesday!!
A full and productive day, with lots of little touches that make a big difference. Two things I am sure will delight is the auto-foundation system for buildings which will level the terrain beneath buildings and remove the grass vegetation from inside the area.
Another cool one is the day/night cycle is in, using a technique similar to the visuals achieved in SkyRim which did day and night very well indeed. Instead of calculating lots of sky assets, I simply fade between a day skybox and a night skybox based on hour of the day, which creeps along. Before you ask, all this will be configurable (and can be switched off).
Not in yet is the further idea that when you go to night, EVERYTHING gets affected. Terrain loses color and light, shadows get softer, weapon loses it's daylight shine and the fog rolls in to reduce nighttime visibility. Put it all together and it should be a very effective transition, and another option for your game making antics.
Physics Perhaps?
I have some (well lots) of small editor/engine related tweaks to make the creative experience better and more fluid. I also want to get all the collision and physics reactions going as soon as possible, simply because it's going to be great fun watching barrels and boxes tumble about and have the player go around things instead of going through them. We will see.
Signing Off
It's starting to look like a pretty cool editing experience now, and once the rest of the modules have been dragged into the main engine, we can start to see what kind of performance we'll get. I have installed the GTX card over the weekend and installed the performance profiling tools too. Looks like it will take more than a one click debug with the tools though, so probably a day somewhen this month will be put to CPU and GPU profiling. One good thing is that in using the NVIDIA card, I solved a bug which did not show on AMD. Those kind of slight driver differences can be difficult to catch, so I am glad I found this one quickly before it scurried away. More fun Tuesday!!
Friday, 4 October 2013
Friday Frakless Fun
Weapons Are In
Yesterday we saw saving, loading and well behaved cursors. Today we see the weapons added to the main engine and the sounds re-instating. The great news is that weapon assets are only loaded once, and all subsequent test game sessions happen almost instantly. Keeping them in memory is a very smart way to edit and play, and makes for very quick iterations of your creations!
Torn
I am now torn between adding in physics for all entities added to the level, or swapping in a new GTX graphics card in order to check out a bug Rick has been experiencing on his GTX card. I am also aware of a presentation on or around the 12th which also uses a GTX card. By installing one of my own, I can hopefully get to see this bug and fix it right away.
No doubt both of the above will be done before the middle of next week, but the reason for my apprehension is that taking my aging PC apart to insert something new into it is always a calculated risk. What if the little cherub decides not to boot up again - ever. Still, it needs to be done and best to find out now I suppose. You will know in my next blog which way I went.
Multi-sampling Anti-alias Mayhem
You may also be wondering what happened to my 'five minute' tweak to activate multisampling anti-alias. Well....
Can you tell which one has the MSAA x 4 effect applied? I agree it's not as obvious as I would have liked. Turns out this effect does not apply itself to transparent textures, just the edges of polygons. Furthermore, DirectX found it wise to allow MSAA on backbuffers, but not for textures. And as post process shaders require textures, I cannot re-direct the main screen render to a texture render target without losing the MSAA advantage. The only way is to create a new render target surface (and matching depth buffer), render the main camera to that, then stretch blit the contents over to a regular texture, downsizing the image in the process and then using that for the post process shader.
The bottom line is you can have MSAA but you lose all post processing such as bloom and light rays (and whatever else we want to add later). The second option is to add the extra code, performance hit and video memory hit to feed an MSAA effect into our shaders. Naturally, the second option will require some dedicated coding and incur a noticeable performance drop when active. There may be other restrictions on what I can do elsewhere in the engine with this second approach too, as yet blissfully hidden from me.
I then look at the above comparison shot and ask myself, should I be working on MSAA now, or dealing with things like more shaders, physics and AI. If this effect can only be appreciated by zooming in, do I really want to place a high priority on it? I will let you guys decide.
Forum Reveals All
I was as shocked as everyone else when we announced some solid dates to the Reloaded community earlier today:
http://forum.thegamecreators. com/?m=forum_view&t=208094&b= 50&p=0
Apparently we are going to have a website launch on the 11th and a full beta launch of the latest version we have here on the 31st. No pressure then :)
Zip-A-De-Do-Da
I was asked by Rick to compile the latest version of the product which zipped up to 500MB. I don't really want to keep zipping 500MB and just want to zip the changes instead. WinZip Pro are charging £42 for the ability to do this. Does anyone know a tool that does this process for free? You will find being a developer very often involves finding cheap or free solutions to problems, and this is one of them. Comments and suggestions welcome!
Signing Off
Before I depart to continue 'coding' or 'installing', please comment on two questions I have for you today. The first is who thinks they have the oldest desktop graphics card here? I am looking for some minimum specifications for Reloaded and at the moment I only have a very rough idea of performance based on my own graphics card and my unoptimised shaders. I am curious what you have and more important what you feel Reloaded should run on. I am excluding all laptops and Ultrabooks at this stage, as that will require some dedicated and protracted optimization for integrated solutions.
Secondly, I am curious what was the single incident that caused you to pledge into the Reloaded project. My current theory is that it was our long standing reputation in the field of game creation or a recent screenshots or video which set your imagination on fire. I am eager to learn if this is not the case, as it will increase my ability to encourage more pledging in the future.
Yesterday we saw saving, loading and well behaved cursors. Today we see the weapons added to the main engine and the sounds re-instating. The great news is that weapon assets are only loaded once, and all subsequent test game sessions happen almost instantly. Keeping them in memory is a very smart way to edit and play, and makes for very quick iterations of your creations!
Torn
I am now torn between adding in physics for all entities added to the level, or swapping in a new GTX graphics card in order to check out a bug Rick has been experiencing on his GTX card. I am also aware of a presentation on or around the 12th which also uses a GTX card. By installing one of my own, I can hopefully get to see this bug and fix it right away.
No doubt both of the above will be done before the middle of next week, but the reason for my apprehension is that taking my aging PC apart to insert something new into it is always a calculated risk. What if the little cherub decides not to boot up again - ever. Still, it needs to be done and best to find out now I suppose. You will know in my next blog which way I went.
Multi-sampling Anti-alias Mayhem
You may also be wondering what happened to my 'five minute' tweak to activate multisampling anti-alias. Well....
Can you tell which one has the MSAA x 4 effect applied? I agree it's not as obvious as I would have liked. Turns out this effect does not apply itself to transparent textures, just the edges of polygons. Furthermore, DirectX found it wise to allow MSAA on backbuffers, but not for textures. And as post process shaders require textures, I cannot re-direct the main screen render to a texture render target without losing the MSAA advantage. The only way is to create a new render target surface (and matching depth buffer), render the main camera to that, then stretch blit the contents over to a regular texture, downsizing the image in the process and then using that for the post process shader.
The bottom line is you can have MSAA but you lose all post processing such as bloom and light rays (and whatever else we want to add later). The second option is to add the extra code, performance hit and video memory hit to feed an MSAA effect into our shaders. Naturally, the second option will require some dedicated coding and incur a noticeable performance drop when active. There may be other restrictions on what I can do elsewhere in the engine with this second approach too, as yet blissfully hidden from me.
I then look at the above comparison shot and ask myself, should I be working on MSAA now, or dealing with things like more shaders, physics and AI. If this effect can only be appreciated by zooming in, do I really want to place a high priority on it? I will let you guys decide.
Forum Reveals All
I was as shocked as everyone else when we announced some solid dates to the Reloaded community earlier today:
http://forum.thegamecreators.
Apparently we are going to have a website launch on the 11th and a full beta launch of the latest version we have here on the 31st. No pressure then :)
Zip-A-De-Do-Da
I was asked by Rick to compile the latest version of the product which zipped up to 500MB. I don't really want to keep zipping 500MB and just want to zip the changes instead. WinZip Pro are charging £42 for the ability to do this. Does anyone know a tool that does this process for free? You will find being a developer very often involves finding cheap or free solutions to problems, and this is one of them. Comments and suggestions welcome!
Signing Off
Before I depart to continue 'coding' or 'installing', please comment on two questions I have for you today. The first is who thinks they have the oldest desktop graphics card here? I am looking for some minimum specifications for Reloaded and at the moment I only have a very rough idea of performance based on my own graphics card and my unoptimised shaders. I am curious what you have and more important what you feel Reloaded should run on. I am excluding all laptops and Ultrabooks at this stage, as that will require some dedicated and protracted optimization for integrated solutions.
Secondly, I am curious what was the single incident that caused you to pledge into the Reloaded project. My current theory is that it was our long standing reputation in the field of game creation or a recent screenshots or video which set your imagination on fire. I am eager to learn if this is not the case, as it will increase my ability to encourage more pledging in the future.
Thursday, 3 October 2013
Thursday Day
Normal Hours
Due to the meeting yesterday resetting my clock, I am now on day shift and happy to report a little more progress. Aside from answering emails, updating project documents and a little research, I have added full load and save support for terrains so many different scenes can now be created and stored.
I also solved the terrain physics collision problem which would formerly allow the camera to poke into the terrain polygons. By swelling the height map of the physics system, the has been resolved without any burden on the performance or memory.
To The Point
My thanks as well for the 2D to 3D mouse solution of the terrain cursor, it helped muchly to get my head screwed back on. Going to do a few more editor related code tasks today and then clock off at the required 5PM. With only one and a half hours left in my normal day, it feels like I have hardly done anything but I guess that's 'normal' :)
Signing Off
I am also thinking ahead to the bug reporting system we should use for Reloaded. We could use Google Code but strictly speaking it's only for open source projects and very little of Reloaded will be open source initially. I have been looking at Bugzilla and Trac, either of which can be installed on our servers and provide public bug reporting capabilities. if anyone has any other recommendations for hosted public issue tracking, post here and we'll mull.
Due to the meeting yesterday resetting my clock, I am now on day shift and happy to report a little more progress. Aside from answering emails, updating project documents and a little research, I have added full load and save support for terrains so many different scenes can now be created and stored.
I also solved the terrain physics collision problem which would formerly allow the camera to poke into the terrain polygons. By swelling the height map of the physics system, the has been resolved without any burden on the performance or memory.
To The Point
My thanks as well for the 2D to 3D mouse solution of the terrain cursor, it helped muchly to get my head screwed back on. Going to do a few more editor related code tasks today and then clock off at the required 5PM. With only one and a half hours left in my normal day, it feels like I have hardly done anything but I guess that's 'normal' :)
Signing Off
I am also thinking ahead to the bug reporting system we should use for Reloaded. We could use Google Code but strictly speaking it's only for open source projects and very little of Reloaded will be open source initially. I have been looking at Bugzilla and Trac, either of which can be installed on our servers and provide public bug reporting capabilities. if anyone has any other recommendations for hosted public issue tracking, post here and we'll mull.
Subscribe to:
Posts (Atom)






