Search This Blog

Wednesday, January 31, 2018

Lessons Learned from Deus Ex: Mankind Divided (DEMD)


Minor update: In the lower portion I have some errors which were corrected by Sylvain Douce, the Senior Technical Designer @ Eidos Montreal (who made DEMD).  He states:

"Very good piece! One minor things: AI middleware we used for DXHR and DXMD is Navpower ( ), everything else was built in-house."

Also, it's extremely awesome of him to read it, enjoy it, and retweet it! Thanks a lot Sylvain!

---------------------------------------------------

I don't think it's any great secret that I love Sci-Fi, especally cyberpunk dystopian themed sci-fi.   While I find Bladerunner a bit droll, the environment it helped create persists as one of my favorites.  So Deus Ex games have long fit into my inventory of favorites and this game was no exception.  I absolutely loved Human Revolution so it was only natural I'd eventually get around to playing through Mankind Divided.

Now for reference I should mention this was played through on PS4.  This means it almost always is going to be somewhat graphically optimized to improve the speed and provide a fluid experience on a console.

I've decided to do a rather lengthy deconstruction of the game as it pertains to Independent Gamedevs specifically using Game-Guru.  Others may find it useful, your miles will invariably ... vary.

First of all, it bears mentioning this game was developed using the 'Dawn Engine.' created by Eidos- Montreal.

The engine is not without some controversy due to some issues with load times.  Overall though, it's a fairly stable engine that ran relatively well in my instance.  It did, however, seem to lack some of the really high end features that can set apart an engine.  From what I could tell though:

  • It seems to have been developed directly for DEMD as no other games have used it since it's inception in 2014.
  • it has reasonably high graphical fidelity with low framerate cost.  I will discuss this in greater detail below.
  • The AI package used was very good, albeit it's middleware (APEX AI).  There's actually a fair amount of middleware, but that's not tremendously surprising. (SEE ABOVE)
  • The game engine is apparently a heavily modified glacier 2 engine.  For those not aware, that's the 'Hitman' game engine.  I recommend reading the linkthrough for a highly technical summary of what the Dawn Engine encompasses.

That all aside, let's begin our lesson.

Graphical/Lighting tricks

Deus Ex: Human Revolution gave us great gameplay in a fantastic looking game.  Deus Ex: Mankind Divided is no exception.   There are a lot of extremely fancy tricks used to produce great framerates while providing a very impressive visual experience.

The first thing you'll notice, if you're new to Deus Ex, is there is no more 'gold filter'.  This means the scenes feel less cohesive if they're not built specifically to match.  While the gold filter is a bit of a bludgeon, it did give a sense of character to DEHR that is somewhat lost in DEMD.  DEMD however makes up for it in spades by having a significant amount of purpose built coloration in the scenes while at the same time using giving identity to each area.  On one hand they lose the 'Deus Ex' filter but gain individuality in each scene.  It was a reasonable tradeoff.

Gold filter comparison
Modders removed the gold filter and added some fidelity in DEHR, but it also serves as a good example of the type of difference you see between DEHR and DEMD.


I am big fan of using colors to 'unify' the palette so that a scene feels more cohesive.  This technique artistically speaking is useful for helping to help join together disparate textures which I have a massive quantity of due to many different artists providing many different assets for my use over the years.  In my case, I'd have kept the gold filter or color tone map (assuming you are using reshade).  All in all though if you have a ton of custom art in a lot of wildly different locations like DEMD did, it makes more sense to not filter them all through a gold lens.




PBR and resource management.

DEMD uses a physically based rendering pipeline which allows for some really impressive visuals.  While mirrored surfaces don't look particularly impressive, the shine on the floors is really good.  Certain elements of the environment really stand out, notably pipes.  These shiny surfaces help you realize that in terms of our own engine (GameGuru) which recently obtained PBR capabilities we'd want to use them selectively on things that BEST show them off.  While it's nice to have every single thing in your game use it, it simply eats too many resources.  Selectively choosing the best scenes for it (shiny metal, hardwoods, glass, etc) is a much more attractive option than putting it on bland surfaces where you receive minimal visual 'pop' like concrete.  This in turn helps us save vital resources, which is a struggle with a 32 bit engine like Game-Guru.

pbr example
Check out the subtle nuance of those textures and their PBR materials!

The reflections used localized cubemaps which are definitely available in Game-Guru so that's a nice addition on Lee and Preben's part which will allow us to create beautiful reflections  on pipes and mirrors.

Transparencies on light planes

DEMD cleverly uses light planes with alpha-transparencies to create the illusion of 'dust' in the air.  The game supposedly has volumetric density for the engine, but I suspect they de-tuned it for the PS4.  If that's the case, at least it's given us a specific example we can draw from.

Streams of light
Those streaming beams of light look more like vertical 'planes' from head on.

Take for instance the above picture.  I walked back and forth and noticed several clear planes (2 dimensional flat objects in a 3d space).  Now granted, it was probably algorithmic or volumetrically done but we can reproduce the same effect with this basic texture for our plane in Game-Guru:


Poorly drawn image by yours truly
Yeah, I got lazy and made the last line too wide.
So basically what we have here is a series of blank spaces that are alpha masked completely open.  Then I took the 'filled' areas, put in a white to grey gradient, then created an alpha mask off those as well.  This gives us a semi-transparent 'beam' of shadowed area.  So we basically get the OPPOSITE effect of what we see above.  Give it a try with your own plane.  I'll probably put one of these on the store (for free) once I correct the mistakes made in the above file.

Flares on lights that  get a lot of attention

In the opening area of the main game you begin in Adam Jensen's house, which acts as a sort of technical demo for the game.  In that location if you look up you'll see a significant amount of studio lighting but notably they use a flare decal that is facing the player.

lightflares example
Those are circular lights with a line-shaped flare.
 We can achieve this same effect using a decent flare and the player_facing.lua script that is included with game-guru.  One thing that DEMD did really well though was it's occlusion; when you are NEAR a corner the flare switches off subtly so that it looks seamless.  Overall, a fairly simple but nice looking effect is achieved.

Baked lighting 90% of the time. 

These days, a lot of games really rely on  dynamic lighting.  It's fancy, it looks nice, and it's GPU intensive.  It also has clear limitations which are another topic for another time.   Deus Ex uses an updated older technique, notably Tiled Lighting that's baked in.  This allows high speed renders of scenes where the light is not likely to change and also allows the artist a great degree of control if they're willing to invest the time.

DEMD Prague outdoors static lighting example
You start to see it everywhere the more you start looking for it.

Unfortunately Game-Guru cannot do dynamic lighting very well and as such it leaves us in a pickle a lot of the time. However in DEMD they do a LOT of baked lighting and it shows.  This game is virtually a showcase for 'how to do static lighting the right way'.  Color choices are not obtrusive, are placed to provide windows with indoor light.


Jensen's apt indoors static lighting example
The red circle shows where the light is, outside (approximately 30ft behind the wall).


Note the placement of the light and how it streams in through the window.  It bakes cleanly onto the surface and gives it a nice 'early day' feel.   This same technique can be done with Game-Guru, rather than relying on 'sunlight' - we pre-bake static lights outside of a window to provide the building interior with realistic lighting.

Clever transitioning

One interesting element I think is worth mentioning is, as the heading suggests, 'clever transitioning'.  While many levels simply pop you to a loading screen, moving about the main city of Prague gives you a varied scene (depending on where you are going to or coming from).

Jensen looking bad AF on a train
The screen changes perspective several times and the characters all move around to provide a sense of 'aliveness'.
The only downside is the animation is repetitive, but that makes sense given it's literally just a facade over a loading screen.  While I realize loading screens are effectively the devil I thought it was worth mentioning it.  I don't have an answer for Game-Guru in that respect as our loading system is vastly different but I think it at least underscores the need to give people something to look at other than the basic 'Game-Guru loading screen'.   The best answer is probably something like the other loading screens in Deus Ex, which effectively consist of a picture and some information for the player to read.

Have a mini-game 

The hacking mini-game remains mostly unchanged from DEHR but really felt at home in this game. While it's a lot of extra work, at the same time it can really provide a payoff for the player who needs some variety in their game beyond the usual 'shoot or sneak' methodology.

Dat hacking minigame bro
Oh no, only 2 seconds left! ABORT! ABOOOOOORT!

Often I found myself in a higher sense of tension from the hacking minigame than the actual game itself.  Sometimes even the threat of discovery while hacking (the world doesn't just stop while you're hacking) provided it's own 'sinking feeling' while you were ferociously attempting to subvert system nodes to bend an non-compliant computer to your will.  While the additional 'sink' of adding a mini-game is seemingly unnecessary, it also adds a lot of play value to a game.

A living city

I have a good friend who also is very into Deus Ex; he's actually the one who first pointed me at Human Revolution, even bought my copy back when I was flat broke.

I asked him what he thought of Mankind Divided, without spoiling anything.  He replied "it's a great game, they really did a great job of making it feel like a living city."

I felt that was worth mentioning here given how spot on his analysis is.  This game really does a great job of making you feel like you are in a living, breathing, ALIVE environment.  Each area has tons of sandboxing and detail which makes every single space different and independent.  So how did they do it?

Lips on a building!
The red light district, for instance, really takes it's name to heart.

Well, foremost - each area is it's own 'scene'.  It's as if they built one overarching area, built the major components, then filled in the rest with minor story pieces.

Meow
This room exemplifies the microcosm within macrocosm feel.
 
There's a world of microcosms within the macrocosm of the individual 'global' level and it really provides this deep sense of uniqueness to each specific room.  The stories for these rooms aren't anything significant most times.  Often they are simply something as simple as 'this is the asshole gang dealer who doubles as your local black market shop' room.  Other times small rooms take massive twists and turns, such as the crazy cat lady who ends up having her own miniature story that makes her a much CRAZIER cat lady.

While often the rooms are 'revisited' for story purposes and such you can pretty usually boil them down to a basic, simple story.   Obviously the indy dev can't afford the time to write a massive, engrossing story for each sub-mission in their game.  Which apparently, neither can AAA devs.  Which brings me to my next point.

Secrets are simply unexplored areas 

In my "Lessons learned from Doom's Level Design (part 1) (part 2) (part 3) (part 4) " I discuss use of secrets and their necessity for gaming.  It's something that helps reward a player for investing even more time in their game than absolutely required.  I mean let's face it, most people play games to feel rewarded, to enjoy the satisfaction of accomplishing a challenge.  Deus Ex rewards this in spades by ensuring that every single hidden area is replete with it's own set of rewards ranging from extra ammo to hidden secret rifles.  I still remember being in the ARC headquarters level and going down literally 5 or 6 stories on tiny rails just to find a hidden rifle.  It was an insane amount of detail for a single secret, but these are the types of things players remember.

ARC: the throat secret gun
I was being literal in the literal sense.  That yellow dot is where you start at before worming down to the gun.


Try to use your dead ends and open spaces to provide the players with additional reward for looking at your hard work.  Open up your single alleyways into branching paths that lead them to interesting rooms that really are just there to provide life and depth to the game.

Open ended level design

Deus Ex games have been renowned for their  open ended level design but it's worth discussing, at least briefly here how it was implemented in DEMD.  DEHR had a fair amount of 'open-endedness' to it, but I think in this case DEMD gets the upper hand.  You literally had piles of avenues to perform different possibilities.  Missions had more than one failure or success condition and you often had branching trees that could spell serious disaster later on.

I remember in mission one, I was helping out an agent (Singh).  You are to save his life at the end which is no small feat as you're attacked by masked assassins in a sandstorm.  It is, in short, a train wreck of a situation. Keeping him alive is incredibly difficult.

Dubai: sandstorm
I'm sure you'll see him if you just keep staring long enough.
 I did this, but only to have him die later in the game because I neglected one small sub-objective on that same mission of disabling a communications tower.  This causes him to get killed while undercover as his cover was blown.  Little things like this are like a spaghetti plate of decisions, which require lots and lots of planning.  That means writing things down.  Which also means, you guessed it, a design document - and we all know that's basically the same thing to an indy dev as garlic to a vampire.  Sure, it won't kill you... but it's damned uncomfortable.

Multiple answers to singular problems.


Moreover level design is incredibly fluid; you have lots of answers to single problems.  This means you often have the choices of going in loud by shooting everything in sight, hacking your way in via a console, taking rooftop access stealthily, running through vents to come up behind your foes, or a myriad of other alternate choices that often boil down to 'get from point a to point b'.

Palisade bank
There are about a dozen ways in and a dozen ways through the 'uncrackable' Palisade bank.


This depth of level design is a big draw for this game type, allowing players to really dig in and pick how they want to do things.  Sometimes you just want the pure visceral thrill of unloading a 28 round magazine from a fully automatic pistol into some poor bastard who dared to wander too close.  Other times hitting people with tranquilizer darts in the neck out of sight of others is the better tactical choice.  These types of dynamics often aren't so much planned as they are a result from thorough level design and planning with a focus on building multiple avenues of approach for a single objective. 

Intelligent AI design

The AI in this game is something else.  There are a lot of times where you feel like you want to really get in there and mix it up and find yourself dealing with attacks from both sides.
While a lot of this has to do with level design (alternate routes, enemy placements, the location of an enemy taking the shortest route to your location) it also has a lot to do with an intelligent system that is attempting to find the best way to kill you.  It's impressive and not easily duplicated.  Maybe one day we'll have that depth in Game-Guru, though at this point in time your best method will be use of lots of navigation nodes and good enemy placement.

Wrapping up

All in all, I found myself least interested in the main story, which is the unfortunate side effect of having an impressive game with great mechanics.  I can't think of anything about the game I really hated.  Everything played well and it served as a great teacher to a willing student.  I highly recommend you give it a run through and see what you can learn from it too!

Addendum: 


There's a pick up objects script you can use to create a similar style to Deus Ex found here:
https://forum.game-guru.com/thread/207801?page=16#msg2562166

Monday, January 29, 2018

This Week in Game-Guru - 1/29/2018

There's been a lot of changes this week; things that sort of shattered the situation as it stood and put us in a very interesting place.  One that could either be precarious or one that could be a significant boon.  Time will really tell.  Check out the Engine Update Progress Report section below for more details. 

ENGINE UPDATE PROGRESS REPORT


This week Lee made a massive update by placing all of the source code to Game-Guru live on github.  He's created an issues tracker (link here) which can be used to publicly follow all of the ongoing developmental issues and bugs.  He's got old hats who worked on FPSC (classic) code working on Game-Guru now.  He's literally paying outside developers to work on features that are taking him too long to develop personally.  This is what you do, folks, when you truly want to reinvent a brand.  Game-Guru has stalled in development and has had a massive amount of 'under the hood' changes.  Unfortunately as a usable product, it's maybe 30 or 40% more than what I could use a few years ago when it was FPSC:Reloaded.  That's only because of additional Lua extensibility.  The core engine itself hasn't really added much in terms of functionality within the GUI driven IDE.

So this is a huge step and in a sense a massive gamble at the same time.  It's what's needed though, if Game-Guru is going to thrive in a market increasingly dominated by AAA providers like Unreal, Lumberyard, and Unity.  

I believe Game-Guru has a lot of potential.  It's easy to get into, easy to work with.  It's got too many flaws to be functional though and until those are addressed, it's really caused a lot of project stagnation for many, many people. 

NEW PRODUCTS IN THE STORE


This week on the store can be summed up in the following picture:

Store image


So a few things here.  First, it really looks as if Colosso has improved a lot.  His newer stuff is coming along well and that's saying a lot - I can plainly say his art style was not my cup of tea previously.  This current style fits him well.

Second we have a relative newcomer putting up an interesting looking boat.  While I can appreciate anyone trying to market their first real go on the store... it's plainly not up to spec for the price they're asking.  If I were 1CE I'd lower the price by at least 50%  until my texturing matched other artists pushing that price point.

Of particular note is the fact that Wizard of Id has put his newest sewer pack up as both a PBR and Non PBR asset sets.  This is important because frankly a lot of people may not want or need PBR.  While I'm a little disappointed in his pricing (it always is a lot higher than this crowd can afford, initially), I am happy with the quality of his work.  If you're going to spend 29 dollars on a product Game-Guru, usually you want one of his.  I've spent the money and have been satisfied.  His are the closest to 'professional grade' products available on the Game-Guru store.






FREE STUFF


Free stuff this week is pretty substantial.  We got not one, but TWO free weapons!
Weapons are like solid gold.  They are something we don't get a lot of, that are expensive on the store because they take just so much work to do.  We got two of them!  It's really awesome of both Graphix and Gtox to produce these for us.
First we have a chainsaw provided by Graphix: https://forum.game-guru.com/thread/219263

Chainsaw
Vrrrrrrrrrm!


All I can say is FINALLY.  Being a Doom 1/2 freak, this is something that's been desperately missing.  I could nitpick the sort of rapid animation and overly chromatic textures, but I mean comon - it's a freaking chainsaw!  Best part is there's no hands rigged to it so it can literally be used with any other game.


Next we have Gtox's damn fine work on a crowbar, Ala Gordon Freeman.

What a great looking crowbar!

This thing is freaking gorgeous.  I mean it just looks fantastic.   And Gtox even included an alt-attack (he's done this for some of his other weapons too) where when you hit left-alt it will do a secondary attack.  Very good stuff indeed.

Some freebies by Honkeyboy were posted as well.  One is a set of  'English trees' , the other was a few items for his crafting survival script: https://forum.game-guru.com/thread/219211 which include things like a furnace and workbench.



THIRD PARTY TOOLS


This week in third party tools we have  nothing really new.  I need to update my Lua API for Notepad++ to include global variables like g_Entity and g_PressKeyE(etc).   That should show up later this week in a separate post.

RANDOM ACTS OF CREATIVITY


'Death by daylight' - Honkeyboy's latest creation.  This zombie shooter looks promising and while it lacks the maturity in graphical refinement it does offer a crafting system which should help tilt the balance in favor of this being a more interesting title.  What impresses me most about Honkeyboy is how many irons he can keep in the fire and how many he keeps throwing in.   The guy has endless energy, which is a good thing to have when you're an Independent Gamedev.

'Cowboy Shootout' - Len the Man has been working on this title for quite some time but it's coming along well. He's obviously putting a lot of effort into it and it's really  starting to show.  Lots of custom models and interesting components in a much needed cowboy action game.

Len the Man's Cowboy Shooter Image
Pretty high end for GG!


As you can see, the quality is definitely there.  Nice to see someone sticking with it, through all the ups and downs.

IN MY OWN WORKS


I have too many irons in the fire myself.  I really ran into some stumbling blocks with my upcoming kits and it's just.. frustrating trying to find the time to sit down and work on them uninterrupted.  Life has been hectic enough, but it just keeps adding more and more to my plate.

Currently I have too much going on and need to clear some items before adding new ones.  Look for any of the following to have something on them later this week:

  • any of 3 different scripting kits
  • a new sky pack for 2018
  • a new terrain PLUS very interesting foliage (includes custom script)
  • one of two books I'm writing
  • one of two tutorials I'm writing on this blog
  • A final(?) update to the notepad ++ Lua API.  
You get the idea.  There's simply too much going on upstairs and I need to clear some room.
I'm glad I am able to keep all this rolling and was able to get the Lua API workable.  The scripting kits are about 10%, 30% and 40% there, respectively.  Any one of those could get completed this week depending on how my brain decides to plop out it's workload.

Friday, January 26, 2018

Just throwing this out there..

In response to a pretty high quality developer for Game-Guru saying he was done with Game-Guru after making a fairly phenomenal piece of work, I replied with something I think a few more would benefit from.

https://forum.game-guru.com/thread/219060

Example of his work:
Game is 'Cold Contract' by DuchenKuke


So I'm posting it here too :)

"I'll just throw this out there:
I've used a lot of different game engines over the years. I've worked in modding the original quake 1 engine going back to 1997/98 making a 10000 line AI program (500 pages or so of code) which someone else took to use to make the core 'reaper bot code' everyone knows and loves, worked in the MW4 engine making a mod called siege that the developers then used as the basis for a new multiplayer mode they added in the black knight expansion, I've worked in pie 3d gcs DOS/windows (required learning fortran/forth for ai programming!), worked in Acknex 7, 8 using their Lite-C system.

More recently I've worked in Unity, Unreal, heck I even played around in Lumberyard (not recommended for the average indy dev, btw) ... but the one thing that is a CONSTANT for all engines:

They all have problems. Every single one has stupid, obnoxious problems that require constant mucking around with to make them function. GameGuru is no exception.

That said, when you've exhibited the level of proficiency you have and then drop a project because you're frustrated with the errors - I get that, I do.

However you are going to run into problems in other engines too. I recommend taking a short break then getting back to it. Finishing a project, no matter how bad it is, is a skill a lot of indy devs lack. I myself suffer from 'I got bored and annoyed' syndrome. In spite of that, if you want to be successful you have to power through it and grind it out.

Use innovative solutions to deal with your memory issues or problems with long load times.

Also, best advice I can give for fixing your errors:
Read the log files! Enable logs if they aren't setup to (I think you have to modify a setting in setup.ini) and read the logs. There's a lot of info in there that's pretty plain to see like 'error loading model such and such.'. Great - then remove that model! Done. Problem solved.

I've made a lot of games I don't release that are just private endeavors. I'll post my most recent one here shortly, which has a whole 'five nights at freddy' vibe to it. It's all doable. It requires testing and fixing. It requires reading log files. It requires 'adding things the standalone builder missed'. It's all there part of the game making process.

In the end I have functional games that play well. You will too, if you don't take the easy way out and quit.

Good luck either way, I enjoy your work and look forward to more."





--------
Unrelated, on an aside I have a lot of really great coding projects for Game-Guru in the works.  Then I will, most likely be taking a move up to bigger and better things by adding Lua functionality to Unreal 4.18 and bringing my coding skills with respect to Lua over the Unreal.  My most major hangup with Unreal has been that god-awful blueprint system.  I get it's meant for the non-programmer but I don't like being stuck choosing that or straight up C++.  No ... thank... you.  Call me spoiled, but Lua is just so damn nice it's hard to not want to KEEP working in it once you get a handle on it's dynamic typing.

Projects should be complete within the quarter.  I also have a larger, longer term project being done for Game-Guru that only a few are aware of.  Once I get further along (80% of the way) I'll post here about it.  In the meantime the current rash of projects to watch for on the forums and TGCstore will be:
  • A very easy to use camera scripting system
  • A roguelike toolkit
  • Another toolkit I refuse to mention currently (separate of other project I won't mention).
And that'll be all!  Anyways, take care everyone and  keep up the good work, independent developers. 

Monday, January 22, 2018

This Week in Game-Guru - 1/22/2018

As mentioned previously I should probably get off blogger soon.
Is it just wordpress these days or is there anything else of value out there?

It dawned on me I'm basically doing the job Lee and crew did years ago back when Game-Guru was still fresh and had life to it.  

ENGINE UPDATES:

The following video has all of the latest details and updates on the Game-Guru engine.

That's right, literally nothing, zip, zilch, nada.  Just one cryptic post from Lee about another unrelated project (here) that was received rather poorly by the increasingly salty natives.


NEW ON THE STORE


https://www.tgcstore.net/product/30999 - BSP made a new m9 pistol.  Looks very decent!
https://www.tgcstore.net/pack/11002 - Tarkus continues his efforts in the world of audio for Game-Guru.  It's a smart move and he could easily translate it cross platform if he so chose.  I like his work thus far. This 'star cluster music pack' has a really professional feel to it.  The tracks are well done and have a heavy ambient-style synth vibe to them.  It's slower than his other stuff but definitely has a good feel to it for a space-based game that is not fast paced.  The free samples practically sell it for him.  Even though I'm an owner of his previous work(s) I feel this one has a real good flow to it.  I may purchase it myself soon!
https://www.tgcstore.net/product/31002 - Corrosion's 'enhanced AI'.  Probably is enhanced but I'd prefer to see a video if I'm spending that kind of money on an unproven product.  I'm an AI geek myself; I spent several thousand lines of code writing a pretty landmark AI program that went on to be the basis for the Reaper bot code.  Color me hard to impress, if you will.  Without a video to show the differences, it's hard to justify spending 7 dollars on something that could only be marginally better.  Considering how bad the AI is currently, this is significant.  If anyone purchases this, please let me know what your results are!


THIRD PARTY PROGRAMS:


So in more relevant news (to me, that is), there's a lot going on with third party programs.  To me, this and Lua coded items are where the action are at.  Lee simply takes too long to push his updates and as a result, we're forced to do a lot of the heavy lifting if this thing is ever going to be a functional product.

So first off we have OldPMan's excellent "Normalizator" (wow, what a mouthful) tool starting to beta PBR support.  This is a huge boost to people like me who haven't got the time to invest in learning a whole new workflow for PBR assets!

More info here:  https://forum.game-guru.com/thread/216095?page=6#msg2594115

Also we've had some lively discussions on voice synthesis (robo-talk) software: https://forum.game-guru.com/thread/219214

And also we have a great thread on converting assets from Makehuman to Mixamo to 'FBX2GG'.

Lastly, I should also mention my own work here.  I recently created a Notepad++ Lua API for Game-Guru.  It's a simple piece but was a time consuming slog with 2400+ lines of XML code to write up.  It will basically auto-complete, give hints, etc for Game Guru and it's associated Lua functions. You can get more info on that here: https://forum.game-guru.com/thread/219215

RANDOM ACTS OF CREATIVITY


https://forum.game-guru.com/thread/219234 - Bugsy continues his work on his Wolf's previous FPSC game: Direct Action.  The sequel is called "Direct Action 2" (surprisingly enough) and has some pretty good teaser screenshots:



https://forum.game-guru.com/thread/219060 - Duchenkuke has given up on his flagship product 'Cold Contract'; This is unfortunate.  Another high quality potential Game-Guru developer is taking an undefined hiatus from Game-Guru due to production issues.  This is, in my opinion, the biggest plague we have ongoing right now.  We really have a significant hurtle in using Game-Guru with respect to producing titles, primarily our ability to actually 'convert into standalone' and memory issues.  The memory issues, in particular, really cause serious problems in larger projects.  It's a damn shame that yet another great project is being dumped because this issue couldn't get resolved.

https://forum.game-guru.com/thread/219206 Lastly, while it's not a WIP, Wolf made a pretty great lightmapping tutorial.  This is the type of thing we need more of.

IN MY OWN WORKS


As mentioned, there's my Notepad++ API that is free for download to help developers get the most out of their Lua coding in Game-Guru.  On top of that I've been intermittently working on my upcoming kit(s) for Game-Guru.  They're heady projects though so it's really eating up cycles to do the things I want to do.  I realize that if I was a slightly better programmer in Lua this probably wouldn't be so tremendously difficult.

That said I've made a lot of progress.  I've integrated weapons and healthkits into my system (ammo was the first thing I used) and now need to find a way to get the enemies to do what I want them to do.  All in all, I'm a solid 2-4 months away from being able to release either of them at this pace.  Maybe as things clear up I'll be able to allot more time.  As it is though, it's only a little here and there.

That wraps it up for this week.  Keep an eye out for an update coming down the pike.  We should see some really great stuff soon if Lee ever deems to open the floodgates.



I think I need to get off the blogger platform.

There's virtually no value to me being on this platform.
Might be time to switch to wordpress.

I'm obviously shadowbanned on most of Google's services (probably due to my heavy conservative bias elsewhere in the internet); my view rate is virtually nil despite the fact I know approximately 30-50 regulars come here.  Searches on google.com make it nearly impossible to find this blog, despite it being such a singular purpose and having a specific focus that it's almost shocking.  I mean google vs bing, bing shows me as 2nd for results whereas google shows 7th-8th on a similar search.  I'm also unable to use adsense at all, so really I do this for writing practice and literally nothing else.

The blogger widgets are a joke.  Etc.  Etc.  There's just poor integration across the board and I'm not really sure what the purpose of using this platform is.

For now I'll continue as usual but don't be surprised if there's a switch in the future.

I'm going to play with some settings, revisit previous pages that had better labeling, metatags, etc.  Overall, however, this site is frustrating to maintain primarily because of the restrictions imposed by both a bad platform and one that seems specifically intent on crushing my readership's accessibility.

Friday, January 19, 2018

Game-Guru Lua Notepad++ API

So while it wasn't tremendously difficult to implement, I made a simple XML Game-Guru Lua ANSI API for Notepad++.  Most of us Lua scripters for Game-Guru are already using NPP(Notepad++) for coding as it has built in Lua support, allowing autocomplete of functions and encapsulation of loops. That said, I desired something that would allow me to autocomplete common functions (which already was happening on projects I have of substantial size) for Game-Guru specific Lua work.

I realized this must be a fairly simple thing to do in NPP as many other groups have done it (Noteably Love, which is a Lua extension that I used as a framework for my work here).

What I've done is gone on and created a Lua API for Notepad++ that will simply and easily configure NPP to auto-fill Game-Guru functions for you, give you a list of functions to browse and give you a simple bit of detail about each function as well as it's inputs and outputs (for instance, if it returns a number or what not).  It's all completely free for anyone interested.

More information is available here: https://forum.game-guru.com/thread/219215

Wednesday, January 17, 2018

This is the one I missed.

Lee basically added a ton of Lua commands a while ago and I didn't even see it.

https://forum.game-guru.com/thread/218322

"Added 483 new LUA commands to the scripting system to support Player Control Mechanics
Added SetSurfaceIntensity, SetSurfaceSunFactor, SetGlobalSpecular, SetBrightness, SetContrast
Added SetPostBloom, SetPostLightRayLength, SetPostLightRayQuality, SetPostLightRayDecay
Added SetPostSAORadius, SetPostSAOIntensity, SetPostLensFlareIntensity
Added SetOptionReflection, SetOptionShadows, SetOptionLightRays, SetOptionVegetation, SetOptionOcclusion
Added SetCameraPanelDistance, SetCameraPanelFOV, SetCameraPanelZoomPercentage, SetCameraPanelWeaponFOV
Added SetTerrainLODNear, SetTerrainLODMid, SetTerrainLODFar, SetTerrainSize
Added SetVegetationQuantity, SetVegetationWidth, SetVegetationHeight"

... ugh, gonna be a long day.

Monday, January 15, 2018

This Week in Game-Guru - 1/15/2018

This week will be a little brief as well.  Not much overall going on as people still recover from winter.  However, you will definitely want to check out the 'In my own works' section as I've been doing a LOT of really interesting things this week.
 
ENGINE UPDATE PROGRESS REPORT

So a few little things have come to our attention; first of all it seems Lee has an issue tracker he's working on.  This should help keep things more organized and help him knock out bugs quicker.  He will also be able to isolate and track things that are getting out of hand or have a lot of complaints.

And while this isn't 'new' engine news, I did discover that global.lua has a significant amount of fairly new Lua commands.  I mean probably on the order of around a hundred or so new commands.  Things that are exceptionally useful.  I highly recommend you check them out.  ForcePlayer is a fun one, for example.  I created a riverbed with a current, a tornado effect, a conveyor belt, etc.  Lots of interesting stuff now that there's some physics enabled commands in Lua!

NEW PRODUCTS IN THE STORE

There's a few new things on the store.  Teabone has put out a few new scripts, notably an in-game clock system, useful for those who don't want to spend more for my Time of Day and Weather system but just need a simple clock.  It can be found here: https://www.tgcstore.net/product/30991

Also of note, the ever-strange Colosso productions has put out a decent pack if you like a colorful, retro style.



I personally like his work on skies though the models for me are not my cup of tea.  Artistically, I understand his desire for bright, crazy colors.  It's not my cup of tea, but it might be yours.  The pricing is decent enough and can be found here: https://www.tgcstore.net/pack/11001


FREE STUFF

While it looks like Bod is working on a few new things, he hasn't released them yet.  Once they're released, they'll be here first thing.

Beyond that not really seeing much else at this time.

THIRD PARTY TOOLS

Someone posted a virtual voice creator by IBM.  Apparently it's pretty sophisticated though I've not had a chance to play with it yet.  Robovoice is not my favorite thing but does have it's uses from a gamedev's perspective.  Check it out here: https://ivva-tts.sl.haifa.il.ibm.com/welcome

RANDOM ACTS OF CREATIVITY

This week brought a pleasant surprise in the form of a new face taking an ambitious series of first steps towards a Game-Guru project.

Peri posted a video for an out of the ordinary promo for a game he's working on.  Overall, I like it.  It lacks polish, but has promise.  If he can clean it up, keep it functional (a big difficulty in Game-Guru!) and produce it he might have a winner.



IN MY OWN WORKS

So in my own works, I'm working on several plug-in and go kits for Game-Guru.  The one I will discuss today will be the 'RogueLike' kit.  The RogueLike kit is coming along nicely, with some interesting code fixes to make it work within GG's Lua framework.

I learned several very interesting things Lua related recently; things which have been a total game-changer with how I handle tables.  First off, is that you can specify the table name with a hashtag in front to get the most recent element of it.   I don't want to say too much without giving away the farm, so ... bing is your friend here (screw google, the goddamn commies).  Second, you can get your object id for direct manipulation by simply using variable 'e'.  So ... if you are trying to build a level you don't have to use g_Entity[e]['obj'] or anything like that.  Just use e.  Then you can call functions off 'e' which will in turn allow you to disable/enable things, hide/show things, etc.  It's really pretty impressive and much better than the hardcoding I did for the lightkit.  I may even go back and redo the code for it to make it more dynamic.


It's really brought me forward pretty far.  Now with respect to the RL kit, the idea is that Game-Guru has significant difficulty with moving between levels and unloading resources.  Memory problems abound.   Ideally we'd do much of our work on several major levels, then build links between them, right?  Unfortunately in implementation this results in frequent crashes.  However what if you didn't have to leave the level?  What if you just kept working with existing resources, over and over again?  You could frame out a single level and just beat it to death with random numbers and automatic generation.  Granted, there's limits to this type of system but it's fairly popular and I can see people wanting to buy it.
At this point I've developed a very sophisticated teleportation system and also an item spawner.  The item spawner I just solved last night and it will really open up the doors to all the other items of this product I plan to add.  Once I can implement it fully we'll have some really cool stuff available!

I plan on posting an update video later in the week to give you guys something more visual to chew on.  That all hinges on whether I can get the enemy spawning code working the way I want.  I'm going to take a few pieces from smallg's stuff but mostly it'll be 90% my own work because unfortunately what I am asking for from Lua is HIGHLY specific.

What this will, in the end, allow you to do, however is build several rooms that link to each other, build enemies, treasure, etc automatically and have some basic systems to use off that. 

Wednesday, January 10, 2018

This Week in Game-Guru - 1/10/2018

I'll admit that I'm being a bit lazy again with this stuff but the fact is I get maybe 50 hits on a good day to this blog and that's being generous so I don't feel an overwhelming pressure to put these things out on time.  You get them, plainly, at my leisure, which is fairly inconsistently available at this point.  That said, the community is fairly quiet as of current.


ENGINE UPDATE PROGRESS REPORT


I got an update from Lee on a question I asked, basically asking me to wait and that an update may *knock on wood* be scheduled for later this month.  That is literally all I have at the moment.



NEW PRODUCTS IN THE STORE







Not a lot going on here.  Corrosion appears to be putting a bunch of scripts up which have good utility.  You can find his store here:

https://www.tgcstore.net/artist/221852

FREE STUFF


Graphix did an 'elf girl' for download (NON COMMERCIAL ONLY). https://forum.game-guru.com/thread/217932?page=6#msg2593436

No new scripts that I saw, anyways.

THIRD PARTY TOOLS


Nothing really new here but there was an excellent infodump by Preben on his shader/GG Loader thread here: https://forum.game-guru.com/thread/215236?page=4#msg2588372  .. he did recently add PBR support which is fairly impressive given it's capabilities.  Preben continues to amaze the rest of us.

RANDOM ACTS OF CREATIVITY


Not a thing.  Pretty quiet all around. As usual, updates generally cause a big uptick in activity, a flurry of new posts then it goes silent again for a bit.

IN MY OWN WORKS

It's like 'in my own words' but it's talking about my works so it's very clever, right? RIGHT?  SO CLEVER!  *Pats self on back*.
 
So I'm adding this section to keep people apprised of what's going on with my own stuff.  I have two new code kits coming, both are pretty nifty stuff but they will take some time to create.   They both will have fairly reasonably large impacts on two different game genres so it should be interesting to see who will purchase them.  I don't want to give away too much before it's ready.  Bottom line is simply keep your eyes peeled in this space for more details later as we approach a point where I can release the code on the store.

Wednesday, January 3, 2018

This Week in Game-Guru 1/3/2018

Happy New Years, everyone. I hope you all had a great holiday.

I'm super busy getting caught up but I have a few updates to go over.  From my standpoint, I completed several interesting projects in Game-Guru I'll post shortly.  I'd like to wrap up some minor bugs but I am pleased with the results.  That aside, I ran into some serious issues with the engine's ability to make standalone files.  While standalone exports have always been an issue, it seems the latest public preview edition had more and more issues as time went on.  It felt like I was hitting snags on every export, with every third or fourth being the 'good' one.  Really hoping we see an update soon.


ENGINE UPDATE PROGRESS REPORT


No news to report here, sadly.  Holiday usually means Lee disappears off the face of the earth for an inordinate amount of time.  We'll probably hear from him again in march.  :(

NEW PRODUCTS IN THE STORE









In the store, there were a few new products with only a few notable updates.  Mstockton put up some nice locks and keys, which are always useful. On top of that Mad Lobster put up some interesting medical equipment for download.  They're well priced and look great.



Grobyken's new stuff is starting to pop up on the site as well and I highly recommend giving it a look as his latest models are a massive leap forward over his previous stuff.


FREE STUFF

The past few weeks have been relatively bereft of any real freebies aside from a few nice ones that found their way onto the scene:

First we have Bugsy's free scooter.  I like Bugsy's models and this one is no exception.  Should be a good city prop.


Next we have something a bit more simple that came as a request from a user, a series of 'street party flags'.  The kind of little celebratory banners they post to make a city seem more festive.  Looks like these freebies came out well:

Going back a few more days we find a nice free set of characters from Lafette, who has generously provided something that would normally cost a fair amount on the store for free:

They've got lots of custom animations as well!


THIRD PARTY TOOLS





While not necessarily a third party tool, this thread on PBR workflows is similar in the sense that it provides a good bit of information on using third party tools to create PBR assets within Game-Guru, something I'm still struggling with.  https://forum.game-guru.com/thread/219159

RANDOM ACTS OF CREATIVITY


Some interesting stuff out there but mostly the same old projects.
I did find a new trailer for Kshatriya by Bugsy though:

https://www.youtube.com/watch?v=C9SnoHh5m7w

I'm looking forward to posting some of my own recent work online so keep an eye out for that in the near future.