Posted March 31, 2022 by Virtual Destructor
This is the prototype of an unnamed VR game I’ve been working on. The target platform is the Oculus Quest 2 for now. The game is a shooter (you slay demons, of course). It takes inspiration from classic FPS games. I've attempted to combine those elements with more modern VR design.
The purpose of this release is to test the engine and the mechanics. I've been working on this since the start of the pandemic and the game has changed directions several times. I needed a milestone. I'm not sure exactly which direction the game will go but I have a pretty good idea. This build does not have any story elements, and there is only one level, besides the tutorial.
If you are interested in playing the demo, I recommend watching the gameplay video so you get an idea of the feature set, and then launch the game and go through the tutorial. The tutorial is janky right now, but if you read what it says then you should be able to learn the mechanics.
Originally the level was randomly generated, but I decided to build a static level for the alpha version since I wanted to figure out how to make the game fun and balance it before trying to get random level generation right. I plan on restoring random level generation in the beta release.
There are six familiar weapons: the bow, arm cannon (which is basically a pistol), power arm cannon (which is basically a shotgun), auto arm cannon which is a chain gun, rocket launcher, and grenades. There is also a laser gun which I did not include in this alpha since there were already too many weapons for such a short level.
The game features a tractor beam which I find to be the most fun feature. You can use it to pull distant objects toward you or push them away. Some users have commented about the direction of the beam being counter-intuitive, that the beam should be emitted from the finger tips not the palm. The reason it is not emitted from the finger tips is that you need to grab objects once you pull them close to your hands.
There are also shields on each wrist that you can use by pressing the grip buttons. If the shields take too much damage they disappear for a moment. For lesser damage the shield will change color and rapidly recharge.
I implemented a feature where you can climb or interact with certain objects without putting your guns away. Your guns are locked to your hands, you cannot drop them. In order to reduce tedium I made it so when you place your hand over an intractable object, your weapon is disabled and you can grab with your hand. This way you can climb or interact without having to stash your weapon each time. For example, you can climb up a ladder and easily shoot at the same time. I'm ambivalent about whether to keep this feature.
To cycle through your weapons you simply press the top buttons on your controllers, B or Y. If you hold either of these buttons down, it brings up the “Fast Equip” menu which lets you select your weapon from a list. This menu is rendered on top of geometry which can be jarring if you open it next to a wall. I tried several solutions to this problem but none of them felt right. So for now this problem persists. I've seen it in other VR titles.
There are several enemies: servants, imps, guardians, insect demon, floating sentinel mines, and turrets. There are three variants of the servant, one has a club, a grenade slinger, and a bomber. You can take the bomber’s bomb if you manage to kill them without damaging it. There are three variants of the guardian with different HP and damage amounts. The insect demon only appears once in the level.
As for flying enemies the floating sentinel mines are the only ones that made it into the alpha. I wrote a 3D pathfinding system for more sophisticated flying enemies, but it needs some polish before it is presentable. It will definitely be back soon.
The game contains many video game tropes. There are exploding barrels placed throughout the level. There are a variety of common traps including moving spiked walls, pits of spikes, and lava. The lava will be gone eventually. It will be replaced by murky water.
One feature that is not covered by the tutorial is the holomap. You use the holomap by opening the “Fast Equip” menu and selecting the holomap option on the side. The map will show rooms that you have already visited, and doors. So if you get lost you can use the map to see where you have not been.
You can pause the game by pressing the left menu button, and you shouldn’t be able to cheat the game by sticking your head through walls.
That is a summary of most of the game’s features. Now I will discuss the limitations of this alpha version.
Originally the game was going to be melee heavy, but melee is hard to get right. I plan on adding full melee support in a few months.
In lieu of a melee weapon when you run out of ammo, the fallback weapon is a bow. The hammer which was originally the base weapon, did make it into the tutorial but is not in the actual game. I made the tutorial a few months ago and later decided to remove the hammer from the game for the time being. The tutorial is rough, but if you follow along you should learn the mechanics of the game.
The game involves a lot of locomotion and platforming. I happen to like first person and VR platforming. I understand that this does make some users sick, so the target audience is more veteran VR users and gamers that are not prone to motion sickness. I used/snap ratcheted turning instead of smooth turning to alleviate this. Currently there is no way to customize the controls, but it is on the roadmap.
The shield utilizes transparency which is incredibly slow on mobile VR devices. You may notice your frame rate drop when transparent objects are on the screen. Over the last few weeks I have had to remove or modify a bunch of transparent content. Originally there was an ocean at the beginning with a sea monster. The shield behaves like a force field. I have not decided what an opaque version that has the same behavior would look like. I have the same problem with the holomap.
I have a roadmap with a bunch of features I plan on adding over the next few months, followed by a complete game.