Completely re-scripted the game to run with Messenger and GameStates, still working on adding score to the WinGameState. The game is pretty much how I’d like it to stay. All I need now is some models and animations to get it looking good.
From watching people play it seems they really enjoy it, some trouble with the unconventional control scheme but it definitely gets a good response.
Need to work out a style for it
Implemented ship health, “ammo” for the force gun and the bubble shield gun. You can only have two shields running at a time, the ammo replenishes once they disappear. Force Gun ammo replenishes at a steady rate until it reaches 100. Implemented damage to consoles if cargo collides with them based on the velocity of the cargo. Fixed the bubble shields so that they stay in a fixed position as the level rotates. Added end scenario, if the ship health = 0 time stops.
With an end scenario and all the systems tied together it has finally become a “game”. It’s a little difficult, but it feels good when you stat doing good!
I need to balance the values of the health, maybe dampen the velocity damage and tweak how ammo replenishes, otherwise I am quite happy with the game itself. I need to add menus and a scoring system. I think two scoring systems could be amount of damage absorbed by the shields and the amount of time the player has survived.
Implemented the spherical force push, this allows me to fire anywhere and have an effect on the object around it.
The gameplay feels almost complete but still lacking something to make it a game…
I am going to try add a “bubble shield” to protect the computer terminals. If they are hit they will subtract from the health of the “ship”.
I refined the raycast to be much more accurate and it now works at all times. I have been working on the character movement as the current setup is confusing to someone who is only playing it for the first time. I have tweaked gravity settings and the mass settings of objects in the scene. I modeled basic “Computer Terminals” and added them to the scene but have yet to add any code that will have them interact with the flying cargo.
The gameplay feels a little more solid with the revised settings of the gravity and mass. The character controller is still giving me problems, I may have to code my own to get it how I want to feel. Targeting individual objects with the raycast is not difficult but is extremely inefficient due to the numbers of objects in the scene.
I am going to try fix the character controller and add script for the terminals to interact with the player and the cargo. I may change the raycast force gun to shoot an “Explosive force sphere” as a way to counteract the inefficiency of the single item force gun. This should create a sphere of influence that will push objects away in all directions which should better serve protecting the computer terminals.
I implemented a basic version of the “force gun”, it uses a raycast and an addForce in the direction the character is facing. I also added a function that makes the character look in the direction of the mouse.
This is certainly more interactive and fun, the rotation of the level makes it very difficult for the raycast to accurately hit an object. Controlling the character feels a little weird. Sometimes the raycast has no effect on an object.
Tried to add some form of aiming, ended up using a with a transparent “air” texture to give the illusion of something not solid. I also added particle effects to the impact point of the raycast.
I tweaked the character controller to move with the rotating platform.
After some play testing I discovered that just avoiding the cargo is no fun. I am going to try giving the player a repulsion gun to see if playing with the cargo is more fun, maybe the objective can change to trying to keep the cargo from colliding with certain objects in the scene.
I tried to implement the basic raycast with a debug.drawline. However, I couldn’t get it working right in C#.
I have the basic functions of the game coded to satisfaction. No problems implementing the base ideas so far.
I started off with Gravity shifting every 10 seconds but that proved to be too long and you grew to expect it the shift, making it easy to avoid them as they moved.
I added a random timer to the gravity shifts and made the possible duration shorter. I made the rotations change whenever the gravity “normalises” this way it simulates a ship moving through an asteroid field.
You play a stowaway on an interstellar cargo ship. The story is that the ship is flying through an asteroid field and has taken a few hits. This has caused a few of the ships systems, mainly gravity and inertial dampening to malfunction. The cargo in the cargo hold has not been tied down as usually the artificial gravity keeps it in place, but now it is flying all over the ship as the pilot makes course corrections to avoid asteroids.
The premise is to avoid the cargo flying around and stay alive for as long as possible.
Random Gravity Shifts