5

Quindi mi sto cimentando con alcune nuove competenze e voglio creare un gioco semplice.MonoGame - Layout e struttura del progetto (architettura)

I am C# programmatore di professione e come con tutti i progetti, che si tratti di sviluppo Web o di moduli, hanno tutti una sorta di struttura.

Mi piace fare le cose per la prima volta e voglio sapere se ci sono approcci strutturati simili allo sviluppo del gioco usando MonoGame. Ho provato a cercare, ma ovviamente non parlo il gergo.

Le uniche cose che ho capito finora sono separare le risorse usando i progetti di pipeline di contenuti, ma tutto sembra un po 'complicato fare tutto il resto nell'unica Applicazione di Gioco.

Idealmente mi piacerebbe avere un gioco Windows, ma facilmente portato su altri sistemi operativi, e ovviamente nel fare questo ho bisogno di separare determinate logiche.

Ho scoperto che ci sono tutorial in giro per insegnarmi degli sprite e dei giochi "ciao mondo", quindi penso che troverò tutto l'aiuto di cui ho bisogno, se solo sapessi cosa cercare.

Tutte le idee, i suggerimenti e i collegamenti sarebbero apprezzati, anzi risponderò anche le risposte che mi daranno i termini usati nell'arena dello sviluppo del gioco.

UPDATE

mi sono imbattuto nel seguente finora:

+2

passando per i campioni potrebbe essere utile https://github.com/CartBlanche/MonoGame-Samples – craftworkgames

risposta

1

Sto usando MonoGame per circa 3 mesi e dispone di un semplice "framework" che rende oggetti 3D e 2D.

Penso che il modo migliore per avere un senso della struttura sarebbe dare un'occhiata a Unity3D, che usa Scene e GameObjects.

Le parole chiave sarebbero: Scenegraph, GameObject.

2

Non sono sicuro se io sono una persona appropriata per rispondere a questa domanda, ma si può verificare che:

  1. Gioco stati

    Usa state pattern per la gestione di stati di gioco - si farà transizione tra stati (come dal menu allo stato di avvio del gioco ecc.) e più facile/meno veloce - alcuni tipi di GameStateManager che chiamano i metodi appropriati IGameState: Update, Render, LoadContent.

  2. gioco della macchina fotografica

    Ulteriori informazioni su matrici di trasformazione e l'uso della macchina fotografica gioco (SpriteBatch.Begin ha un parametro chiamato matrice). Con la videocamera è possibile disegnare utilizzando "sistema di coordinate interno", ovvero tutti i punti di disegno si trovano in "schermo di risoluzione immaginario, ad esempio 1024x860" e successivamente può essere ridimensionato per adattarlo alla visualizzazione dell'utente. Scrivi per una risoluzione e con poche righe puoi gestire altre risoluzioni.La videocamera può essere utile anche quando vuoi ruotare tutti i tuoi oggetti nemici (diciamo 1000 mostri) - invece di ruotare ogni oggetto uno per uno devi solo ruotare il tuo sistema di coordinate (telecamera di gioco). Per ulteriori controllo: http://www.david-gouveia.com/portfolio/2d-camera-with-parallax-scrolling-in-xna/, http://www.david-amador.com/2009/10/xna-camera-2d-with-zoom-and-rotation/