{"id":1575,"date":"2017-07-28T19:50:34","date_gmt":"2017-07-28T23:50:34","guid":{"rendered":"http:\/\/www.fayju.com\/blog\/?p=1575"},"modified":"2017-07-28T20:01:34","modified_gmt":"2017-07-29T00:01:34","slug":"amazing-frog-devblog-017","status":"publish","type":"post","link":"https:\/\/www.fayju.com\/blog\/2017\/07\/amazing-frog-devblog-017\/","title":{"rendered":"Amazing Frog? Devblog 017"},"content":{"rendered":"<p>This\u00a0can read this on Steam <a href=\"http:\/\/steamcommunity.com\/games\/332570\/announcements\/detail\/1447197096919780425\">here<\/a><br \/>\nI\u2019m afraid much of what i have been doing over the past few weeks I would find hard to glamourise. Really, I\u2019m not sure how to make it sound interesting. Fear not, because Hal\u2019s progress with The Fayju Building yields\u00a0prettier pictures\u00a0which\u00a0follow, but I\u2019ll start with the boring stuff, so hang in there&#8230;<\/p>\n<h3>World Compilation<\/h3>\n<p>This takes place before the frog is even instantiated. I call it &#8216;world compilation&#8217; and its the foundation of gameplay, but completely invisible. \u00a0\u201cWorld compilation\u201d is chiefly responsible for loading the game environment and now it is also taking networking into consideration. You know things like if\u00a0the game is hosted or are you joining a game.\u00a0In previous versions of Amazing Frog? we had \u201cworld\u201d scenes\u00a0which 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\u2122 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.<\/p>\n<p>This has been\u00a0important for us for a couple of reasons. Firstly, Hal and I have been working very hard of establishing a development pipeline \u2026 what we used to have was more of a &#8216;development funnel&#8217; where we would cram everything in and hope it didn\u2019t explode, like endlessly piping icing onto a cake. (I like cake) Now we have a much more refined setup.\u00a0It 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\u00a0Hal 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\u00a0orchestrating\u00a0all the dynamic objects like cars , barrels, weapons, frogs etc etc. We have been moving towards enabling\u00a0different modes loaded into the same world and this is the key to developing flexibility for this in the future.<\/p>\n<h3>The Fayju building<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screenshot (888)\" src=\"https:\/\/farm5.staticflickr.com\/4305\/36187169036_7414276eae_b.jpg\" alt=\"Screenshot (888)\" width=\"1024\" height=\"548\" border=\"0\" \/><\/p>\n<p>As you can see we haven\u2019t furnished the our office yet, but its looking and feeling much more like the genuine article. Here are some shots I took today, walking \u00a0around the new building. Some of the doors are still a bit \u2026unpredictable, but its starting to come under control. There is a lot more detail I can&#8217;t wait to freak out running around it in VR\u00a0its kind of freaky to\u00a0be walking around the corridors and staircases that we use every day.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screenshot (934)\" src=\"https:\/\/farm5.staticflickr.com\/4323\/35395004574_930b4cb3b8_b.jpg\" alt=\"Screenshot (934)\" width=\"1024\" height=\"565\" border=\"0\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"devblog 017\" src=\"https:\/\/farm5.staticflickr.com\/4297\/36062783942_27ff89681a_b.jpg\" alt=\"devblog 017\" width=\"1024\" height=\"574\" border=\"0\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"devblog 017\" src=\"https:\/\/farm5.staticflickr.com\/4301\/36062782772_54b23d5244_b.jpg\" alt=\"devblog 017\" width=\"1024\" height=\"572\" border=\"0\" \/><\/p>\n<h3>Lighting<\/h3>\n<p>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\u00a0we made the decision to go with it. Now we can see where we are going with lighting.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screenshot (899)\" src=\"https:\/\/farm5.staticflickr.com\/4304\/35394987414_857f924f19_b.jpg\" alt=\"Screenshot (899)\" width=\"1024\" height=\"576\" border=\"0\" \/><\/p>\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"\" title=\"Screenshot (908)\" src=\"https:\/\/farm5.staticflickr.com\/4301\/36062817302_3e6a82af82_b.jpg\" alt=\"Screenshot (908)\" width=\"954\" height=\"531\" border=\"0\" \/><\/h3>\n<h3>Time<\/h3>\n<p>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, \u00a0but that looks like its going to be ok, so will show some of that soon. I can\u2019t say with any certainty exactly how the passage of day and night will work in Amazing Frog? and exactly how \u201cdark\u201d 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\u00a0may 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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screenshot (930)\" src=\"https:\/\/farm5.staticflickr.com\/4297\/35395003314_24546c4c22_b.jpg\" alt=\"Screenshot (930)\" width=\"1024\" height=\"559\" border=\"0\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screenshot (918)\" src=\"https:\/\/farm5.staticflickr.com\/4311\/36062826492_e63758af2d_b.jpg\" alt=\"Screenshot (918)\" width=\"1024\" height=\"556\" border=\"0\" \/><\/p>\n<h3>More on the New Frog<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"expressionsclose\" src=\"https:\/\/farm5.staticflickr.com\/4311\/35836364750_fb74f2fce7_b.jpg\" alt=\"expressionsclose\" width=\"1024\" height=\"478\" border=\"0\" \/><\/p>\n<p>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.<\/p>\n<p>We are developing some \u201cgoto&#8221; 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\u00a0walk by.\u00a0Stupid little details\u00a0are 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\u2122 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\u2026 we are getting there.<\/p>\n<p>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\u2026 we just haven\u2019t given the frog any pants yet.<\/p>\n<h3>Business As Usual<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screenshot (903)\" src=\"https:\/\/farm5.staticflickr.com\/4306\/35394991614_ea1115e850_b.jpg\" alt=\"Screenshot (903)\" width=\"1024\" height=\"565\" border=\"0\" \/><\/p>\n<p>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\u00a0that 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, \u00a0environment code, optimisation and more especially when i want them all to work together. \u00a0Likewise, while Hal bounces between making buildings, clothing, crazy substance systems, landscapes and vehicles\u2026 I\u2019m pretty sure he was working on a moped at one point this week which kind of freaked me out. We\u2019re so excited about how its all coming together, sorry its taking so long.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Screenshot (904)\" src=\"https:\/\/farm5.staticflickr.com\/4309\/36062812942_abba02ffdd_b.jpg\" alt=\"Screenshot (904)\" width=\"1024\" height=\"574\" border=\"0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This\u00a0can read this on Steam here I\u2019m afraid much of what i have been doing over the past few weeks I would find hard to glamourise. Really, I\u2019m not sure how to make it sound interesting. Fear not, because Hal\u2019s progress with The Fayju Building yields\u00a0prettier pictures\u00a0which\u00a0follow, but I\u2019ll start with the boring stuff, so [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1580,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,1,30,63,29],"tags":[],"_links":{"self":[{"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/posts\/1575"}],"collection":[{"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/comments?post=1575"}],"version-history":[{"count":8,"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/posts\/1575\/revisions"}],"predecessor-version":[{"id":1585,"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/posts\/1575\/revisions\/1585"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/media\/1580"}],"wp:attachment":[{"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/media?parent=1575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/categories?post=1575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fayju.com\/blog\/wp-json\/wp\/v2\/tags?post=1575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}