Samstag, 23. Dezember 2017

Dreams

Last night I was walking through a desert during daytime. A warm breeze carried a whispering voice towards my ears. It surrounded me and guided me towards a city beyond the horizon.

People in this world
Can't see what they see,
Can't hear what they hear.
So keep your eyes open and your ears alert,
And you will see things no man has ever seen,
and hear things no man has ever heard.


Dienstag, 19. Dezember 2017

Developer Diary 77 - InteractFX Testing & Transition Gates





These last couple of days I have been working like crazy on the game world and I have never been happier. When too much time goes by and I can't work on the project for various reasons, I grow more and more miserable.




I incorporated transition gates. These gates change the light level from outdoor landscape segment values to indoor segment values. This basically means that, when you enter a dark location you need the overall lighting level to be adapted to the new environment. But once this happens, the sudden change in lighting smashes game immersion. So I built gate structures, that change the lighting levels while the player explores them. This way there is no break in immersion and the change in lighting levels happens smoothly.

I'm also working on particles and elemental effects in relation to the dharmapala chants. I improved the overall look of all dharmapala chants and their effect on buildings, structures, items, enemies and the environment in general.




My goal is to create three different demos:

1.) A very small one, with basic functionality
2.) A second larger one, including enemies and death volumes
3.) An even larger, final, complex, releasable and pitchable demo, consisting of the very first game level and Mahakala's palace.





I want to use the final demo to recruit more crew members and pitch the project to various sources that can ensure financing. Higher quality means a larger chance for success. Needless to say, that I'm trying to make this thing shine.





Samstag, 9. Dezember 2017

Developer Diary 76 - Amen

I'm going through my diaries and early notes tonight and just found something interesting from long ago. While studying for the conservatory entrance exam, I had written down a prayer one night. I must have been around 20 years old, and during that time, I was living for the first time on my own. I don't remember why I did that, or where it came from. The last couple of lines said:  


Dear God, ... 
Let me find strength, when all I feel is weakness,
Let me be brave, when all I feel is fear.
Let me be compassionate, when all I feel is rage,
Let me feel freedom, when all I feel is confinement.

Please let me be who I truly am and fight for what I truly believe in, 
And in return I promise to be myself forever....
Amen. 

And suddenly a thought hit me: At what point, does this stop being true? If this is truly a bargain, what if one of these two parties, doesn't keep their promise? It's funny because I suppose everybody secretly makes this promise .... I think it can easily be mistaken with: "Hey, as long as things are looking up, I don't need to start any crazy stuff."

But I do believe that all consciousness carries a responsibility to cure itself and to return to what it truly is. I believe that this is the true meaning of the Bardo Thodol: Consciousness won't automatically turn darkness into light. It is a long process of soul searching and self reflection. But consciousness has a responsibility to do so, and to take up the long journey towards light. Or it will lose it's own identity and purpose. It will remain in darkness and change into a different form. This duality is a defining feature of all sentient beings. And it doesn't matter what, who, or where your conscious center is. You either move away from the darkness and towards the light or change form and move even deeper into the opposite direction. But the potential for change and the constant ever changing current of thoughts and feelings remains present all over the spectrum. The final goal is neither light nor dark, but a satisfaction of the underlying curiosity that consciousness carries inside. And since (at least to my own understanding) this curiosity is insatiable, eternal and endless there is no goal, just experience and a (more or less limited) free will.

I choose light. I always will.

Sonntag, 26. November 2017

Developer Diary 75 - Moon

No, I'm not dead. But I'm doing a lot of things at the same time right now .... some of it is job related, some of it is money related. The more budget I can gather, the better the chances will be for this project to come to fruition in the future ...

That being said, I still keep working on the soundtrack. During the last couple of days I have been working on a piece called Moon, which is meant to be used as a peaceful underscore inside the game world. Yesterday night I finished the first part:

Sonntag, 15. Oktober 2017

Developer Diary 74 - Gamedesign is Done!



I finished a 20 page game design document, including screenshots, music links, videos and SFX examples. The game is theoretically pitchable to a publisher now. I also have a demo level ready, but the FPS are not consistent across all parts of the level yet and I'd also like to add an area depicting the transition to another landscape chunk. But so far things are coming along nicely.


Samstag, 14. Oktober 2017

Developer Diary 73

Right now I'm preparing a Game Design document and a demo for future pitches. This is a Dharmapala palace appearing in the woods. I thought this might be the most impressive object to experience in a demo. After this is done I'll take screenshots of AI, Items and objects to incorporate them into the gamedesign document. As unbelievable as it sounds: This works at 90 FPS in VR.




Montag, 2. Oktober 2017

Developer Diary 72 - Eerily Dark


It took some hard work, but the forest rooms are done. The mood is incredibly dark and strange. It's not exactly made for screenshots. All anyone can distinguish in the screen above is a spot of strange green light and that's it. But when you experience it in VR it reaches its peak immersion. The ground is covered with bushes and grass, and it has a really realistic feel to it. The next task ahead includes meadows and open areas. The difficulty here lies in creating a seamless transition from the dark woods into the bright light of day. Once I have a template for these open spaces, I can incorporate the maze from early 2017 and the dharmapala palaces in combination with the already finished bridges and towns.

Donnerstag, 7. September 2017

Developer Diary 71 - Back To The Beginning





I finished the blueprint spawners, but when I traveled my own world it felt void, empty and dark. Without life and color, depressing in every way. As beautiful as those screenshots in "Developer Diary 70" looked, they lacked in atmosphere and character.

In late 2014 I came up with my very first concept for Lakini's Woods. At the time I had been working with Unreal Engine 3 and a couple of basic assets I took from the game "Thief 3". The idea was to set up the entire game as a forest maze, based upon a series of rooms that create the illusion of a very deep dark forest. I had no idea how to accomplish this at the time, but I managed to lay down a basic playable UE3 demo and created a couple of playable levels, that included zombies that would chase me throughout the woods:







The atmosphere and the overall feeling during gameplay was great. Each room had  a white ceiling and a point light, which was responsible for "faking the sky". This concept had many advantages: It greatly limited the amount of foliage visible to the player, there were no lighting problems related to dynamic day/night rhythms and it gave me the opportunity to plan each segment and each room meticulously so I could optimize VR performance in every corner of the world.

I think I found a way to merge the original concept with the landscape segments and the world creator blueprint that I built throughout early 2017. Instead of landscape segments, the world creator spawns so called "forest-rooms" in predetermined sizes (500m / 1000m / 2000m a.s.o). They will now snap together and connect accordingly, creating a fluent tunnel-like maze. The dharmapala palaces and the villages are contained in very large rooms, that use an artificial sky sphere to create the illusion of a very large and open space. These large rooms can also be implemented into the world creator blueprint. I just may have found a way to get rid of all my problems ...











Freitag, 18. August 2017

Developer Diary 70 - This is what it should look like

This is a sample of a randomly spawned village next to a dharmapala fortress and a bridge structure.







These images have two purposes:

To give me a clear reference of what I want the blueprint spawners to do (the one for the bridge, for the palace and for the villages) and to boost my ego after days of failed attempts at dealing with destructibles.

Donnerstag, 17. August 2017

Developer Diary 69 - So close, yet so far away .....


What you see in the image above is a testing session, which helps me determine the optimal destructible mesh settings for each architecture segment. It's what I've been looking at for the last two days. And I'm sick of it.

I'm nauseous from the VR lag during in-editor test playing, because even though it all runs on 90 FPS without the editor load, when the editor is open it will still split the framerate in half to 45 FPS. I constantly feel like throwing up and none of the things I want to implement seem to work. And I can't figure out why. The 4 towers up front are all destructible meshes, with "impact damage" enabled so that I can test the effect of dharmapala and player projectiles on these structures. The palace segment in the back is part of a "dharmapala palace blueprint", which contains destructible meshes and collision volumes, that trigger a predetermined destruction as soon as the corresponding element (in this case "earth") collides with the collision volume.

But instead of destroying the pillar at the base, it just disappears. No matter what I do. I'm way below the chunk limit of 2000, I have set the segment on visible, I've tried other destructible segments in place of the pillar and every time I trigger the collision volume, these fucks just disappear instead of breaking apart. I've even set the mobility settings on all 3 different options and tested each one to no avail. The 4 towers up front seem to react to the impact damage of player projectiles, but they split into uneven parts and the collision of each chunk is a nightmare, even though I haven't changed the base scale of the model (as written in the unreal engine documentation). The walls of the tower appear hollow when it's split into chunks, which kills all possible immersion this effect might accomplish. There is no fix for these holes. Complex chunk collision and chunk merging is just not implemented for Unreal Engine yet. The only possible fix would be a custom split of the model; in other words I need to rebuild it and split it up manually, then fill up the holes and create a parent blueprint that enables physics behavior for all mesh segments. When the segment collides with a projectile, velocity is applied to all mesh chunks..... I'm so tired of it.

I've made lots of progress over the last few weeks, as I fixed most of the palace segments and created fully working LODs that allow the entire palace to be rendered in 90 FPS, even with foliage and during dharmapala chant animations. But in order to reach the next step I need to give every segment the ability to be influenced by various elemental effects and it just won't work.

For the next weeks I need to focus on some audio design work for another development studio and also continue on the renovations of my house, which is incredibly frustrating, because I'm running low on patience. I just want the alpha to be out there. I want this thing to lift off ...... I've been working on it for more than three years now ..... and it's god damn time for the alpha ..... I'm so close to it .... only two complex blueprints to go and I can't figure them out ..... it drives me mad ......

I guess this frustration is all part of the way. But some days it just eats up my motivation. Knowing that there is a chance, that I will need to recreate those meshes with basic geometry again, as I have already done two times now, fills me with dread.

Just need to keep at it I suppose ......


Montag, 14. August 2017

Developer Diary 68 - Preparing for Alpha


I reworked almost all of the architecture assets to make them look decent when the player character is moving through them. They contained a ton of texture stretching errors and Z.fighting at times. I also reworked the LOD settings for the dharmapala palace assets. The next step is to create blueprints for the palace and destructible meshes of each building segment so the player will be able to destroy the palace through earth elemental forces and spirits to reach the top in order to gain access to the dharmapalas lair.

The first palace will be underwater, and contain the Manta. The second palace will only consist of a single floor and contain the earth spirit so the player can use the Manta to reach the top. The third one however will have multiple levels and require the player to use the earth spirit to destroy building segments in order to climb it.

The remaining cathedral and church building segments will be used in "townspawners", that create cities of varying sizes, including churches and chapels. These cities are abandoned, but the player can use them to take cover from the creatures chasing him or find valuable resources close to them. Traders are also located inside those cities.

Still a ton of work to be done, but once these blueprints are completed it's finally time to compile an alpha version of the game.


Freitag, 7. Juli 2017

Developer Diary 66 The Palace is done





Now the hard part starts ..... calculating correct LODs so it works in VR ...... and setting up a script that randomizes the palace construction .....

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: