Search This Blog

Showing posts with label Indy. Show all posts
Showing posts with label Indy. Show all posts

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, September 12, 2016

Technique Training: Fog and Environmentals

I was originally going to bake this in with my Advanced lighting series but this is more of a subject unto itself.  One of the more powerful elements within Game-Guru for creating environmental effects is the fog system.  The fog system was originally... laughable:


Picture courtesy of  Lee Bamber's now extinct dev log.
As you can see it was just as simple coloring of everything in the background.  By comparison, this is the fog system from the way past dead Game Creation System from the mid-late nineties:

Literally the same system in practice.

That said, at some point, Lee realized this was a titanic error and fixed it to provide a significantly better fog system.  We ended up with something vastly better:

This is an old picture, but shows the lower limits of what's possible.
So as you can see this has a major impact on the function of environmentals.  This game engine has very few 'modern' features.  It's important to stretch everything to it's limit so that's what I'm aiming to teach you to do!


Realistic nighttime!

So with that we approach our first technique; realistic nighttime.  In game-guru, nighttime effects are actually quite difficult to achieve.  This is primarily because the sky system has a constantly active light which will frequently circumvent your efforts.  This light is fixed in space and you can turn down ambient/shadow values to zero but your game will still fall short of achieving that desired 'nighttime' look.

The trick, the real trick, is to use fog.  If you set all the values to 1 for RGB, set the range start up close and the far distance close, then modify the intensity as desired it will create a black fog which accurately mimics the feel of night and it's creeping darkness.
As you can see from this picture:  it looks silly with a daytime sky.


But if you add a nighttime sky, it all falls together.  The best part is it accurately sets up flash-light fall-off.

As you can see, it looks far more like night.

Distance simulation with Fog

One common mistake I see in Game-Guru games is that they very frequently don't factor in standard atmospheric effects.   This in turn, makes their own job HARDER.

Not a bad city depiction, texture misalignment aside.


So this scene looks good.  It's a basic city done with some simple city models someone made.  Overall, not terrible.
Compare this against GTA IV:
Can you guess the difference?
The difference is atmospheric haze.  A slight atmospheric haze provides a level of reality to any city scene as most any place in the world has at least SOME slight atmospheric haze.

Haze is defined as: "Traditionally an atmospheric phenomenon where dust, smoke and other dry particles obscure the clarity of the sky."

What you'll find is in almost every scene, from top to bottom at least a slight tinge of fog on the outlying distance (use your total visible range in an average scene, add fog to the last 15-20%) will have atmospheric haze.

Don't overdo it, or you'll look like silent hill.
Trivia fact: did you know the first Silent Hill's trademark fog was actually a way to disguise the draw-distance limitations of the PlayStation 1 and the respective game engine involved?  By implementing a heavy fog they accomplished both an incredible atmosphere and also improved game performance.  That's win-win!

When implementing your haze, you want to keep in mind that time of day matters; remember haze is effectively a reflection or light being blocked.  As the time of day changes, so too does the haze.

Not a game-guru picture.  Just some random image from google.
As you can see above, the relatively nearby trees have a SLIGHT orange tinge (even in the upper branches) caused by atmospheric haze and ambient lighting.  The lightrays further illustrate the haze, though lightrays on Game-Guru are totally dictated by the aforementioned fixed sun.
This is more what you're striving for:

From Twin Worlds - Note the orange haze, matching the sky perfectly.
As you can see, these settings are pretty simple stuff. You can do quite a lot with them.



Further examples(settings included):

My city test - day, with Atmospheric (normal) coloring:
If you further modify your depth of field settings you can achieve a more pleasing result, but this fairly decent for a quick example.

 
Preparing for a more night-oriented effect.

This is a longer range darkness, but still dark.  I left the cloudy sky in for contrast.

Now is a really dark version - high intensity.  Distance remains the same.
 

Notice how the red light is no longer visible.
Maximum darkness.  Close range.  No flashlight.  Dark sky.  

I had to move close just so you could see anything!!
Sunset Sky, Sunset fog for atmospheric haze.


My favorite, personally speaking.

 Silent hill, just because :P


Just add pyramid head.


As always, feel free to comment.  If this has been useful to me, please post a link to your results below!