Tuesday, May 16, 2017

Beta Gameplay Video


Beta Release

Been testing and implementing fixes for the past two weeks. Got to a point where I fixed everything I found and added all the features that are going to be in the game. Uploaded a beta build to the Oculus dashboard and made a gameplay video to go with it, this is an open beta so anyone that wants to try the game can send me their Oculus email and I'll add them to the list. From here until release I plan on testing the game as much as possible and working out any balance issues that come up.

Saturday, December 17, 2016

New Version on SideloadVR

I upgraded to the latest version of Unity but wasn't able to select any buttons in the UI. I downgraded to version 5.4 and the same bug was present so I had to go back to version 5.3. I've uploaded a new version of Motorcycle Prototype to SideloadVR and am waiting to see what happens. I didn't save the update URL when I originally submitted it so I couldn't update the listing, I contacted the owner and he said I could upload a new version and he'll replace the old one for me.

SideloadVR

Did some research on VR HUDs to see what other games are doing and decided to add some overlay text which appears as if the HUD is displaying on the inside of your helmet. Added a money counter at the top so you can see it increasing as you ride around the circuit and a popup when you cross the finish line showing your lap time and comparing it to the last lap. It also shows how much money you earned as a bonus for beating your previous lap time.

Driveclub VR

Unity has a completely new networking framework now from the last time I implemented multiplayer so spent some time reading up on the new system. Had to refactor my prefabs and scene so bikes can be spawned after the scene is loaded and all dependencies can be hooked up without using public variables. Got the rigidbodies synchronising properly across the network. Setup the matchmaking service which allows players to find existing games and join them. Added a new menu to find and display all existing games. I wasn't able to find a way to ping existing servers without actually connecting to them so I'm unable to sort the server list according to ping. Tested the multiplayer implementation with a friend of mine and it seemed to work okay. Currently working on the track menu so players can choose a circuit to ride on.

Multiplayer

Tuesday, May 17, 2016

Physics and Audio

I've been reading up on how engines work and about physics specific to motorcycles. This has allowed me to get a better understanding of what moves a motorcycle and some formulas for converting engine torque to acceleration and maximum turn radius when going around corners.

Motorcycle Transmission

Up until now I've been struggling to get a smooth ride using the Unity 5 wheel colliders, they would bounce up and down a lot and behave erratically. I decided to try capsule colliders instead of the wheel colliders and this gave me a much more manageable solution. I decided to try out the wheel collider source project on the Unity wiki and found that it's much closer to the behaviour of the wheel colliders from Unity 4. Spent a couple of days implementing a setup using them and got something pretty realistic however this will have to go on the back burner while I finish off the main physics setup.

Wheel Collider Source

Spent a lot of time trying to get a decent engine sound for the motorcycle but realised that it's because you can't increase the speed of a sound in Unity without changing its pitch. This seems to be important for a realistic engine sound so I will need to implement it myself as I'm not sure the Android OS even supports this functionality.

Interactive Car Audio System

I now have a solution for engine torque and turning radius, next up is braking. I need to figure out how the friction from the brake calipers translates to deceleration of the motorcycle.

Bicycle and Motorcycle Dynamics

Tuesday, April 26, 2016

Have Your Say

I have extended the poll on choosing a name for the game, if you are using a mobile device you have to scroll down and click "View web version" in order to see it. In other news this blog has now had over 5000 views!

Finished working on the menus for the time being, I'm not happy with how the main menu looks but it's functional. Players can remap their controller in the settings menu. Implemented Splunk Mint in the game which is what I'm using for analytics in Stereo Image Viewer but the events aren't showing up in the dashboard. I implemented Game Analytics but it's very confusing and I can't find the events anywhere. Implemented Flurry and the events aren't showing up at all, I'm starting to see a pattern here. Decided to implement the Google Analytics Unity plugin and see how it goes.

Added a counter for earning money from riding around the circuit. Added a wage system for earning money while not playing the game. Players are told how much they earned while away up to a maximum of eight hours, this should encourage people to come back often and keep a steady stream of income going.

Wednesday, April 13, 2016

What Does The Future Hold

I went away over the weekend and didn't get a chance to do much on the game so I would like to share with you some features I plan to implement in the future:

It costs $100 to enter the circuit and ride the default bike. As I add more bikes to the game you will be able to pay more or less to ride them based on how they perform. I'm thinking of having everything rented in the game instead of buying it outright because the money system is based roughly on real world values. A brand new motorcycle would cost about $25000 but you would only pay $250 to ride it around the circuit for as long as you like. The same with leathers, helmets and other protective gear.

2013 CBR1000RR ABS Fireblade
Players earn a wage while they are not playing the game which is capped at eight hours to simulate going to work. They get a promotion for coming back every day which multiplies the amount of money they earn. Players also earn money from riding around the track which is multiplied by their speed to encourage them to ride faster and harder. I want to add sponsorship to the game so when a player does well enough a company offers to sponsor them which earns them more money.

MotoGP sponsors
Currently there is not a lot of incentive for players to buy better protective gear other than for aesthetic value. I want to add an injury system where players get injured when they crash. Depending on the part of the body that is injured it affects their performance in different ways for instance how fast they can change direction or diminished braking power. The injuries heal over time but if the player has a big crash they might not be able to ride at all until they heal. Hiring better gear helps tremendously when it comes to avoiding injury and being able to ride for longer.

Elena Myers
One of the main features I plan to implement is the ability to get off the bike and walk around the pits or the paddock. This allows players some time to relax if they have had enough riding and can take a break and talk to the other players who are also off their bikes. I used to play Half-Life 2: Deathmatch and often after a few hours of shooting each other everyone would cease firing and hang out for a while in the map then when we got sick of that we would go back to playing the game.

Multi-player is first on the list of priorities after the next version is released. I play a lot of MotoGP online and it's my favourite way to play, especially when you build a community and have regular races against friends. Single player is good but the AI is limited in that it's not a real person playing and will never react like a real person, often they are too slow on parts of the track and don't always take the fastest line through the corners. In the beginning players compete for the fastest lap time during the session. Having the fastest lap awards a combo bonus for any money you earn while riding so there is extra incentive for players to be the fastest. I want to experiment with having a qualifying session for a set amount of time maybe 10 or 20 minutes where players compete for the best lap, after this it transitions to a race including all players on the server who are placed on the grid according to their qualifying time. The server host is able to set the qualifying time and number of laps for each race. There are bonuses and prizes for placing well in the race. Tournament servers can be setup for serious players where the qualifying session lasts for a whole week and there is a race every Sunday with the results published on the leaderboard.

MotoGP 08
Replays are important to me because I like to record good sessions I've had and share them with friends on YouTube. I want to add the ability to view and save your favourite replays in the game and to take screenshots of the game from different angles. I also want to allow players to change the game settings and create their own bikes, tracks, etc.


AI will eventually be included in the game because it takes a lot of work to get it right. Ideally I want to create AI that takes the fastest route around the circuit and never hits another bike if they can help it. There will be a difficulty slider that adjusts down from 100% and the AI becomes slower by braking earlier and acclerating slower. I think I can create an AI that takes the fastest route around the circuit and a slider to change the difficulty but avoiding collisions is another challenge, I may not implement collisions to begin with so AI serves more as a practice tool.

Tuesday, April 5, 2016

3D User Interface

Bought a racing UI package off the Unity asset store for Motorcycle Prototype and decided to make a 3D UI in Blender to see how it looks. It turned out good so I'm going to keep going with it.

Racing Game GUI for Mobile

I posted on the MotoGP 15 Steam forum asking if anybody was keen to play online and got a few replies, had some quality races over the past week and have gotten better at the game. It's a good feeling racing shoulder to shoulder with someone where you're so evenly matched the first person to make a mistake loses.

MotoGP 15

Completed the first iteration of the help menu that includes a brief description of the game controls and how to play the game. Started on the settings menu where you can change the controller setup and various video, audio and game settings. I'm thinking about including options that control how the game plays such as acceleration, brake power, etc. I'm going to implement a leaderboard with the top lap times so I'm still not sure how this will work, perhaps lap times will not be recorded when using custom settings as that would not be fair.

Settings menu