Search This Blog

Thursday, October 26, 2017

Advanced Time of Day and Weather Control, Mk3

It's been a few months since I made any major updates to the Advanced Time of Day (TOD) and Weather Control System I made and put on the store earlier this year.  The second iteration added lightning storms, sound effects for lightning, and specularity changes as well as some color tuning.

Well version 3 is out and it's on sale (9.98, 27% savings!) 

It's added the following:
  • Better documentation
  • Better sunset and daytime transitions
  • Bugfixes for the brightness issue
  • A time of day clock usable by NPCs and scripts
  • A 12 hour conversion system to provide time of day to players in AM/PM format.
  • Lots of little small updates such as better variable names and cleaner code!
All of this marks a pretty good spot for this.  There are currently no bugs known and it's running flawlessly on my system.  Grab your update if you have one and get to work :)

Friday, October 20, 2017

Latest news from Game Guru

Looks like Lee's reading my blog, his update had a very similar format.

https://www.thegamecreators.com/post/gameguru-progress-update

Right now there's also a pretty interesting set of discussions on the webforums on two topics that are near and dear to my heart with #gamedev:

First off, there's a good discussion going on Terrain Generation and modification externally:
https://forum.game-guru.com/thread/218797

In that thread we have actual source code on how the file for m.dat is output (m.dat is the map data found inside of the fpm file, which is really just a zip file using the password 'mypassword'). 
Apparently it's just a 1024x1024 array of floats, with a 00004000 metadata tag at the beginning.  There's a lot that can be done here.  Apparently game-guru does a lot of the actual interpolation/etc so it *SHOULD* smooth a significant amount of it between each floating point value. 

Then you have several AI related discussions:

https://forum.game-guru.com/thread/218792
https://forum.game-guru.com/thread/218816
https://forum.game-guru.com/thread/218810

Mostly centered around AI performance.  The big  issue is people are making 'hordes' of zombies and it's pooping out game-guru. Big surprise there.  Most AI is written as a singular entity and eats a lot of cycles.  Writing mob-based AI is completely different.  I might have to step in on this one though I'm really tremendously rusty on AI writing.  It'll be a lot of work.  But basically if I recall you kind of give each 'mob' zombie a sort of thin-client style AI where there's one main process and a bunch of minor processes.  The main process then controls the subprocesses.  You need functions for computing things such as the centroid (a fancy way of saying a central point they can all reach).  It's a big project, something that would eat a lot of cycles I don't have.

In other news, I got a request from a customer to add a timer or minute/time tracker.  It should effectively be easy enough to implement. I may actually go do that myself if given the time.

Some good stuff out there on the forums, which have generally died down due to a lack of interest from lack of obvious development - but definitely keep your eyes peeled.

Monday, October 16, 2017

Excited for new GG updates.

I realize I've been silent here for a while but I wanted to just say I've been off and on in communication with Lee Bamber with respect to the upcoming release of Game-Guru.  It's slated to be available by Christmas.

So a few important tidbits here and I'm going to list in no particular order, but they are all MASSIVE improvements over the existing system.

  • DirectX11 - Huge huge visual/processing overhaul. 
  • PBR (Physically based rendering).  This will drastically change the way lighting is done.
  • Unlimited dynamic lights.  Assuming this applies to PBR it's going to be a very cool addon.
  • Static lighting fix (removing sun baking into the final static lighting) which has been ruining indoor scenes since forever; maybe now I can actually finish my sci-fi game!
  • Drastically reduced load times, especially the outright evil AI pathing system.
Now let's go through some of these differences one at a time.
DirectX11 - The current version of DX is 9 as used by Game-Guru at this time.  11 provides a more up to date graphical experience as well as better hyperthreading and utilization of graphics hardware.  In laymen terms X9 is more CPU dependent, X11 is more GPU dependent.

PBR - See this link for more detailed information on what's going on here, but basically a PBR map is applied to the object and then the renderer applies lighting to that more realistically.  It's something I'm not super familiar with but the results are very good thus far.

Unlimited Dynamic Lights -  This is an important side effect of better lighting overall.  Currently Game-Guru works with  only two Dynamic Lights at a time.  Dynamic lights can light all objects including Dynamic objects such as AI driven creatures, collectable items, doors, etc.  It's very important if we want to get a functional system for lighting that we get more than two available at a time. Unlimited would be absolutely fantastic in terms of levelbuilding. 

Static Lighting Fix -  As reported on this thread I was able to find and duplicate the issue.  Once I analyzed the issue in detail I was able to report the actual problem being that the sun was baking in without any respect towards the level's sun settings and as such causing overlap and excessive shadows in baked mode.  This has been a major issue for a long time which has caused a lot of oddities and irregularities in Game-Guru's lighting system. 

Reduced Load Times - If you've ever made a level and exported it in Game-Guru you faced the biggest obstacle towards developing an actual commercial product - the incredibly long load times.  I'm not joking here but my old 'Silent Hill Game Guru' map that my son and I made for my wife's birthday had *15 MINUTE LONG LOAD TIMES OR HIGHER*.  Most of this was from the computation of AI paths.  There's literally no way you could sell a game in that environment.  It's simply not possible to explain to a user that they should go take a shower and come back and the level might be loaded by then.  Lee is claiming much improved load times, specifically in the realm of AI pathing (per an email I had with him).  So as a result we should see some really functional export capabilities.

In conclusion - I'm really looking forward to playing around with the newest iteration of GG though it might take a little while for it to show up given the massive amount of work being done.  I'll probably write some new lighting guides, tutorials, or a review on the engine itself.  I'm sure there will be some bugs to iron out, thing always slip past QA even in large scale corps these days.  So a one man show like Lee runs it's veritably guaranteed.  But still, these changes should really propel Game Guru to be a more mainstream capable engine.  Perhaps not AAA, but at least not bottom shelf.

Tuesday, August 29, 2017

Lessons learned from: What remains of Edith Finch

Boy.

I didn't think I'd do one of these anytime soon.  I mean I think the last time I did one was with my reviews on the 90's version of Doom.  Click here to see those reviews.

My wife recently introduced me to a game which apparently was impressively reviewed.  It was called simply:

"What remains of Edith Finch."

I remember her coming in and telling me to check out the video she took with some funny scenes.  I was impressed by the creativity of it on it's face.  Then, rather quickly I might add, she stopped talking about it.

This caught my attention.

She finished the game quickly enough, approximately 3-4 hours play time.  She came in, tears streaking her face and I thought - uh-oh.  This must have had a pretty heavy story.  She says to me simply: "You have to play this."

Ok.

So I took the bait and sat to play on her computer.    I won't give away the plot or gush over it.  I willy simply say for my review that there are a few games in your life you *MUST* play.  

This is one of them.   There's no wiggling around it.  You have to play it if you want to see some of not only the most creative storytelling around but a bevy of impressive game design techniques which are keenly honed and exceptionally executed.


Warning - what comes next might qualify as a spoiler.  I am assuming you play the game first, then return to this.


Ok, let's begin.  The first thing that struck me was how obviously it was an Unreal Engine game.  If you know what you're looking for it's fairly easy to tell.  This initially gave me mediocre hopes for the game; I mean UE4 puzzle-style games are a dime a dozen.

The floating world text is usually a good indicator it's from UE4.
There's a lot of little things you notice right in a UE4 title.  For instance, the aforementioned floating text.  There's generally sweeping terrain that's quite striking with an obvious linear path.  This is often the way with these types of titles.  Nothing here is particularly original though you may notice your first tinges of feeling like something is different when you view the bizarre house's architecture.  You realize that something so magnificent and well detailed is probably a prelude of things to come.

Speaking of details..
The game play up through the first bit is fairly straightforward and normal.  In years gone by, they derided this type of game as a 'walking simulator'.  It really isn't though, as you'll soon see.   Throughout this part though you will be almost completely overwhelmed by the insane attention to detail.  Every nook, cranny, and edifice has some sort of eye-catching detail.  Clutter objects are on the by and large extremely unique.  Normally you get a lot of similarity as it's a situation where you feel as a developer a little rushed to finish smaller component pieces.  However this game is an excellent study in the concept of both exterior and interior design architecture.  The lighting and design draw you in the path you'd expect but the environment itself begs for you to scour.  I probably spent fifteen full minutes in each area just looking at the wide array of high quality clutter.

Detailed clutter like this literally fill the game from top to bottom.

I'm a big fan of well used clutter;  I feel like it provides a sense of reality to an otherwise boring or drab game.   This game at first comes at you with an overwhelming amount of clutter.  However soon you realize this game is meant to be viewed from a series of frames or slides in a sense.  It sort of underscores how utterly important it is to not only have a good artist to design such perfect clutter pieces but to also have a good eye for how to put it together like a director for a movie.

Next up, the narration.  A lot of story-based games (such as the Parable of Stanley) use some form of narrator.  However a great many low-level indy titles use fairly poor narration.  As a sometimes Sci-Fi writer of literally zero acclaim, I feel that totally qualifies me to provide some on-the-spot judgement here.  Right? Right.  So I have to say I really felt the narration here was absolutely fantastic and further underscored having some experience in creative writing.  If you haven't taken a creative writing course at your local college (often offered at very low rates) you really have no idea what you are missing.  This critical element of storytelling is often overlooked in the name of fancier graphics or big ideals.  

Of course, stories are about the stories.  This game clearly had an experienced writer working on it; the narration reads like a really familiar book.  You get a good sense of each individual character's state of mind and they truly come to life with every word in front of you.

It helps to have your text boxes be more dynamic and interactive as well.
One interesting element 'WREF' provided was highly interactive text bubbles.   Very often the text was portrayed in new and unique ways that were actually quite fun to mess with.  Sometimes they exploded, spun, or were wiggled off.  In one case a kite is used to spin them.  In another you shake them loose like dandelion seeds.  It's really quite interesting and is almost always relevant to the story.

The use of lighting in this game was particularly impressive.
If you've read my previous blog posts on game design or game development (specifically for Game-Guru) you already know that I am a huge fan of intelligent lighting principles.  This game really took the things I already knew were capable and pressed them to their limit.   Some of the area lighting is .. well just beyond impressive.  Especially considering how there's virtually no power available in the game's 'house'.
The lighting provides a clear sense of both ambience and direction without beating you over the head with it.
There's skylights that let in just the right amount of moonlight, blacklights, blinking buoys in the distance... dim candlelight, bright studio lighting... I didn't feel as much like the developer was trying to impress me with a bag of tricks so much as just use every sound lighting principle ever conceived for a game in a purposeful and efficient fashion.

And yet - none of this really is anything particularly noteworthy.  

Don't get me wrong - it's great, shocking even - with it's lush details and environments.

But what absolutely astounded me - what blew me completely out of the water were the game mechanics.

Yeah.  If you played the game, you know - you KNOW what I'm talking about here.


This game had the potential to be a rail shooter without shooting; a simple walk and click game that told a story.  And yet, it takes the time to provide a wildly variable experience that not only gives you differentiation but also makes you feel like you're learning something.  The fish packing plant is one of the most incredible scenes I've ever seen in an indy title.  I will get back to that, however.

Shortly after you begin the game you play as a young girl.  Her story is ... intriguing to say the least. 

Yeah, that's a shark.
Time for some unvarnished truth.  My wife told me about the shark scene.  It was probably one of the funniest things I've ever seen.  It's insane, wild, and fun.  I do kind of wish she'd not ruined it, but what can you do.  During this phase of the game you evolve through various creatures.  EACH one has a different way of interacting with it's environment. 
The use of the camera on the tentacle monster was particularly interesting.
The cat can jump and run across thin ledges.  The owl flies and swoops down on it's prey.   The shark... kind of flops around until it lands in the ocean, then rushes forward to much on seals.  Each one represents it's own challenge in reverse engineering for the purposes of figuring out game development.  The one that was of particular interest was the weird tentacle octopus monster.  It took me a little bit to realize that the camera would move when it pulled itself and then simply used the tentacle as an actor on a static camera (until it pulled forward with left click).  Pretty ingenious and definitely worth playing around with to try to figure out.
Most of these were done in a simple fashion but above all they worked rather seamlessly.   I found that it was very easy to navigate, locate, and complete the objectives as stated by the narrator.  The game was structured in such a way that the scenes were mostly fairly loose; they consisted of a smaller arena that would simply loop back in on itself if you got too far off track.  This helped keep the players  from accidentally breaking out of the bounds of what amounted to a very simple minigame.
The games start simple - move the fish over, get the head cut off, throw it up.  Then they add complexity - walk through a maze while performing the fish-cut-toss minigame.  It's really quite impressive.
 
This of course changes and evolves as the game goes on.  There are several minigames ranging from snapping pictures with a camera that has a manual focus to a fish packing game where you literally play two separate minigames at once to illustrate how people can do a menial task while doing something creative.

Yep, there's a sailboat there, that the player controls!

The games evolve at times, in the case of the fish packing plant they start as a simple 2-D wireframe maze to a 3-D isometric view, culminating in a first person view.  The entire time music builds to a rousing crescendo as the 'world' develops.  It's really incredible.  All while still doing the fish minigame with your mouse hand.  I couldn't believe it and I really can't describe it - you have to experience it to really understand it and that's saying something.  I consider myself extremely verbose and this really should go to show how awestruck I was by this.  

This picture doesn't do this scene any justice.

This is more than an uncommon game.  This game is special.  I mean that.  It's something that if you play it with an open eye and open mind you will maybe pick up a fraction of the work that's been put into it and will never forget that.  It will teach you things about game design and yourself that you didn't know.    The story is brilliant too, of course.  Truly powerful stuff.  It's an experience I will likely revisit like an old movie once in a while to really refresh the memories.  This combined epic scoring, fantastic art, an incredible plot, brilliant writing and innovative gameplay all into one neat package.  I'll be hard pressed to ever make something even approaching it.


I'm sad that it's over.  Play it.  Learn from it.  Take your time and really enjoy it.  Just like life really; which is kind of the point of the game in the first place.