v.0.3.13 (performance updates, non-aggressive NPCs)


I managed to fix the performance issues that appeared recently. They started to appear with 0.3.12 but in it was the latest Quest update that made them visible while they were all the time in the code. The fault was there since the first Tea For God build on Quest.

What was wrong and what did I do?

There are 3 faster cores available for any game on Quest. 4 slower ones are used by the system (tracking, just system stuff) and 1 faster core is used for asynchronous timewarp. Tea For God itself was using 3 cores but there is also fmod that also needs some CPU power. My guess is that it lead to asynchronous timewarp thread starving. It didn't have enough time and system was allowing to get that power from it. It was clearly apparent when I updated to the latest version of Oculus Mobile SDK. I decided to try using just 2 cores. And it started to work much better.

But that was not the only change. I managed to simplify shaders a lot. For Quest, light calculations are moved from fragment to vertex shader, also the material information is not read from the texture but is stored within vertex buffer. All those small changes that are much more visible when you compare both versions (Quest and PCVR) side by side.

Another change is how menus are rendered. I decided to drop blending wherever it is possible but because of that there is some shimmering in the menu and it seems a bit glitchy... But I kind of like it. I am thinking about having it in PCVR too. For time being I've just taken cursor dissolving from Quest version.


Changes to rendering revealed that right now CPU is the bottleneck (although, to be fair, in the GPU department there is still a lot to do). It becomes more apparent when playing bigger level and during the first few seconds (or sometimes even first half a minute). Non-linear levels also make it a bit worse. Sometimes. All of this will be addressed. But a bit later. Right now I really, really want to focus on gameplay features.

Speaking of gameplay. There are a few minor changes.

To avoid switching buttons on forearms, I decided to allow only index finger's fingertip to interact with those buttons.

More important is that there is a new option for custom difficulty. You can get rid off of all NPCs or make them non-aggressive (but if you attack them, they will fight back). This turns Tea For God into a pure walking experience. I used to joke that one of the inspirations for Tea For God was a character from "The Morality of Mrs Dulska", Felicjan Dulski, who was ordered by a doctor to have a walk each day of a certain distance. But his wife was forcing him to walk in circles in the living room. I learned that there are people who use Tea For God for something similar. But instead of just walking in circles seeing the same walls all the time, they are wandering through a virtual world. All the robots are then just a distraction and annoyance. That's why there is such an option now. "Non-aggressive" option is just a middle ground between "no NPCs" and normal behaviour.

Another important thing is the support for Index controller. That was based on my experience with Knuckles prototype but since I do not have Index, I am not sure how does it work.

Among other small changes, I added a window that informs if there is a new build available.

Tomorrow I start working on EXMs (extension modules). Setting them up on forearms, buying, selling, the inventory itself and of course EXMs. I want to add a bunch and keep adding them on the way. For starters, there will be some very basic ones (navigation, energy pulling, EXMs that alter stats) but I also want to add one or two that introduce completely new stuff. For time being, expect everything to be available all the time. With the final game, you will have to unlock them (unless of course, you decide to have everything since the beginning).

Files

v 0.3.13 (#196) 33 MB
Sep 04, 2019
v 0.3.13 (#196) - Oculus Quest APK 31 MB
Sep 04, 2019

Get Tea For God

Comments

Log in with itch.io to leave a comment.

Hey, my friend brought over his quest and I tried this game. Even in development this game has me more excited for VR than anything else, I actually am planning to get a Quest here soon 100% because of you and I want to say thanks for making this game. I've always loved Roguelike games and this brings it all to a new level. Are you still thinking you will release a full game this year? I really think this game could be a game changer for VR. Again, thanks for this game, it is awesome!

Current plan is to keep public builds for free until early access. And early access has moved a bit. Full release I plan to happen in 2020, not sooner than Q3. With the game in early access, I still would like to have free builds available, but then they will be just a small pieces of the whole thing.

(1 edit)

This is going so well!  I’m really happy that your are continually improving the game. I really like the new option to make NPCs non-combative or remove them all together. It’s great to just wander around sometimes. Nice that you can control so much of your game play. If I didn’t say it before this game sold me on the Quest I still only have the Vive but I was able to play this on Quest and it’s so much more the experience I want to have in Virtual Reality. Good job. Keep up the good work!

Thank you :) "No NPC" option was requested by a player. Some of the propositions may not end up in the game but may evolve into something great. That's why I want people to say what they would like to have in the game.

signed up for itch.io just to say, great job with this game so far..

Have you got plans for text bubbles that maybe point out helpful tips on how to do tasks within the game?

I'm often dense.  I could use the help learning some of the game's nuances.

I didn't want to add tutorials or help until very late into the project (to avoid modifying them if something changes in the core) but recently I started to think about a tutorial, at least for early access. Introduction to various gameplay mechanics. In the final version I'd like to have a... hm... a companion that helps you out at various points when it seems that there are some problems. Of course I have an idea how to do that and of course I anticipate that it may not work properly, because it's dependant on guessing if the player has some issues with the game.