Samstag, 3. Juni 2017

Developer Diary 63 - Dharmapala Palaces


I bought a large amount of gothic architecture meshes. Right now I'm working on the conversion of each individual model and its integration into the game world, including lighting, texture and surface properties. The meshes can be combined with the building meshes I created to form dharmapala palaces.

Mittwoch, 24. Mai 2017

Developer Diary 62 - Cubemaps & Biome Generation

I've been playing around with Exponential Heightfog Inscattering Cubemaps and I just can't decide which one to implement and how:










Overall the world is finally starting look the way I want it to look. Additionally I've been working on a code that groups landscape chunks of the same kind together to create something in the line of biomes. This will eventually give me the ability to create climate zones and various areas with massively different weather FX and vegetation. I broke my brain trying to find the right way to do this and ended up spawning "Landscape Placeholders" instead of landscape chunks, which first check the environment for similar landscape chunks before they generate their own. This way chunks of the same kind will group together until a threshold is reached. At this point they will switch to a different chunk type.

S.M

Samstag, 20. Mai 2017

Developer Diary 61 Exponential Height Fog - Time of Day

I incorporated two different kinds of Exponential Height Fog Components. Their Z Value is tied to the time of day, so that the player can experience the colors of dusk, dawn, day and night time independently from the underwater fog settings.




It's barely noticeable and I know those screenshots look like all the others, but it makes a huge difference when walking through the world. The sky is the only source of color, since the ground and all the trees and plants are entirely black. So it's important to exploit its full potential.

S.M







Freitag, 28. April 2017

Developer Diary 60 - Misty






The world generation threshold is now hidden behind the fog border, so the player won't notice landscapes chunks streaming in and being deleted....

During the last two weeks I rewrote the world generation code and replaced all regular meshes with hierarchical instanced static meshes (a feature which wasn't available at the time) and I also fixed a ton of bugs and world generation errors. The next step is to group together certain kinds of landscape and foliage to create the illusion of landscape zones such as grassy fields, pine forests, broadleaf forest a.s.o. all on 90 FPS Stereo VR.... I also need to find a way to connect a PP volume to the Day Night Blueprint, so that the light color is not set by the color of the fog, but instead by this PP Volume, since the fog setup should remain fixed from now on .....

S.M


Montag, 20. März 2017

Developer Diary 58

When I started working on Lakini's Woods in late 2014, I wrote a game design document, that contained  a basic set of features and core game play mechanics. Up until today I never updated this document and with everything that I have learned until this point it is of course grocely outdated. During the first couple of weeks in 2017 I felt that I had been going around in circles and one of those reasons was, that I had been straying from the original game design way too far. I'm currently reading up on publications, studies and compendiums on game design and game mechanics. I found a collection of amazing reading material:

"Gameplay and Game Mechanics Design: A Key To Quality in Video Games" by Carlo Fabricatore
"Gamedesign: Theory and Practice" Richard Rouse III & Steve Ogden
"Level-Up" by Scott Rogers

At the same time I started playing around with the early 80s generation of NES and SNES video games again, while breaking down their core mechanics and analyzing the overall level structure.

I found games like "Super Mario Bros.", "Tetris" and the very first "Zelda" incredibly enlightening, as these games have a very strict and coherent rule set. A game called "Terranigma" which was released in the late 90s for the SNES caught my attention again. I was stunned by the sheer quality of game design, a beautiful battle system and a clean, solid code that delivers a stable and glitch free game experience from start to finish.





Especially in the case of Terranigma I discovered a major feature, which turns out to be a hallmark of game design quality across all genres: A clear Question /Response Loop:

Every time a player interacts with the game world he "poses a question" for which he expects a definitive answer. Let's say our player character hits the wall of a dungeon with his sword: In this scenario there are several possible outcomes:

1.) The sword collides with the wall (experienced through an animation and a SFX), but nothing else happens

2.) The sword collides with the wall and the weapon breaks.

3.) The sword hits the wall and a hollow SFX is played, indicating that the wall is fragile and can be torn down

4.) The sword goes through the wall, without any consequences

5.) The sword goes through the wall, hitting enemies on the other side of it

6.) The sword hits the wall, triggering a hidden door mechanism on the other end of the room

If every time the player attacks the wall, he receives a different response scenario, without an apparent reason, then he can never confidently trust the rule set of the game. Terranigma does this flawlessly on multiple levels and it raises the overall quality of the game immensely.

To compare: "Secret of Mana" or better known as "Seiken Densetsu" for the SNES had a much less stable Question/Response Loop. Even though the game is great and I love playing it, I find that the code is much weaker and that glitches happen all throughout the game. If my player token is hit by an enemy in this game, based on the location of both hit boxes there is at times great uncertainty of whether or not my player token will receive damage. This creates frustrating experiences ... especially in "close call" situations where you have to rely on the position of your character and the fact that he is outside of the enemy's damage range.

I realize that I should have started out with all of these considerations 3 years ago. But at the time I had no idea how to write code or work with Unreal Engine 4. At least now I know how to do all of these things.

Because I didn't know any better I initially contracted parts of the game, that I wanted to have finished (models, VO) right at the beginning to other crew members. And the people that worked for me provided me with great results, and all of their hard work will be a part of the final project ...... but it's slowly sinking in, that my initial design contained some major errors that I'm just now finding out about. And I shouldn't have involved other people without re-thinking my basic concept.

I was wrong about many things .... ironically I was right about all the things that other designers warned me about in the beginning. For example the dharmapala system can basically remain just as it is, without losing any FPS and the overall environment design including the selfbuilding world can also be incorporated. I can even keep the code just as it is, without having to make any changes to it.

But there will be no items, there will be no weapons apart from the elementals and there will be a much cleaner interaction system that eliminates all possibilities for collision errors. I will keep the "Reichsmark" currency system though. They simply look beautiful when they are placed inside the game world and they correspond well with the buildings and the soldiers chasing Jonah.

In order to create a decent and coherent design I will need to read up on a ton of books and papers first, and for some time I will need to get back to the first generation of games and take them apart piece by piece, to better understand their overall structure and mechanics. I don't want to make the same mistake twice.










Mittwoch, 8. März 2017

Developer Diary 57 - New Approach to Foliage

This is a study on various uses of foliage models and exponential height fog underwater. Depending on how they affect FPS during realtime chunk generation I may have to ... revert to fixed level setups. I hope I don't have to. But they sure look beautiful: