GUIDA Game Design, a Unity FPS Multiplayer game

Skills07

Head of Development
Staff Forum
Utente Èlite
35,417
11,496
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
COME CREARE UN FPS GAME SU UNITY 2020/2021
Questo thread nasce per degli utenti neofiti che vogliono provare a sperimentare della programmazione c# unita ad un motore grafico come Unity 3D.
E' un semplice tutorial di un FPS multiplayer dove degli utenti joinano alla room con il loro nickname e possono tranquillamente giocare con i propri amici online.


Requisiti​

Unity 2020.3.4f1 (LTS)

Logica di gioco e funzionalità​

  1. Pannello Login
    • Inserisci il tuo player name e il nome della room alla quale vuoi joinare
    • Clicca join o create room per partecipare
    • Lo stato della connessione viene mostrato in basso a sinistra img
  2. Interfaccia di gioco
    • Gli HP del giocatore sono mostrati in alto a sinistra
    • Il pannello a sinistra mostra lo status degli altri giocatori (morti, joinati, respawnati)
    • l'ak 47 viene sempre mostrato cosi come l'ambientazione circostante
    • Il mirino è quel puntatore rosso che vedi in mezzo allo schermo
  3. Modelli di giocatori

    Tutti i modelli originali e le loro animazioni sono stati trovati da Mixamo, che è un sito Web di modelli di giochi piuttosto buono gestito da Adobe

    Esistono tre tipi di modelli di giocatori:

    Poliziotto: un modello da poliziotto con la pelle gialla
    RobotX: un modello simile a un robot con la pelle rosa scuro
    RobotY: un modello simile a un robot con la pelle blu scuro
    • Animazioni:

      Cammina verso quattro direzioni diverse
      Corri verso quattro direzioni diverse
      Salta senza intaccare la parte superiore del corpo (ottenuto da unity3d body mask)
      Scatta senza intaccare la parte inferiore del corpo (ottenuto da unity3d body mask)
      Unity Blend Tree
      Questo fa camminare o correre il giocatore in modo più naturale. Utilizza la funzione di interpolazione per mappare diverse combinazioni di input dell'utente su diverse animazioni.
    • State Machine
      • Ci sono molti layer di stato
  4. Movimenti del giocatore
    • Camminare,
    • Correre
    • Sparare
    • Morire
    • Saltare
  5. Modello di pistola

    Il modello di pistola originale (AK-47) proveniva da Unity Assets Store
    Le animazioni di ripresa vengono aggiunte impostando i fotogrammi chiave nel pannello di animazione di unity3d
    img
  6. Rete

    Questo gioco utilizza Photon Unity Networking 2, che è un buon modello di rete da Unity Assets Store
    Effetti proiettile
  7. I proiettili che colpiscono materiali diversi causeranno effetti diversi
    • Legno
    • Terra
    • Metallo
    • Cemento
    • Acqua
  8. Animazione della porta

    Le porte si apriranno automaticamente quando c'è qualcuno nelle vicinanze e si chiuderanno quando non c'è nessuno in giro
    Prima di aprire
    • Dopo apertura

Script files​


  1. CameraRotation.cs :Ruota la telecamera di scena in ogni fotogramma aggiornato
  2. DoorAnimtion.cs :Controlla l'animazione della porta e rileva se il giocatore entra o esce dall'area di attivazione della porta
  3. FpsGun.cs: Controlla la pistola in visuale in prima persona, principalmente per sparare
  4. TpsGun.cs :Controlla la pistola in visuale in terza persona (replicata in rete), principalmente trasformazione ed effetti particellari
  5. IKControl.cs :Assicura che il modello tenga una pistola indipendentemente dai movimenti o dalle rotazioni
  6. ImpactLifeCycle.cs: Distrugge l'oggetto proiettile dopo diversi secondi per risparmiare tempo e memoria della CPU
  7. NomeTag.cs : Mostra i nomi degli altri giocatori sopra le loro teste
  8. NetworkManager.cs :Controlla l'intera connessione di rete
  9. PlayerHealth.cs :Calcola e aggiorna i punti salute di ogni giocatore
  10. PlayerNetworkMover.cs :Sincronizza la posizione del giocatore tra diversi client

Input Devices​

  • Mouse and keyboard
  • Kinect
  • Xbox Controller

Il codice sorgente di questo tutorial lo trovate tranquillamente sulla repository del mio github

con lo stesso readme in lingua inglese perchè dovete sapere che la programmazione è meglio scriverla sempre in lingua inglese.
Per ulteriori informazioni o capire come compilarlo etc etc scrivete nel thread che vi rispondo senza problemi il prima possibile.

Buon coding DEVS :D
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!