Project Workflow for Multiplayer FPS

Hello all,

I am new to Unity3d and, for the most part, game programming in general. While I have experience with level design and asset creation, I am curious to learn C# and programming topics. I have an idea I want to prototype as I learn and am trying to figure out the appropriate order in which to proceed with work after I have a decent handle on Unity.

I have played FPS games competitively for years but have never felt any were built to specifically support competition play, so I want to create a concept FPS that does just that. Certainly, as one person, I have no ability to create truckloads of assets; I just want to prove that the concept is viable. The key components are:

  • Multiplayer only
  • No AI
  • Tactical gameplay - arcade additions merely to support teamplay and add complexity and balance
  • Player classes (captain, rifleman, medic, sniper)
  • Combat effects (limb damage, disorientation, suppression)
  • Registered unique users and clans
  • Ladders (challenges, accepts, ranking based on results)
  • Unique gametype and environments that favor planned attacking, defending, and deception

So here’s where I need help: I may be a project management professional, but I don’t know anything about sequencing game development - especially networked games :stuck_out_tongue: What I do know is that having a plan and sequence is key. I’ve also been part of numerous mod teams who, like most, have failed because they focused on asset creation rather than gameplay prototyping. My basic thoughts for alpha testing order and primary milestones within each alpha are:

Alpha 0.1 - Deathmatch Game Test

  1. Get two players into the environment via Master Game Server and basic menus (or does the basic player come first?)
  2. Create basic deathmatch gametype for testing
  3. Create basic movement and weapon use (simple character, one weapon in new weapon structure, basic health)

Alpha 0.2 - Competition Gametype Test

  1. Prototype interactive environment for testing (player-created traps, player-created obstacles, distractions)
  2. Create competition gametype first iteration

Alpha 0.3 - Player Classes

  1. Create all primary weapons and functionality (using placeholder assets)
  2. Create weapon switching / dropping / pick-up
  3. Create combat effects on which classes are dependent (limb damage, disorientation, suppression)
  4. Create player classes and class selection

Alpha 0.4 - Users and Clans

  1. Player registration
  2. Player statistics
  3. Clan registration
  4. Adding players to clans
  5. Clan ladders
  6. Turning the public competition game into a clan ladder match (requires in-game challenge, acceptance, server parameter definition, server restart, match result tracking)

Alpha 0.5 - Menu, Gametype, and Prototype Refinement
???

Alpha 0.6 - Final Necessary Asset Development
???

Alpha ???

Alpha 1.0 - Proof of Concept

Following Alpha 1.0, if I choose to continue, I would start to develop non-critical assets and functionality, replacing placeholders, etc. Is this the right order? Thanks in advance for your responses!

I too have started working on the milestone project list. I’m new to both C# and Unity but have a very experienced tutor in C#.

Mine looks as follows, thinking logically as I can with ZERO experience other than game play from past experience,

Project List

  1. Player controller
    1a. Change physics material
    1b. Work on ground control
    1c. Add built-in jetpack

  2. Network play
    2a. Server hosting and remote connection from another system.
    2b. Player tests. (Can both see each other and move in the server?)
    2c. Authoritative server integration into schema.
    2d. Master server integration into schema.
    2e. Multi-server registration test and remote connection tests.

  3. Player HUD
    3a. Setup reticle with bars for: Energy, Ammo
    3b. Tab screen with numbered options

Feel free to correct me if someone has a better, more in-depth way to look at this. I’m completely open to suggestions.