Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Showcase / Escape [working title] - VR, co-op, physics based, puzzle game

Author
Message
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 11th Nov 2016 05:34 Edited at: 23rd Dec 2016 22:30
So with ALDI now selling a "VR headset" here in the UK I've been inspired me to dig out my old proto-type Occulus Thrift idea and expand it into a proper game.



Two years have passed since I built that prototype and AGK's command set has increased significantly, especially in the 3D area, so making a proper VR game shouldn't be beyond impossible.

With FPSC and FPSC-2-AGK now available for free together with a staggering +10 GB worth of assets available for download I figured I might as well take advantage of these lovable pieces of software and use them as my level editors.

I currently don't have a lot to show as I'm creating the level loader and editor based on the output of the FPSC-2-AGK files. I've added a way for me to add objects to the level in a sort of in-game level editor and I'm expanding my own script loader and memblock based script processor based on the old FPSC fpi scripting language. I've got scripts running in the game and I'm currently implementing the network commands to get the PC controller and the headset communicating with each other.

So what's the game idea: Well this is nothing ground breaking; I wanted a 2-player VR co-op game so the idea is you play as an industrial espionage operative where you enter a building, steal the goods (or hack a system, or destroy an item) and escape without alerting the guards. One player does all the leg work (the one wearing the headset) and the other player sets off alarms, switches lights, sets traps etc. The idea if both people have to talk a lot so the non-VR player can clear the path for the VR player. I don't think this text is doing it justice so I'll get a demo up as soon as I can so you can see what I'm on about.

I'll be posting regular updates (usually once a week) and I'll include as many pics and vids as I can. Here's the latest screen shot and video:



BatVink
Moderator
14
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 11th Nov 2016 09:27
Sounds exciting, always look forward to your projects.
I found these from Aldi US, who sold this back in September...





http://ausdroid.net/2016/09/14/aldi-getting-vr-360-imaging-headset-camera/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Quidquid latine dictum sit, altum sonatur
TutCity is being rebuilt
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 11th Nov 2016 13:01
Cheers BV,

That's what I saw when trying to find some details about the headset. I'm sure it's not that version though as the promotion material has it labeled as "VR Live" whatever that means. Regardless I'm going to implement a similar setup to the thrift where I use my previous smartphone as the screen. I'm going to set it back to the factory settings to remove all the junk I installed over the years to try and milk a little bit more performance out of it. I'm also thinking of setting it up so it can be played as a 'normal' fps so the VR doesn't limit the number of players - it'll also make it easier to test on the train
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 14th Nov 2016 19:37
So I was browsing in TIGER at the weekend and found a bargain:



Cheap Cheap VR Goggles

7 quid!

And it's not too shabby. I tried a few VR apps and they work pretty well. It's light, holds the phone well and had reasonable focusing options.

On the game front - I've got the FPSC static world loading into the game - I can't get the light maps to work yet so it looks very PS1 at the moment, but getting the mesh and the texture in is a good step for me. Rather than fix that boring bug now I'm working on a way to add the dynamic entities and I want to create a sort of in-game level editor I can use to position entities and test them out without having to constantly quit, tweak and re-load the level. So far I've just got an entity select screen with 1 entity in it, but once I've got it working I can expand it pretty quickly.

When I have some pics I'll post them.
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 18th Nov 2016 22:05
So the prototype is coming along. Had some teething issues with the image rendering and the start of the physics, but got those fixed thanks to the community.

I've also got the dynamic entities loading in, fully textured and able to be animated. This is so I can generate the basic level in FPSC, but add the dynamic objects directly in the game as part of an internal level editor.

Here's a little pic of the prototype level with 2 example entities (the door and trooper):



The ALDI headset is out next week so I'll see if that's better quality than the tiger one.

I need to create a small scripting engine to enable interaction with the entities. I'm tempted to copy the fpi scripting language (partly because those scripts already exit and my familiarity with them), but I'm also tempted to just create my own scripting language from scratch to see if I can think of somthing more efficient as fpi was quite intensive as far as I can remember.
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 25th Nov 2016 20:54
So I decided to get the ALDI headet too in the end and it's pretty neat.



Much better than the Tiger one. It's more comfortable and the lens focusing is vastly better give you both screen distance and lens distance manipulation. I tried a few apps and it really got me motivated to keep on with this little daft game.

Anyway, nothing new to show yet. I'm spending a lot of effort getting the scripting working. I have functions to load in the old fpi scripts from FPSC and convert them into an array for faster execution. I was thinking of building the scripts into memory blocks, but I wasn't sure if there'd be any processing benefit doing this over an array method. Once I get the full pipeline implemented ( loading and running) I might build a memory block version and do some tests. So in addition to the loading, I've also started on the execution functions. This part needs the most work at the minute with basically no conditions and no actions implemented. I'm not going to replicate all the FPSC commands, I'll just add what I need as and when I need them. I'm also adding some new command such that you can jump out of a script early and return to a set point in a script for the next frame. These commands should help speed up script processing a little, especially for the character AI as these scripts can build up to be pretty big so having a way to jump out when you know the rest of the script doesn't need to be processed or jumping into a script at the import part rather than process the whole script might help.

Once I've got the script basics working and I can get the door working as a door and the Guard pacing around and searching for the player, then I'll move onto implementing the controller and head-set parts so that I can tune the eye distance and height.
SpecTre
Developer
14
Years of Service
User Offline
Joined: 24th Feb 2003
Location: UK
Posted: 26th Nov 2016 20:20
What phones have you got these working on? Wondering if they ok for a Samsung S6?

Also seen an ultra cheap set in Primark for £9! Not sure if any good though!
The Amiga and Amos were great!
My website LEAP - Download Paint Pot here!
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 26th Nov 2016 21:53
I've tested solely using a OnePlus X. My better half has a Samsung Galaxy S7, I'll test it out and le tyou know, should be fine though as they both have a sprung loaded expandable slot into which the device is held.

Not seen the Primarni version, I'll have a wander down there on Tuesday and check it out.
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 2nd Dec 2016 21:31
I tried the set with a Galaxy 7 and it didn't quite work, the back panel of the S7's frame is curved so it doesn't sit in the headset very well. Whereas the OnePlus X has a flat back which works fine.

I didn't make it into town this week so I couldn't check out Primark's version, i'll try this week.

On the game front, I'm pushing forward with the script code. I've got fpi's loading and running. I'm using a mem-block system, but I've left the implementation such that I can switch to an array based system if memblocks prove unworkable. So far performance is good with hardly any impact on frame rate. I've still got a ream of actions and conditions to implement, but I'm just adding a little bit at a time and testing each bit to make sure the correct effect is being generated. So far I've just got the following elements:

creating and manipulating a text based HUDs,
testing the distance to the player,
basic testing the input from a player,
simple entity state and activation tests and commands,
commands to adjust and test the entity's animation. The animation code isn't quite doing what I want so I'll be debugging this next week.
basic sound commands
the start of a way-point system, although at the moment I have no way of creating way-points in the level editor.

My plan is to get enough of the script elements working such that I can interact with elements in a basic manner (i.e. pick items up, drop them, open/close doors, etc.) and have characters move about the level before I add more of the VR code.

Here's the current proto-build testing the script implementation. I've added a script command called debug which means I can switch the debug text on/off for elements. In this case the door has an Activate (AC) of 0, is running script (Sc) 1, has a state (St) of 10 and is at a distance (D) of 55.7 units.

SteveMc
User Offline
Joined: 23rd Jul 2016
Location: UK
Posted: 6th Dec 2016 14:59
Hi Ched. Great work!!!

I have several VR Headsets, the same one you have plus BOBO VR, Gear VR and the new Daydream headset from Google.

The headsets themselves all work well with my Samsung S7 but I don’t think much of the BOBO VR (trying to produce too wide a viewing angle 120°)

I expect headsets between 105° and 90° give the best experience.

The daydream controller will pair up, but there is no support for Samsung S7 as yet.

I was playing with another IDE looking for ways to interact with the app whilst the headset was on my face, so I used the input from the earphones...

Play/Pause to select (like a button click)
Volume Up and Down to navigate options on the menu screen.

Then in game Play/Pause to interact.
Then up and down for vol control.

Most apps now use the hover over an item to select and have a visible timer of some kind.

I’ve just come across the example project for your PC/Device based VR app.

I take it your latest foray into VR now only uses the device?
Are you debugging with the normal AppGameKit player?

I've only limited experience in AppGameKit but I do like what its capable of...
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 6th Dec 2016 21:13
Hi SteveMc,

That is an impressive collection of headsets. The daydream is something I am interested in, but probably not until the next year. And probably not until I've got a lot further with my app.

I'm sticking with the PC/Device combo for this game, I also want to add a co-op element with a second player using a tablet, but I'm still sketching out the details of that part. I want to create a sort of modern version of knightmare, like the old TV show, but not with a fantasy setting and without the big helmet and bag.

I'm using a steam controller with the PC as it's wireless and is so easy to customise the key bindings to the game.

The downside is that the game can only be played over a LAN, but I hope the game will compensate for this limitation.
SteveMc
User Offline
Joined: 23rd Jul 2016
Location: UK
Posted: 8th Dec 2016 11:48
Hi Ched

Cool your game sounds great.
I've been working on my own Photo sphere VR viewer in AppGameKit, its getting there...

I've found a Bluetooth game pad on eBay http://www.ebay.co.uk/itm/Wireless-Bluetooth-Gamepad-Controller-for-Android-Smartphone-TV-Box-Tablet-Black-/281489880129?hash=item418a1ab441:g:3XgAAOSwx-9WxuBZ
you install an app that takes the controller input and emulates keyboard output its really good and my be the way forward for AppGameKit based VR apps.
I've got it now and I will have a play and let you know how well it works.

A quick question you may have the answer to GetRawRotationVectorZ2 when used with a headset i think this command is responsible for making you feel like your on a boat, seems to cause the individual eyes to rotate independently.
i was just wondering if you've managed to stabilise the view. I'm using many aspects of your previous sample to get this working...

regards
Steve


Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 8th Dec 2016 21:17
Good find about the controller. Having direct access to the controller will make the movement much smoother, I find accessing the controller via a router adds a noticeable lag.

I'm just at the point of testing my new headsets with my VR code so I'll let you know how I get on with removing the sea sick feeling.
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 9th Dec 2016 21:15
I liked the look of the controller so I've ordered one to have a play with too

So I've got a lot of the script commands I need implemented and I've got the AI following waypoints, including randomly picking different waypoints if the way point path branches off. I also added a whole bunch of extra AI stuff that I'll properly test later, but I was on a bit of a roll so I just put the code down while I was top of it.

I'm going to have a bash at adding the network code this evening so I can test the eye distance and test for sea-sickness

Here's a very short vid of the way point stuff.

Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 16th Dec 2016 20:53
Made some good progress this week and I was hoping to show you all a new video of the full kit in operation. However, I hit a bug that's too big to ignore so I couldn't film anything in the end.

So I've got the whole chain working, the PC acquiring the steam controller, passing the data to the router and the phone acquiring the gyro and passing the data the other way. And the new sensor refresh rate is definitely a big bonus, the head movement is more responsive.

The issue I have is that the way I have coded the game the entity scripts are running on both the PC and the headset. The issue i didn't recognise is that this can lead to entity's having different behaviours on each device. So when I was testing the setup yesterday I hit the space-bar to trigger the character into its ragdoll mode, only the character on the PC went into ragdoll, while the character i was looking at, just stood there running it's idle animation.

So I need to recode the script engine so that they only run on a single device and transmit the entity state back to the other device. That's if I keep the same architecture of running the game in parallel on both devices. The more I think about it, the more it doesn't make sense to try and run the game on multiple devices and synchronise them.

In other news I've got the ragdoll physics working on the old FPSC characters.

Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 23rd Dec 2016 22:27
A week late, but here's a video with the complete VR implementation working - i.e. the PC and the Headset connecting. The code has been changed so that the PC only shares the state of the controller with te network and the complete game, player movement and camera rotation, is performed on the headset. The video was recorded directly on the headset so if you want to see what the VR experience is like with AppGameKit, run the video on your smartphone strapped into a VR headset.



I added a little bit extra to the player physics in this version too. This 2nd prototype was to test stairs and climbable objects, which works fine. I also want to test object dynamic physics and also test the ragdolls flling down stairs and I also need to sort out the lighting in this level.

I've also spent some time converting some other FPSC entities into AppGameKit compatible creations so that I can populate this level, but the APK version I created was just prior to me getting them to work, so no entities are shown in this vid.

With Crimbe just a few days away, I won't work on this until the new year now, so i wish all of you and your families a very Merry Christmas and a Happy new year!
SpecTre
Developer
14
Years of Service
User Offline
Joined: 24th Feb 2003
Location: UK
Posted: 24th Dec 2016 12:01
Looking great and hoping I have a VR headset under the tree!

Hope you and your family have a great Xmas and New Year and thanks for the VR inspiration.
The Amiga and Amos were great!
My website LEAP - Download Paint Pot here!
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 31st Dec 2016 14:04 Edited at: 31st Dec 2016 14:05
Cheers Paul, hope you had a good Christmas too! Did Father Christmas leave you get a VR headset?

As expected, not much has happened to this during the festivities, but I have drafted out how the main game is going to play out so I'll be working on the features I need next week when I'm back on the train.

Also my little bluetooth controller arrived, so I'll be seeing if I can get the VR parts to work with the phone in standalone.

Attachments

Login to view attachments
Xaby
FPSC Reloaded TGC Backer
10
Years of Service
User Offline
Joined: 17th Apr 2007
Location: Berlin
Posted: 2nd Jan 2017 09:10
@Controller
On Android you could try USB-To-GO (little MicroUSB-Dongle makes a Host-USB-Port, if your Android-Device supports it) and use a XBox 360 Wired Controller for Windows. I mean, if the Bluetooth Controller-imput is laggy)
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 2nd Jan 2017 18:09
Cheers f4ktor, but the controller connection really needs to be wireless. It won't work too well with a long cable sticking out of the headset
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 6th Jan 2017 22:27
This was a bit of a poor week in terms of development. I've started work on the bits needed for the second player. I also built a new level to test the mechanics in, but nothing is finished enough to post. I've got a bit of a map displayed, but no functions and a new level, but void of anything to do.

I also started searching through all my FPSC packs to draw up a list of the entities I want to use. The idea being that the second player drops entities onto the map at the start to kill or detect the first player. So I'm looking for CCTV cameras, trip wires, bear traps, etc. Next I need to make these entities suitable for AppGameKit and code them into the game.

I also managed to pick up some useful tools from humble bundle so I need to play with these a bit more to get the most out of these

So as I said, this week was a bit poor. Back to it next week.
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 13th Jan 2017 20:29
It's been a solid week. I've got the basic security functions working being able to add security cameras and lock doors. Next week is sorting out the network code which is going to be tough given that I do most of gamedev off-line on my train commute to work.

After that the foundations of the game are basically done. My plan is to get a sort of demo level working and then put it out there for feedback.
Stab in the Dark software
Valued Member
14
Years of Service
User Offline
Joined: 12th Dec 2002
Playing: Badges, I don't need no stinkin badges
Posted: 23rd Feb 2017 19:58
Does your app require that the phone have a gyro to be able to turn the camera around?
I am investigating VR and have found a lot of VR apps require the phone to have a gyro
to work correctly. I have read that you can use the accelerometer and magnetometer
data to simulate the gyro data. Is that what you are doing?
Since a large percentage of phones do not have a gyro this would reach a larger audience.
The coffee is lovely dark and deep,and I have code to write before I sleep.
Ched80
6
Years of Service
User Offline
Joined: 18th Sep 2010
Location: Peterborough, UK
Posted: 30th Mar 2017 21:45
I Stab, yes this is the gyro in the device. I have heard of the magnetometer and accelerometer technique, but I didn't look into it. I figured limiting the audience to those with compatible devices was not a bad thing, I mean the game is already limited to those who own a headset and a joypad anyway so ignoring the alternative head tracking technique doesn't change the target market that much.

Login to post a reply

Server time is: 2017-07-20 13:34:56
Your offset time is: 2017-07-20 13:34:56