Firstly Amazing Frog? Unity 5 conversion Status update – Well its all feeling a lot more like Amazing Frog? finally. Everything is finally coming together again. Many things we have been forced to work on is isolation, like the new Models the completely rebuilt car system, upgrading the buildings inside and out or the huge task of having everything in one optimised world so you can carry objects between the gym and swindon … I mean who doesn’t want to shoot all the lovely folks at the gym? Basically, Its a lot of work and even though there is still some way to go, finally we are starting to see the light.
So look, I am sorry I have not written a devblog for a while. I don’t update you all as often as I should. When I write these devblogs it takes me quite a bit of time, partly because I am rubbish at writing, but mainly because there always seems to be one more thing i can program or one more thing i can fix.
I always grab screen shots of exactly how the game is at the time i write the devblogs. Before we went to Steam Dev Days most things were not working due to some underlying changes I was making. This time all these screenshots were grabbed through friday night. It can be tricky deciding what to show or talk about as there are so many things. Also somethings we don’t want to expose just yet or perhaps we are not even sure if they will make it into the game. For example – the clouds from some screen shots in previous devblogs…
On the way back from Seattle as I was gazing out of the airplane window at the blanket of cottonwool clouds beneath and I could almost see Amazing Frog? being thrown up through them, impacting with the wing of the plane, farting, sliding back off and then falling beneath the clouds again… as you do. I said to Hal, we can’t have clouds unless you can jump over them, what would be the point? Some of the visuals we were working on looked good, but were being counter productive to gameplay, also destructive to our process. So with that in mind, I thought I would talk a little about what have been some of our major challenges over the past few weeks.
A month ago, we were so excited about all the effects, and rendering techniques that were now available to us in Unity 5. We got seduced by them. New Cloud rendering, Water rendering, Day night Rendering – the possibilities !! But the more we got excited about these new possibilities the less pragmatic we were becoming about how they were effecting the gameplay and our development process. It turns out with the water and clouds we were using, there was no way we could get split screen to work and they were draining too much cpu. We had to abandon ship. After we returned from Steam Dev Days we took the drastic decision to start again with the water and completely rethink the sky. We needed to focus on things that work directly with game play and were not counter productive to aspects of the game that need to remain intact, like Split screen local multiplayer. We simplified everything it is much more stable and are now much happier with it. In short, we had to make sure everything new could work with everything you are already playing in f0.2.8c and more. So we are now being more brutal in how we edit what we put in. If it doesn’t work with multiple camera locations (split screen) and it cannot work with dynamic lighting (day night cycle) Then its not going in. As I write this…I am not sure if I can keep the rainbow yet :( but I really want to, but will update you on that next time.
The Day Night Cycle.
When cutting down on some of the new things we did keep the day night cycle as it was important to our overall plan for Amazing Frog? moving forward. We have not yet finalised how it works yet, but we definitely feel like time will be as important for the game as currency.
Using a Day night cycle has been a pretty steep learning curve for us. Until now we had only felt with scenes that had fixed lighting. Even on the OUYA night time version we had a fixed scene for that. Having a whole 20km world that has constantly changing light involves getting into a new way of thinking. Like how do we get time to feel natural? Thankfully Unity 5s lighting system with a bit of experience is frikkin’ amazing. As i mentioned, until recently, we haven’t been able to bring all the “moving parts” of the game together, so getting a full picture of how light works with that has been difficult and full with problems. Its likely we will still spend some more time tweaking this over the coming weeks, but this is what it looks like at the moment. Here are some screen shots of swindon at dawn, dusk and in the moon light. Check out the paint on the road marking in the moonlit one.
Lets not forget the road markings!
I often write these blog posts from my perspective, but I should mention the road markings. While its a detail that may seem fairly insignificant, it has been a pretty huge problem with a lot of history, especially for Hal. Originally (back in 2012), Hal build the first model for Swindon as a super low poly model, which was originally intended to be seen only from above. (This was so we could throw frogs into the car park from the top of the Fayju Building.) As the game evolved the road markings have been an aspect we have wanted to correct. In earlier versions on Af? even on Steam, the original low resolution road makings from the first model were still present. Then when Hal made the new concrete roads in Unity 4 earlier this year, disappointingly, it was not possible to add road Markings onto a detailed tiled material. Now in Unity 5 it has been finally possibly for Hal to craft them in a way that he is happy with. And you can see from some of these screen shots how much detail there is in the roads inside The Swindon Walls now.
Also, everywhere the detail is much higher. If you look inside the new VROG you can see how much detail there is inside. I think at some point I will need to do some evolution screen shots, or perhaps we can set up an exhibition in game of the evolution of Amazing Frog?
All this detail does create another layer that worries me- Hal does have a habit of hiding things in the game environment and with this level of detail everywhere, well…
Something else that happened this week is that Hal passed me back the upgraded Gym that you can move freely in and out of from Swindon. It has seen an upgrade to the detail and without going into much detail… it has been expanded and there are more, functioning doors, leading to more .. er rooms…
Among other things, this week Hal will be spending some time on the task of integrating the Sewer and Lab into the larger world. One of my many tasks will be to fill the pool and get the gym frogs functioning in their new environment. Each of these processes will inevitably create other tasks, some if which i don’t know what they are yet.
Yup, I’m not going to lie, sometimes I wish I was more organised, but its not how I am wired. What I do know about the way i approach problem solving is one solution can easily lead to so many new possibilities. So its a positive process.
One major problem I had over the past few months in Unity 5 was that every time I allowed the NPC Frogs to be activated not only would the build crash with no explanation, but also the Unity Editor would crash. It really stumped me. I knew it would be something small as these things so often are, Ii put it to the side and carried on with all the other things that needed doing. I even went to speak to Unity about it at Steam Dev Days, but I actually found the cause while in Seattle. It was, as i suspected, a very simple thing, literally one line of code that had worked fine in Unity 4 and even in some versions of unity 5, but not any more. When fixed, the Frog citizens of Swindon became active again. At this point I realized that further optimisation was needed since Swindon was about to receive a lot more frogs as the sewer and gym areas were now also going to be active in the same world. I had built a bunch of helpers that define “zones” of activity , but they had always needed refinement. Now seemed like a good time. I soon realised these zones could be used for other forms of optimisation, such as rendering. Zones to guide the rendering choices the camera makes. This led me to tidying the camera code in a lot of ways, recreating the camera manager, enabling more control for camera take overs, more versatile movie cameras, more variety of vehicle cameras, the updates to the cameras then had an effect on how the on screen interfaces would be displayed, the messages, etc this sequence of events and changes goes on and I am not sure if I can pin point all the benefits that followed the fixing of that bug but they were plentiful and helped us make some interesting toys.
The Little Things
I guess the summery of this devblog is to say its all really coming together now. All the little things too, like the traffic cones. There is actually a lot more going on with the development than I have mentioned in this DevBlog. I haven’t even touched on whats happening with Online and how thats going to work or whats going on in the community. I will, but for now I think thats enough for today. Its going to be a nightmare writing the change log for the next version :/