This can read this on Steam hereI’m afraid much of what i have been doing over the past few weeks I would find hard to glamourise. Really, I’m not sure how to make it sound interesting. Fear not, because Hal’s progress with The Fayju Building yields prettier pictures which follow, but I’ll start with the boring stuff, so hang in there…
World Compilation
This takes place before the frog is even instantiated. I call it ‘world compilation’ and its the foundation of gameplay, but completely invisible. “World compilation” is chiefly responsible for loading the game environment and now it is also taking networking into consideration. You know things like if the game is hosted or are you joining a game. In previous versions of Amazing Frog? we had “world” scenes which were giant files that contained everything for each of the locations like Swindon, Moon, Sewer etc. This approach made it very difficult to change the content around each time you visit or during gameplay. Since we are now working with day times, networks and the new FrogLife™ system there is so much dynamic data a game needs a little more thought in setup before gameplay begins. So I have been occupied with building the worlds up out of lots of separate and dynamic components and how to make it easier for us to arrange and change that content.
This has been important for us for a couple of reasons. Firstly, Hal and I have been working very hard of establishing a development pipeline … what we used to have was more of a ‘development funnel’ where we would cram everything in and hope it didn’t explode, like endlessly piping icing onto a cake. (I like cake) Now we have a much more refined setup. It took a while to get there and we are still coming to terms with it. Since everything we are doing is now a lot more complex we had to enhance the way we build and share. A simple example would be that Hal can happily work on the Fayju Building in isolation, change the lighting setup and those changes can be quickly and simply incorporated into the game without issue. The other, perhaps more important reason why world compilation is so important is for orchestrating all the dynamic objects like cars , barrels, weapons, frogs etc etc. We have been moving towards enabling different modes loaded into the same world and this is the key to developing flexibility for this in the future.
The Fayju building
As you can see we haven’t furnished the our office yet, but its looking and feeling much more like the genuine article. Here are some shots I took today, walking around the new building. Some of the doors are still a bit …unpredictable, but its starting to come under control. There is a lot more detail I can’t wait to freak out running around it in VR its kind of freaky to be walking around the corridors and staircases that we use every day.
Lighting
Now that we are using texture streaming there is a lot more detail in all the surfaces, but we also have made some difficult decisions about lighting. Switching to deferred rendering is giving us a lot more flexibility with lighting and allowing Hal to really go to town lighting the new architecture. We have been back and forth over the use of deferred rendering for some time over fears that it would become difficult to optimise, but we are pretty sure we have a solution to this and so we made the decision to go with it. Now we can see where we are going with lighting.
Time
We have mentioned before how a day and night cycle is to play a part in Amazing Frog? and now we have resolved our approach to environment lights we can move forward with more confidence into how the passage of time works in SwindonShire and the changing of the world lights. Torches and headlights were our biggest concern, but that looks like its going to be ok, so will show some of that soon. I can’t say with any certainty exactly how the passage of day and night will work in Amazing Frog? and exactly how “dark” night will be, we are still tweaking it to see what feels right, but until more of the game is functioning as usual its will be hard to judge. Passage of time or game time may be something we expose for user control, since it will be possible to host a game and we may look at how a player can have control over this and an environment parameter, e.g. night time racing, early morning pigeon shooting.
More on the New Frog
The Frog is always being upgraded, but perhaps one of the most exciting things we have going on at the moment is the facial expressions (Thats why we made this as the title image) They crack me up.
We are developing some “goto” expressions for particular emotions or reactions or default states for particular NPCs, but the facial expression system is essentially dynamic. We have always believed in little things, like how the frog looks at the camera as it passes or checking out nearby objects as you walk by. Stupid little details are really important to us. Now, aside from head tracking, we also have eye tracking and pupil dilation that can be commanded by code. As with all the FrogLife™ systems we also want the NPCs to have access to facial expression so it has been fairly complex deciding and implementing what makes the face react… we are getting there.
Also on another note, you may notice that all the images we have shown so far of the new frog are only wearing t-Shirts. This is because that is all we have so far. The old frog was reliant on layers of textures to represent costumes (and we still have all of those), but from here on all clothing will have physicality to it, customisable of course, but with physicality… we just haven’t given the frog any pants yet.
Business As Usual
Thanks to every one who nudged me about writing a devblog. If I am honest by the time i get to a Friday and start writing one of these, it takes a while to remember all the things that we have both been doing since the last one. There are so many things going on. Only this morning I was talking to Hal saying I am worried we were spinning too many plates between us, it can be fairly confusing jumping back and forth between physics code, network code, Ai code, environment code, optimisation and more especially when i want them all to work together. Likewise, while Hal bounces between making buildings, clothing, crazy substance systems, landscapes and vehicles… I’m pretty sure he was working on a moped at one point this week which kind of freaked me out. We’re so excited about how its all coming together, sorry its taking so long.