Creare Videogiochi - Game Developer

Versione completa: Dark Sv3 Engine
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Pagine: 1 2
Dark Sv3 Engine
Topic ufficiale

Team di sviluppo
1. Sweet Vengeance
... fine xD

Che cos'è?
Dark Sv3 Engine è una base per giochi in 3° Persona scritto da me, Sweet Vengeance, scritto per Dark Basic Pro. E' semplicistico ed è adatto ai nuovi arrivi che hanno sempre voluto creare un RPG con i propri sistemi.

Funzioni
* Editor a scelta
L'editor utilizzato può essere sia Cartograpy Shop 4 che 3D World Studio 5.52 o qualsiasi editor di oggetti 3D in quanto gli elementi del gioco sono gestiti tramite i nomi dei cosidetti "limb". L'editor consigliato è 3D World Studio 5.52 poichè l'engine è nato su quest'editor.

* Livelli personalizzabili al 90%Il livello non è altro che un modello 3D statico che in base a delle specifiche su dei valori dati ai nomi dei limb viene automatizzato in gioco. Attraverso questo sistema è possibile mettere nel vostro livello giocatori, oggetti e altro. Sono supportati i waypoint e i warpoints per andare da un livello all'altro.

* Fisica autoimplementata
Il motore di gioco contiene già tutto l'occorente per dare un effetto realistico al vostro gioco dal punto di vista fisico con gravità, rimbalzi e altro ancora!


* Sistema di entità innovativo
Non c'è differenza tra giocatore ed npc o cartelli o altro: ogni cosa è riconducibile ad un entità con attributi e qualità oggettive. Esempio: un npc, durante il cammino tra i suoi waypoint potrebbe finire in un warppoint (teletrasporto) e venire teletrasportato poichè anche esso è un entità.

* Database personaggi
E' possibile creare un piccolo database per ogni modello ("mesh") con i vari dati come le informazioni sulle animazioni, ombre, peso e altro in modo da rendere più semplice l'inserimento di giocatori uno diverso dall'altro

* Semplice sistema di ombre
Avete presente quel piccolo sprite nero a forma di ombra sotto ogni personaggio? C'è.

* Ultima aggiunta: Semplice sistema di luci
Dall'editor sarà possibile inserire le luci e grazie al sistema di lightmaps che é già presente in 3D World Studio si potranno creare ambientazioni più realistiche. L'unica pecca è che nel gioco si potranno avere fino a 7 luci attive (escludendo quella dell'ambiente).

Lista delle cose da fare
* Porte dinamiche: si aprono al passaggio del giocatore
* Sistema di salvataggio/caricamento dati
* Scenario iniziale ("nuovo gioco, carica ecc..")
... altre funzioni che mi vengono in mente XD

Screenshot & Video
[spoiler]

Impostazione giocatore
Editor: http://img340.imageshack.us/img340/671/screen1hp.png
Gioco: http://img844.imageshack.us/img844/2420/screen2cp.png
Attraverso le proprietà di quell'entità (nell'editor) si possono mettere vari parametri come il modello del giocatore o la grandezza

Luci e Teletrasporto
Editor: http://img602.imageshack.us/i/screen3e.png/
Gioco: http://img406.imageshack.us/i/screen4sn.png/
Come vedete, nell'editor c'è la luce e che indica un'entità "Warp Point". Quella entità non è altro che un teletrasporto. Al suo interno è possibile descrivere il punto di arrivo (semplici coordinate oppure è possibile inserire un punto generico nella mappa attraverso un'altra entità, dargli un nome, e teletrasportarsi lì) che si può trovare anche in un'altra mappa. Nel caso di npc (non il giocatore) invece di essere teletrasportati vengono semplicemente eliminati (per ora..)

Collisioni e Gravità:
Il WarpPoint di prima mi ha teletrasportato sul tetto (ero molto più in alto, poi sono caduto)
http://img6.imageshack.us/i/screen5qy.png/
Come vedete sono fermo sul tetto con la mia ombra sotto i piedi, adesso salto giù!
http://img232.imageshack.us/i/screen6v.png/
La gravità mi attira a terra. In più la mia ombra stà apparendo sul terrendo (essendo che sono molto in alto non si vede tutta)

Io u.u
http://img690.imageshack.us/i/screen7dj.png/

Bombardamento di palline bianche
http://img29.imageshack.us/i/screen8q.png/
Ho inserito un tasto (per farvi vedere) la fisica. Quelle palline bianche sono solide e rimbalzano sul personaggio che stò colpendo spostandolo faccia al muro (potete notare nello screen precedente la sua posizione originale)

Waypoints
Editor: http://img257.imageshack.us/i/screen9i.png/
[i]Per descrivere un percorso Smile Ogni waypoint ha "nome" e "prossimo", due riferimenti che utilizzano per connettersi tra di loro. Ad un oggetto qualsiasi basta dare il nome di waypoint qualsiasi e lui lo raggiungere. Dopo averlo fatto và al "prossimo" se esso esiste.
[/spoiler]


Source Code
Coming soon...

Siete liberi di richiedere funzioni o qualsiasi cosa o curiosità sull'engine

Alche

io mi aspettavo uno bello screenshoot o video vado a fare Click to View e cosa mi appare da inserire <.< comunque sembra carino
(08-01-2011, 12:28 AM)darkspettrak Ha scritto: [ -> ]io mi aspettavo uno bello screenshoot o video vado a fare Click to View e cosa mi appare da inserire <.< comunque sembra carino

Adesso posto qualche screen dell'editor e il risultato in gioco Smile
Ed ecco che il mio PADO diventa inutile Sad Ma come diavolo avete fatto a fare un programma del genere? Anche io volevo combinare VB e DB per fare un nuovo PADO quindi vi sarei grato se mi spiegassi ^^
Non è VB Smile ad ogni modo dovrò comunque mettere dei programmini che scriverò o in VB o in C# per il database dei personaggi e cose simili. Comunque puoi darmi del tu non preoccuparti Smile ad ogni modo ti spiego: tutto sta nella lettura e scrittura di un file, quindi la sua struttura. Esempio: se io imposto DBP per leggere dei file così:
Codice:
Variabile = valore
Variabile2 = valore2
Se creo un programma che mi sa scrivere un file con quella struttura, ho scritto un editor Big Grin questa è la teoria ridotta all'osso. Ci sono anche altri modi di salvare i file e leggerli (ad esempio in modo seriale)

Zapetino

bello !!! mi piacerebbe darti una mano se ne hai bisogno!!
(08-01-2011, 03:52 PM)zapetino Ha scritto: [ -> ]bello !!! mi piacerebbe darti una mano se ne hai bisogno!!

Bhè.. non riesco a fare decentemente i movimenti del giocatore con Newton. Essendo che non posso usare Move Object e Rotate Object... riusciresti a farli?

Praticamente ho capito che per farlo andare avanti gli devo dare una butta sul latoB ma per farlo girare? come faccio? XD

Zapetino

dammi la parte del source dove ci sono i controlli del giocatore e tu faccio tutto XD
Eccoti accontentato: applico semplicemente una forza (la forza è contenuta in x#,y#,z#)
In questo caso i valori sono:
x# = 0
y# = 0
z# = 200

Le prime 2 righe non farci caso, servono a prendere i dati dall'entità.
Codice:
// Prendo l'oggetto
    body = ENT_getBodyID(id)
    obj = ENT_getObjID(id)
              // Dove applico la forza...
    zpos = object size z(obj)/2
    NDB_SetVector 1,0,0,zpos
              // La forza u.u
    NDB_SetVector 2,x#,y#,z#
              // Applicala!
    NDB_BodyAddForceLocal body
Sweet perchè fai doppi post? xD Non sarebbe meglio fare un topic a parte cosi' teniamo ordinato il forum? Smile
Certo nessun problema Smile Il fatto è che poi è uscito il discorso anche qui e allora.. quell'altro topic puoi cancellarlo (se sei tu il mod, non ci ho fatto caso Wink) Smile
Nono lo dico per il bene di un futuro visitatore che si ritroverebbe a non capire se sta leggendo ciò che cerca lui o un'altra cosa xD Comunque quanto si dovrà aspettare èer òìuscita di Dark sv3 E? Smile

Zapetino

johnatan qui si parla del suo engine quindi può anche parlare del source o altro
Appena riesco a creare dei movimenti decenti posterò una demo con una demo piccolina che fà vedere la semplicità di creazione e farò anche un video ovviamente Wink Quindi prima aggiusto quei movimenti prima lo posto. Se qualcuno mi dà una mano facciamo prima Tongue Ora come ora, mi pare di controllare una macchina senza le ruote posteriori per come sono scritti i controlli xD

Edit
Ho aggiunto un sistema di luci. Vedete il primo post Wink
Sono davvero curioso di provato il tuo engine Smile Ma stai usando più o meno il mio stesso metodo? Ossia crei un file con cui comunichi?
Si si Smile Però li uso solamente per i personaggi (almeno per ora) per impostare le animazioni, informazioni sulla fisica e cose così Smile Al momento ogni personaggio/oggetto che ha un modello ha una cartella per se contente il file "data.def" con queste informazioni. Per quanto riguarda i file di animazione: sono file .x separati tra di loro: ogni animazione ha un file a se e ogni cartella deve avere per forza il file "base.x" che sarebbe il personaggio fermo (solamente il personaggio fermo, senza animazioni e altro), poi ad esempio, c'è "idle" che è l'animazione quando stà fermo, "walk" quando cammina e "run" quando corre. Tutti sono .x e tramite il comando APPEND si ricrea l'animazione totale. Questo permette di avere un certo ordine anche a livello di cartelle e soprattutto di file Smile Mentre per le mappe utilizzo i "Limb" per inserire le cose. Come tutti sanno i limb hanno i nomi e io al posto dei nomi inserisco dei valori come un file che poi leggo quando carico il file, rimuovo il limb ed eseguo le operazioni da lui scelte Smile
*****... stò Newton engine fà schifo, è buono solo per le simulazioni e gli FPS .-.
Big Grin... una volta di queste dovresti fare una guida ^^ anche se ci sarò spesso io a disturbarti per chiederti aiuto xD
(09-01-2011, 09:48 AM)Jonathan Archer Ha scritto: [ -> ]Big Grin... una volta di queste dovresti fare una guida ^^ anche se ci sarò spesso io a disturbarti per chiederti aiuto xD

Figurati Wink Scusate per i mod era un'attimo di rabbia improvisa xD Ieri sera sono stato fino alle 3 per cercare di fare quei movimenti e niente.. pare che guido una macchina con le gomme lisce sul ghiaccio .-. Adesso li ho "apparati" un pò. Li rimango così e ho portato il movimento dentro una funzione. Chi vuole potrà modificarsela come vuole Smile
Ho visto che hai levato la fisica... peccato Sad Ma sarà lo stesso un ottimo programma! Big Grin Attendo con impazienza
E non riesco a fare i movimenti dei giocatori per bene .-. Qualcuno se ne intende??
Io no mi dispiace xD Penso che i movimenti in generale tu già li sappia fare. Dove si dovrebbe muovere il personaggio, su una matrice?
No, magari fosse stato così semplice......... Bisogna ragionare in termina di fisica .-. Ovvero: un corpo si muove perchè riceve una forza. La forza applicata su di un corpo ha una propria direzione e una propria intensità. Ora: come faccio a far muovere un giocare? E come faccio a farlo girare? Dovrei applicare delle forze. Quali? XD
Per far muovere e girare un giocatore non basterebbe farlo spostare o ruotarlo sugli assi x, y e z applicandogli una forza fissa di direzione verticale e verso basso di 9.8 m/sec per simulare la gravità?
Secondo me è eccessivo usare la fisica pure per gli spostamenti, a meno che non si tratta di un rancing game.

Scusa l'intromissione ma sta cosa interessa pure a me visto che (quando e se, riesco a configurare bullet con ogre) dovrò avere anche io a che fare con la fisica.
Sarebbe stato bello se fosse stato cosi' facile xD Dipende come gestisci gli oggetti. Per farlo girare non basterebbe un Turn object e la cinepresa la fai muovere di conseguenza? Forse ci avrai già pensato tu quindi non so quanto posso essere utile xD
E' quello il fatto... non posso utilizzare i comandi di Dark Basic per far girare o muovere perchè sono controllati dal motore fisico.. Undecided
Sono passate 2 settimane! Come stiamo con lo sviluppo? Smile
Fermo. Penso di cestinarlo il progetto perchè senza motore fisico non mi piace come viene, sempre una stupidata....
Noooo ç.ç Può essere sempre utile. Anche per me! Se non altro mi guardo il progetto cosi' capisco come hai fatto a coalizzare i due programmi Wink

Riddick

(31-01-2011, 12:41 PM)Sweet Vengeance Ha scritto: [ -> ]Fermo. Penso di cestinarlo il progetto perchè senza motore fisico non mi piace come viene, sempre una stupidata....

Non hai provato ad usare ODE physics ? (physics standar di Dark Basic Pro)
Pagine: 1 2