It’s about time I turned this site into something more than an empty vessel adrift in the bowels of the internet. NO I say, I’ll make at least something out of this. Therefore, I’m going to try and document my progress into making a small multiplayer game.
I’ll be programming in C#, using Unity, and the Photon Unity Networking (PUN) interface.
The most prominent reason for choosing these is that, when it comes to learning anything about making a multiplayer game, I believe that Unity will help me to get to the implementation step way faster ( and easier ) than I’d be able to, using something else.
So what is it?
It’s a 4-player multiplayer deathmatch, in a “Legend of Zelda” style environment. Players are all dropped into a level in which energy projectiles are bouncing around. Players also have a weapon that allows them to deflect these projectiles.
The death ball starts out bouncing around fairly slowly, but every time it is hit by a player. It will pick up in speed until it hits a player.
The ultimate goal of the player is to kill their opponents by deflecting the projectile into them.
Movement: Since I’m a fan of catering to both Mouse&Keyboard ( Monkeys from now on ) and Controllers ( Gamepads from now on ) , I’m thinking of approaching BOTH control schemes from their own respective angles, working in their strenghts and weaknesses.
With a WASD and mouse-aim control, I should be golden. The player will always look at the mouse cursor and thus always attack towards the cursor. Players can strafe and all.
Their will be limited in that they can only run in 8 directions because of WASD’s binary nature.
I suppose it’s a no-brainer that gamepads will use the left stick to move the player. But I’m a bit more concerned about the character’s looking. I mean OK, I could just attack in the players direction, but they won’t be able to walk backwards.
Maybe the right stick will point players in a direction, and using a shoulder button they can attack? It feels “wrong” in my mind’s eye. But I’ll definitly give it a spin.
If it doens’t work, I’ll turn to the Zelda way, and allow you to prep your attack, and strafe that way.
Attack: Player attacks will resemble a short sword swipe, ( or if futuristic an energy wall ) of about 90 degrees. The attack won’t last longer than half a second and cause the death ball to fly into the direction the player is facing at the time of the attack
Thought- What if player’s attacks created little bouncy walls that remain for a certaint time or a certain bounce amount? If so, how many walls will a player be able to make? And will there be a cap? ( Deck style: if cap is exceeded, remove oldest ).
–> I’m definitly giving this a try, it has a lot of possibilities.
Thought2- It seems wise to create different “weapon types” for the player, one being a sword that swipes and the other being some sort of wand, that creates these barriers
Special Attacks: I’m considering having some “high risk / reward” attacks, that leave you more open, but can turn the tide in an instant. An AoE spin attack, or a straight lunge forward. Maybe even throw your weapon away. ( note that you’re quite defenseless without a weapon ). But that depends on what the attack action will entitle.
Getting Hit: Ofcourse, your goal is NOT to get hit, but if this happens, you’ll get a strike. If you get 3 strikes, you’ll lose the game.
The Death ball: Aesthetically, I’m thinking a glowing yellow( or blue ) ball with a bright double helix line/trail effect starting from a point in front of the ball, envelopping the energy ball.
Practically I’m thinking about a simple sphere collider ( no rigid body ) that detects bounce colliders. The bounce colliders will dictate their effect on the death ball. So a player’s attack will determine the new direction of the ball, as well as increase it’s speed. While a wall will simply deflect the projectile. I also don’t think there’s a need for a Death Ball to slow down. This might cause players to start missing the ball and eventually have to take a risk in order to hit the ball.
Gravity Wells: A black hole in the ground that pulls in players, and curves the path the Death ball will follow. Since death balls can’t be slowed down, the gravity won’t affect the balls speed, only its trajectory. Maybe gravity wells can also bounce around the map?
Laser Beams: Big sweeping laser beams will also be a hazard, though these will move very slowely and are a device that allows me to corner players rather than being an active threat.
A 5th player?
I like the idea of having a 5th player that has a totally different game experience from everything else. As an avid DnD fan, I like the idea of employing a 5th player that cranks the gears behind the scenes. He’d be able to control monsters and mechanisms scattered across the map. He’d have to be rewarded in a different way than players ofcourse, since his “victory condition” is none existing. Technically he wins any match he plays, thus I’d have to find a way to incentivise people to take on this role.
Though, in all fairness, whatever that may be, it’s not among my top priorities.
Milestone #1: Multiplayer-Dodgeball
- Simple multiplayer
- 1 Rectangular level, with 90 degree walls ( no 45 yet ) and 4 obstacles ( in a square )
- Player movement ( no jumping )
- Basic deathball mechanic ( it bounces around )
- Player hitboxes ( you can get hit )
- Players can push eachother
- Pocket holes – Place a hole on the ground for players to fall into
- Remote Doors – Switches that open and close doors, hit with sword
- Powerups – Shield / Invinvibility / Invisibility / Extra Death Ball