Dienstag, 5. Juni 2018

Developer Diary 85

Over the last two months I have been working on the following things:

- I incorporated updates for UE 4.18 and Oculus VR that eventually let me check the FPS again without engine load. Since I found that with this new landscape I couldn't keep 90 FPS regardless of optimization I had to downgrade my landscape models again.






- With UE 4.18 Epic's crew changed the way in which foliage culling works for all instances, so I learned how to adjust each foliage material to the new culling code and adjusted all 53 foliage models and their materials. Thank you Epic. Thank you so much. And by the way: The code displayed in the official Unreal Engine documentation is wrong. It actually looks like this:






- I wrote blueprints for Butterflies, Birds and Dragonfly AI. They swarm around the player when he is close to a spawn point and they look beautiful in VR. In order to stay on 90 FPS at all times I had to minimize their movement and tie their code and creation blueprint to the event tick.







- I'm currently working on an overhaul of the palace models. At first I wanted to create custom LODs for them, but now that I have rebuilt one of those models I realized I could minimize polycount drastically if I rebuild them from scratch. It is a lot of work, but it leads to a much more smoother overall look, great LODs and larger palaces at 90 FPS.



Donnerstag, 19. April 2018

Developer Diary 84 - 3 Hours Environment Training Each Day





Putting in the effort is worth it. Waiting is worth it. Staying committed is worth it. And taking breaks and a day off is worth it.

Donnerstag, 5. April 2018

Developer Diary 83 - A New Approach



These two screens depict a massive increase in quality and detail. I have been fighting for this kind of quality for years now. And now finally I am content with what I'm seeing on my screen with an average desktop FPS of 50-60 FPS and a VR FPS of 90 on GTX 970.

I realized that it is possible to create a detailed beautiful forest by reducing it into branch elements and leaf elements. The day night cycle was supported by using a merging cubemap on my Exponential heightfog, that is incorporated into the day-night cycle script and disappears during night time, while reappearing during day time. There are cloud shadows and water reflections, yet not a single shadow on any mesh or building contained in the level and creating something like this that works without detailed shadowing and without dynamic shadows (apart from landscape shadows) was hard to do.

Meanwhile a lot of bad stuff is happening in my private life, but you can't hit a homerun every day. To all struggling developers out there: Never give up. Never, never, never, never, never, never. It doesn't matter if life throws shit at you, if there are arrogant assholes out there, that tell you your work is meaningless. It doesn't matter if you're scared or frustrated. None of it matters. Only what you do every day, every hour, every minute, that matters. The work you put into it matters.

Of course this is just the beginning. Ever since the last UE update none of my environment FX blueprints work, because they were all based on a node which was declared invalid with the most recent update. (On a sidenote: I love you Epic!) But again, it doesn't matter. I'm moving forward, regardless of everything else.




Samstag, 31. März 2018

Developer Diary 82 - What if Sisyphus was happy?




Over the last month I studied environment design and foliage placement. I incorporated a new landscape material by Pixel Perfect Polygons and worked on Depth of Field and bloom PP FX. Apparently UE4 still can't properly depict changes in the depth of field settings inside a post process volume, which makes the entire process torturous, because with every change in setting I need to restart the engine. I ended up deactivating DoF since at least for now the drop in performance is a huge problem when DoF is active, especially for VR.

But of course progress is minimal. Every day I open my session and adjust settings. Sometimes I work on Dharmapala FX, sometimes I work on foliage adjustments, sometimes I just open it to close it again, because I can't seem to get a grip on anything.

I'm afraid I am working too slow. I am afraid, that nothing I do is enough. I am afraid, that I will fail, and end up with a broken project I have been working on for years, without results to show for it. But I believe that none of it matters. I think that what matters is the work I put into it every day. Refining the craft, the skill. Getting better at it. Reading about it. Studying it, as if it was all I will ever do. But maybe I am naive. I don't know enough about any of this to be sure.

I spend the rest of my time playing piano. About 10 years ago I was able to play some really difficult stuff and when I recently started practicing again, I noticed that my former skillset was basically gone. Now I sit there every day ... practicing just like I did back then. And it soothes me, because it is a task that has no other purpose than it's own perfection. I don't want to go on stage, I don't want to show off. What I want is to play. To create handwritten pieces, arrangements, orchestrations. To get away from all the studio software, the mockups, the MIDI and just get down and work on the skillset again.

But there is no guide, no compass to go by whether or not I am on the right track. I simply don't know. It may just all be entirely pointless. I spend a lot of time on these things, and it is on the one hand very satisfying, yet it feels very .... absurd.

I came across this excerpt written by Albert Camus on the absurdity of life. He uses the metaphor of Sisyphus to investigate the ultimate dissonance between man's joy in life and it's depressive absurdity through repetitive tasks and endless efforts:

"The absurd man says yes and his efforts will henceforth be unceasing. If there is a personal fate, there is no higher destiny, or at least there is, but one which he concludes is inevitable and despicable. For the rest, he knows himself to be the master of his days. At that subtle moment when man glances backward over his life, Sisyphus returning toward his rock, in that slight pivoting he contemplates that series of unrelated actions which become his fate, created by him, combined under his memory's eye and soon sealed by his death. Thus, convinced of the wholly human origin of all that is human, a blind man eager to see who knows that the night has no end, he is still on the go. The rock is still rolling.

I leave Sisyphus at the foot of the mountain! One always finds one's burden again. But Sisyphus teaches the higher fidelity that negates the gods and raises rocks. He too concludes that all is well. This universe henceforth without a master seems to him neither sterile nor futile. Each atom of that stone, each mineral flake of that night filled mountain, in itself forms a world. The struggle itself toward the heights is enough to fill a man's heart. One must imagine Sisyphus happy.  "
1942, "The Myth of Sisyphus" by Albert Camus


I can relate to that.

S.M



Mittwoch, 28. Februar 2018

Developer Diary 81 - Foliage Attempt 1





This is an attempt at realistic foliage placement. The FPS is ridiculously low (<30 FPS) but it is a basis to work with. The secret appears to be combining the landscape material with root meshes, and a limited number of rocks and grass meshes. It is also wise to add a little noise to the landscape terrain and smooth it afterwards, but not too much or the player will constantly move up, down, up down, up down and motion sickness will take its toll.

Dienstag, 27. Februar 2018

Developer Diary 80 - Finding a Crew - Learning Realistic Foliage - Moving

During the last month a lot of stuff has happened. I moved my equipment to a different floor, renovated another room in my house and bought an amazing piano for a ridiculously low amount. All the while I did my best to move the project forward. In the beginning I planned to use the trailer as a means to look for crew members. I made a profile on:

https://www.teamups.net/

and included a ton of info on each position, but to this day they haven't approved the team request, despite several emails to support. I didn't want to ask for crew members on facebook again, because I made some bad experiences in the past with crew members that are not close or at least somewhat close to my place of living. I want to meet my team face to face and not talk to them solely via Skype, hiding behind a screen. And I want to negotiate with them in person.

Unfortunately I hadn't heard from any developers at TUM either .... but in all fairness: I f*** up half of the presentation. I should have gone there earlier and check out all their equipment. When I was there, they couldn't even see half the stuff I showed them. The first group of students came late because of the weather and the traffic and therefore AFTER I showed the trailer, and the others couldn't see the presentation well because the room was too bright for the beamer to create a clear picture. All of these things could have been avoided, if I just had gotten there earlier. This is particular annoying because I had spent almost a month preparing for that presentation. ..... but so it goes ....

 So after a lot of digging I came across this list:

http://www.games-bavaria.com/company/

This is an index of Bavarian developer companies. I need help. And I'm certain that the name of the crew that I'm going to work with is somewhere on this list. Some of these developers are amazing and have very high standards. So I was about ready to send them the trailer and then .... one day in a facebook post from one of the Unreal Engine developers he asked a question about foliage meshes in an infamous Unity demo. I didn't know it before, but it destroyed me...






 It's even called f**** "Book of the Dead" .... a little bit on the nose, don't you think?!!

When you compare it to my trailer, you will know what I mean. To say it in the words of an editor who gave me devastating feedback years ago: "There is a delta". All this work and I can't compete with this kind of quality. But I know that it's not impossible either. I know that there are certain limitations when it comes to VR, because you need to be certain that the FPS is stable and constantly at a very high level (90 FPS). Because of this, my game can't contain shadows .... and yes, things like that make it a lot harder to get a realistic look .... but I can't stop watching this demo.


Years back when I got the feedback from the editor, I teamed up with Tom Salta, one of the very best producers and composers I ever met. I learned a lot from him, but in order to beef up my skills, I had to work my ass off. He gave me percussion cues from Howard Shore and Hans Zimmer to translate into Midi. I had to listen to each cue and recreate every single instrument in MIDI, make a mockup and ensure that it sounds realistic. It was the toughest task I ever had, partly because I was given a maximum timeframe of 5-8 hours for each cue, but also because it forced me to buckle up and do the hard work. So I figured, that's what I'm going to do here now too. I need to sit down and work my ass off on realistic foliage and study how these things come together. I can't sit on my ass and wait for an environment artist all my life and complain that I can't find one. I need to learn how to do that myself.


Mittwoch, 31. Januar 2018

Developer Diary 79 - Rough Cut 2018 Trailer

This is a rough cut of the newest trailer. There are a lot of things that I would like to improve, but for now I decided to publish it anyway.