Anche se può sembrare 3D, i giochi "hack and slash" (come Diablo) sono in realtà giochi 2D. Spesso i componenti (gli sprite) vengono creati in uno strumento di modellazione 3D, ma solo i rendering 2D degli sprite sono utilizzati nel gioco reale. Questo tipo di gioco tende ad essere molto più legato alle interazioni di dati (la mappa, il giocatore, i tesori e i mostri) che alla rappresentazione visiva.
I giochi 2D tendono a non usare l'animazione dinamica (scheletri e deformazioni). Invece, le animazioni vengono spesso create in un pacchetto 3D e salvate come libreria di immagini. Lo sprite ha quindi una tabella di ricerca di immagini (memorizzate come un singolo foglio sprite massiccio o come una serie di singole immagini). Durante la fase di animazione del gioco, lo sprite determina quale immagine visualizzare in base allo stato corrente dello sprite. Ad esempio, ho un'animazione di una mucca (http://www.aharrisbooks.net/pythonGame/ch08/cow.py) che cammina in otto direzioni. Ogni direzione è un'animazione di dieci fotogrammi.
(altri esempi in Python su http://wwww.aharrisbooks.net/pythonGame )
Il programma di esempio controlla la direzione e il riquadro, quindi visualizza l'immagine appropriata. Il mio esempio è scritto in Python, ma il linguaggio non è importante; l'idea rimane la stessa.
Gli aspetti visivi dell'essere in stati diversi (combattimento, ferito, ecc.) Sarebbero gestiti semplicemente aggiungendo più animazioni alla pila.
Tuttavia, gli aspetti più difficili di queste cose sono gli aspetti dei dati. Ad esempio, come viene gestito il terreno. Probabilmente userei una variante dell'algoritmo A * per scegliere un percorso tra dove si trova lo sprite e dove vuole andare, e aggiungerei una sorta di peso a ciascun nodo per rappresentare la difficoltà di quel terreno. (le strade avrebbero un peso molto leggero, le montagne e gli oceani sarebbero molto "pesanti")
Probabilmente non mi preoccuperei delle dinamiche del corpo molle in un motore 2D. Questo può essere aggiunto in seguito, ma non è la chiave per il funzionamento del gioco.
Potresti sicuramente creare un "hack and slash" in 3D. Tuttavia, le ulteriori sfide della modellazione 3D rendono più difficile concentrarsi sulle meccaniche di gioco che spesso attraggono i giocatori a questo tipo di gioco.
Buona fortuna a te....