Sunday, July 31, 2016

Game Development for the Vive Begins

I've been thinking about what I want to make over the last 4 months. I have a pretty solid idea and now it is time to dig in my heals and start work.

I've been using Deepart as my poor man's art department.

This gives you a glimpse of what I am going for:
https://www.pinterest.com/seanrforeman/deep-art-best/

Here is a sample image:

It feels very different depending on the style applied via deepart.io:

Dark and moody:

Comical:

Psychedelic:

Idealistic:

My hope is to skin objects with different textures to maximize reuse and minimize effort on my part. I may need to use different distortions of the same object. If I build a scene only with programmatic logic it can automatically apply the appropriate texture and object variant without me lifting a finger. That is the theory.

Game development is not my job so I can only develop in the evenings and the weekend but I intend to focus a significant amount of spare time to developing this game (40+ hours per week).

Installation and getting the Vive working in Unreal

I may use 3D Studio Max. This is unclear. I first need to brush the cobwebs off my Blender knowledge and get the Vive up and running in Unreal. Once I have Unreal working I will move onto Unity.

1. Get Blender, Photoshop, Unreal installed on my Vive machine
> Blender (297 MB): https://www.blender.org/download/ (Free)
> Photoshop CS4 Extended (2 GB): (I bought this years ago prior to monthly subscriptions)
> Unreal 4.12.5 (18.56 GB): https://www.unrealengine.com/ (5% royalty. Free download)
> Notepad++ (13 MB): https://notepad-plus-plus.org/ (Free)

2. Get the Vive Headset working in Unreal
> Once Unreal comes up, the vive hardware turned on
> This worked flawlessly:
https://docs.unrealengine.com/latest/INT/Platforms/SteamVR/QuickStart/2/

3. Get the Vive Controllers working in Unreal
> I will be following this tutorial this evening:
https://docs.unrealengine.com/latest/INT/Platforms/VR/MotionController/

The meshes and textures are automatically available and updated by valve in this folder on your machine (one you install SteamVR):
Steam\steamapps\common\SteamVR\resources\rendermodels\vr_controller_vive_1_5

OK, this tutorial is giving me trouble:
1. I had to build a static mesh for the controller via blender and map a texture to it. I haven't played with blender in over 2 years but I stumbled through that.
2. I have never built a blueprint and they are leaving out important information. example: the blueprint is an actor blueprint. That may be obvious but it wasn't to me. I also have no idea where "view options" is in this maze of windows.
3. The tutorial appears to already be out of date with the latest version of Unreal.

I am going to need to punch through some Unreal tutorials before I can go further. I was hoping to avoid this but there is just too much going on and I need to wrap my head around it.

Unreal Tutorials:
Basic Tutorials
  UI Overview (Done)
  Blueprint Jump Starts (Starting Tonight)

This is going to take a few weeks...
I AM HERE...

This looks like a great tutorial:
http://www.tomlooman.com/getting-started-with-vr/

Lots of information on reddit:
https://www.reddit.com/r/unrealengine/search?q=vive&restrict_sr=on

4. Pipeline an object with a texture into Unreal


Monitoring and memory management
I will be procedurally building large portions of my game environment. I need to find out which engine is better at allowing me to add/remove objects and efficient use of LOD. I also need to see which engine "feels" better in the Vive.

1. Determine how to measure/monitor frame rate in both engines
2. Determine how to measure/monitor memory consumption in both engines
3. Add and remove objects via code in memory. Determine the threshold for object count in both engines.
4. Test effectiveness (memory/frame-rate) of LOD in both engines

That will keep me busy for a few weeks... I will update with information on each topic as I progress.