The game is fairly functional now, so I felt it was time to explore its look and feel a bit more. I started to play around a bit post processing effects. The results exceeded my expectations. While the ambient lighting is more vivid, the visual impression of the rocket power ups and their explosions were pretty cool. Very interesting to finally have the opportunity to explore these things properly. : )
In an earlier project I worked with a group of talented, young individuals. It was an experimental continuation of our efforts to teach children to work with technologies once we felt that other actors had picked up the ball regarding young programming and such. They were selectively recruited and then invited to be trainees at our workshop, learning new skills and working on projects. Once the project was over we stayed in touch.
These persons just so happened to be perfect testers for our prototype, and today I was able to get two of them over for some proper testing. It went just well, we learned that the game is actually kind of fun. We also learned a bit about when it causes nausea and gave us some ideas of how to proceed. Good times!
Have spent some time working on the race track generation and I must say that I’m pretty happy with where it’s going. Given a seed, a track size and a list of list of instructions on what a piece of the track may look like, the generator can create a feasible race track. The track chunk instructions are in themselves fairly flexible and it’s easy to create new ones. This means that the game can now create a LOT of different track variations.
It’s a well known dilemma in game development that it’s tough to design movement for physics based bodies. While physics engines can be great for creating fluent, realistic animations in particular cases, it’s generally unpredictable and require a lot of knowledge and planning in order to create specific results.
In Rutch race, which is our working title this far, we wish to use physics to create realistic buoyancy and collision motions. However, because it’s a VR experience and is meant to be casual for short play sessions there are several things that may not happen that are part of real physics, like the boat flipping, not gaining speed in the right direction easily or falling off the track. Moreover, it’s crucial that steering feels really tight.
So I made a list of all the motions I wanted the boat to be able to do and thought of all the ways it should look in different scenarios and implemented a hard coded version from these requirements. I still use some physics for the buoyancy effect, but that is only applied to the visual representation of the player. This approach was an experiment, but I’m really happy with the result. Now it’s well defined how the player behaves given certain input and circumstances.
Except for developing a somehow innovative amusement park game, I also lead a session with my colleagues on the park where they get to learn a little about Unity and game development. This time I showed them the built in agent and path finding solution of Unity, talking about and showing basic game AI uses.
Moreover, since we have decided that our game is going to be a race along a hovering, down stream river, water is an important feature of the game. Thus it seems fitting to explore visual effects that result in a delightful water. I’ve landed in a blend between realistic water reflections, highlighted vertex intersection and a animated caustics effect.
We have started to create a game world, using readily available assets from previous projects as well as custom models created by the park. We are starting to get a feel for what the main game could be like, but we are still lacking an implementation showing what random generation motion augmented VR can do.
Today I introduced the park colleagues to Git, Github and GUI Git clients. Now we can start collaborating for real, and they have a new powerful tool at their disposal.
So I’ve come to get comfortable with the people I’m going to work with at the park and also the workshop they have over there. Very cozy and somewhat familiar to my home office. We have had some time to discuss what they would like to see towards the end of the project, what I would like to explore and how we are going to get there.
While we have discussed several potential innovation vectors and game designs one main concept with started to crystallize, but with a few potential branches should we have the time. The main idea now is to build on the strengths of VR and the motion chair, creating a surreal type of experience with a lot of movement and vertigo, and the digital nature of the game, using generative content and adaptive multiplayer. As such, we have started to explore a down stream race in a steep river flying in the air. The race track can be generated by a computer given parameters by and operator.
We still have some paper work to sort out, but my colleagues at the park are on the ball and so am I. : )
We attempted it before, pitched doing a VR experience for the local amusement park Liseberg when they wanted a simulator of an upcoming coaster. Didn’t quite make it, instead an old student of mine and the consultancy bureau he works at got it (so still kind of fun). However, thanks to our very honest approach and down to earth promises, I now have the opportunity to do two things I like; build a game and teach in game development.
There is still a lot of paper work to fill out, we are looking to agree on a contract which leaves us with realistic expectation given the budget and the fact that I’m going to do most of the work myself. The project is basically going to be me learning a bit about the amusement park, their developers and their customers. Then I’m going to work with their developers, using motion chairs and HMDs they have since their previous VR project, to create one or more games. It will be a challenge for sure, but also super fun!