Friday, 24 May 2013

Friday Map Editor Fun

Inside the Map Editor

A small triumph today as I manage to get the Instance Stamp system tentatively working inside the current FPS Creator Reloaded map editor.

What you are seeing is the system that only creates segment renders when the camera needs them operating inside the map editor.  You can also see, there is no lighting being applied and they are all using a single texture, but there are no nasty artifacts and you can paint segments as normal. You also cannot delete segments at the moment, though this functionality is now added to the instance stamp system.

From this foundation I can start to craft in all the bits needed to get it back to where the map editor was about six weeks ago.  Might seem like a giant step backwards, but given a few days the new system will be able to edit segments as before, but now those levels can be 500x20x500 in size and the memory footprint won't go above 1GB unless seriously taxed with polygons.

The Long Walk

Before turning my attention to editor integration I did a quick test and discovered it would take you just under 5 minutes to jog from one end of the new Reloaded level to the other end, which is a long time when you consider that is in a straight line along the shortest distance of the level edges.  Now consider how long it would take you to fill a space 500x20x500 (or even 500x500) with meaningful detailed content and you will realize that by coding the engine for the worst case polygon scenario, the actual usage patterns would hardly scratch the surface and protect both memory and performance levels.

There are some unknowns still be to discovered such as the extra memory footprint of the mip-mapped textures, the sound and music, the memory required to store and operate all the AI, the data banks that drive all the logic of a level and who knows what else.

I don't think we're going to get infinite worlds here, but we should end up with a level too large to populate in a single sitting whilst remaining inside our maximum memory capacity of 1.8GB.

Light and AI

It's great to see comments and conversations spring up around these two issues, and as much as AI is an exciting feature to think about the code will have to wait until we have cracked the fundamentals.

It looks like the voting scales are ever so slightly leaning towards the deferred approach to rendering, and I am happy to leave the subject bubbling a while longer until my brain leaps out the bath and yell eureka.  Quite rightly, Mark warns of severe performance issues when rendering deferred, as you really do need to render the scene at least two times.  With the forward render layer trick for transparent and secondary shader elements, that count increases to three. When you add shadows through CSM, you are anywhere from four to six times. I don't need to tell you that all this spells massive slowdown if your graphics card does not have the video memory and GPU grunt to process all that. It could be a quick and dirty prototype is the way to resolve this question, and then try it out on what we all agree would be the Reloaded minimum specification.

Signing Off

I am taking the weekend off to visit family and friends in my shiny new car (well, new to me) and probably doing to have a beer or three before the weekend comes to a close. For those who asked, the car is a Honda Accord, voted the most reliable manufacturer seven years on the trot. It's bank holiday Monday here in the UK I think but I will be cracking on finishing off Instance Stamping in the editor, getting textures and shaders working there again and ensuring the same functionality exists as before. From there we can look at lighting prototypes and basic physics so we can run around the new instance-stamp universe and jump off crates!  If anyone can find some good deferred rendering demos that run on very basic PC's, send me the link so I can try them against my array of devices. See you Monday!


  1. Here (although DX10):

    All of the demos run at a steady 140-150 fps (fullscreen 1366x768).

    On a side note, don't you think it would be better to increase height to around 50 segments. That way it makes more sense. We have increased width and depth but the height still is kind of limited. I vote for 500x50x500.

  2. Well with all of these said i can't wait to create remake of the nomad soul - like game!:)

  3. Awesome! And that's in jogging, so walking may take even more time to go across the level! This sounds very impressive, now I hope we can have things like tall and small buildings that can be adjacent, and though I know this is First Person Creator Reloaded, you guys did tease me with the view of a third-person support - so I want that soooo bad! (I personally think third-person experience is most fun and innovative). Keep the good work up soon, Lee! I'll be your newest backer very, very soon!

  4. I personally don't mind a height of 20 segments. I'm pleased to see the level box stretched to 500x500. We can now create some outdoor scenes.

  5. You're saying it now. 20 segments won't gives us the chance to create futuristic skyscrapers or the like. Besides, if there is almost no change in memory consumption why not?

  6. The mere fact that the size was increased from 200x200 to 500x500 is beyond amazing for me. Honestly 20 height segments seems perfect in my opinion. If there is the room to increase world size in the future I would personally vote that the length and width again be increased.

  7. Oh well, I guess no one is interested in going up. For an FPS game a size of 500x500 is MORE than enough. 1 segment in FPSC is 2.54 metres which means 500x2.54=1.270 KM in each direction. For our imperial friends that's about 0.80 MILES(4166 feet) in real life units. Now given the fact we won't have any vehicles (not a word from the developers) and engine is still aimed more at interior levels (hence the segmentation engine) I don't see how anyone can utilise this amount of space for a quality game. Most of them will probably use half or even less. Anyway I think it's good that we have plenty of freedom to go in every direction.

  8. Well if it doesn't affect the memory consumption.. i say bring on the 50 height segments! lol

  9. Oh yes, definitely, we need the extra hight afforded with 500x50x500. 20 was only just enough for most of my games.

    With regards to the car: excellent choice! Hondas are very posh and very reliable and generally very fuel efficient. We owned a 2001 Honda Odyssey for some time and it was brilliant. We only sold it because we needed to be able to tow large loads and go off road.