Heroes of Asgard

Stato
Discussione chiusa ad ulteriori risposte.
Tipo cosa hai fatto recentemente lato server e che ha qualcosa di innovativo

Algoritmi tosti che hanno occupato più tempo e sono stati difficile da realizzare

Lato client non avete detto nulla(so che non è di tua competenza)

I costi
Per ora ste cosette
Recentemente sul server sto facendo solo fix e ottimizzazioni, in modo da non mettere altra carne al fuoco (altrimenti se aggiungo sempre roba alla business demo non arriviamo più).

Le parti più "toste" sono quelle di sincronizzazione: garantire che tutti i client vedano le stesse cose con meno delay possibile, senza gravare sul server con un carico esagerato e senza errori.
Aggiungo che sto anche facendo dei test miei personali per la creazione di un framework che si occupa proprio della replicazione di oggetti in un mondo virtuale: voglio vedere se riesco ad ottimizzare l'algoritmo che ho già utilizzato per Heroes of Asgard, in modo da migliorare il gioco.

Gli aggiornamenti lato client rispecchiano quelli del server, grosso modo: se sul server aggiungo, che ne so, il sistema di equipaggiamento, anche il client viene aggiornato con l'aggiunta di un sistema di equipaggiamento.
Al momento, per essere precisi, stiamo realizzando lo switch dei pezzi di equipaggiamento (e sincronizzazione con i client vicini, per i pezzi visibili).

I costi non li conosco, sinceramente. :p
Complimenti, però il guerriero sembra michael di gta 5 ahahah
Lo prendo come un complimento, allora :D
 
Eccezionale progetto! bellissimo, innovativo, ben fatto, curato! sarebbe bello espanderlo, cioè: molti giocatori ricercano la personalizzazione, magari invece di creare il pg e scegliere la razza, si potrebbe aggiungere un piccolo menù dove scegli capelli, barba, occhi, ecc ecc. Gli effetti atmosferici sono una gran cosa, la pioggia ad esempio sarebbe molto bella, implementare un sistema ''rifiugio'' dove puoi crearti una casa e personalizzarla come ti pare. Ergo: tutti i game hanno almeno UNA cosa bella, il mio suggerimento e di fare un gruppo di tutto ciò e implementarlo qui, per farne un completo di tutto =)
 
  • Mi piace
Reazioni: Kory e ManHunter
Ultima modifica:
Progetto magnifico, io e molti miei amici siamo molto entusiasti e fiduciosi, cercheremo di sostenerlo nel massimo delle nostre possibilità.

Per quanto riguarda le idee, stavo pensando, visto che è praticamente un seguito spirituale di Metin2, che ne direste di trovare anche qui un modo di creare delle specie di rocce Metin? Ho sentito di cosa tratta la storia, dell'underworld soprattutto, visto che è un mondo in una dimensione sottostante alla nostra, che ne direste di far uscire da sotto terra casualmente per la mappa delle mani, dei pugni di dimensioni più o meno dei metin? Come se fossero le creature dell'underworld a voler sfondare le barriere ma non fanno che tramandare l'energia al mondo superiore, riflettendola sul terreno fisico? @ManHunter
Roba del genere
13444405_10205000469206566_1174292980_n.png
[/spolier]


Poi ho pensato ad una modalità di ''fin di vita'', durante una qualsiasi battaglia, prendiamo un duello pvp come esempio, il giocatore che perde tutta la vita si accascia a terra e può muoversi a gattoni in fin di vita per una decina di secondi prima di morire, il giocatore che gli ha tolto gli HP può decidere se giustiziarlo definitivamente o rianimarlo, a seconda della scelta poi può ottenere un riconoscimento, non so tipo qualche punto karma.

Potrebbe anche succedere in un affronto fra due giocatori di regni diversi. Penso che mostrare pietà sia di diritto in un gioco di ruolo, cosicchè il giocatore possa immedesimarsi al meglio. Ovviamente ci sarebbe il rischio che il giocatore nemico (nel caso sia di regno straniero) riattacchi, per evitare questo potreste far sì che nel caso sia rianimato da un regno nemico, non abbia le forze per attaccare, magari creando un'apposita animazione di sfinimento, o riducendo il suo danno quasi a zero, dando tempo al giocatore che ne ha avuto pietà di allontanarsi pacificamente.
 
Per quanto riguarda le idee, stavo pensando, visto che è praticamente un seguito spirituale di Metin2, che ne direste di trovare anche qui un modo di creare delle specie di rocce Metin? Ho sentito di cosa tratta la storia, dell'underworld soprattutto, visto che è un mondo in una dimensione sottostante alla nostra, che ne direste di far uscire da sotto terra casualmente per la mappa delle mani, dei pugni di dimensioni più o meno dei metin? Come se fossero le creature dell'underworld a voler sfondare le barriere ma non fanno che tramandare l'energia al mondo superiore, riflettendola sul terreno fisico? @ManHunter
Ti sei perso questo: http://crimson-games.com/devlog/meteors-fall/
Dai un occhio e fammi sapere! :)

Poi ho pensato ad una modalità di ''fin di vita'', durante una qualsiasi battaglia, prendiamo un duello pvp come esempio, il giocatore che perde tutta la vita si accascia a terra e può muoversi a gattoni in fin di vita per una decina di secondi prima di morire, il giocatore che gli ha tolto gli HP può decidere se giustiziarlo definitivamente o rianimarlo, a seconda della scelta poi può ottenere un riconoscimento, non so tipo qualche punto karma.

Potrebbe anche succedere in un affronto fra due giocatori di regni diversi. Penso che mostrare pietà sia di diritto in un gioco di ruolo, cosicchè il giocatore possa immedesimarsi al meglio. Ovviamente ci sarebbe il rischio che il giocatore nemico (nel caso sia di regno straniero) riattacchi, per evitare questo potreste far sì che nel caso sia rianimato da un regno nemico, non abbia le forze per attaccare, magari creando un'apposita animazione di sfinimento, o riducendo il suo danno quasi a zero, dando tempo al giocatore che ne ha avuto pietà di allontanarsi pacificamente.
Cosa comporterebbe, invece, il giustiziare un avversario? Cosa accade al giustiziato?
Bisognerebbe dare uno spessore più ampio a questa azione: fammi sapere, magari esce una buona idea!
 
Ultima modifica:
Ti sei perso questo: http://crimson-games.com/devlog/meteors-fall/
Dai un occhio e fammi sapere! :)


Cosa comporterebbe, invece, il giustiziare un avversario? Cosa accade al giustiziato?
Bisognerebbe dare uno spessore più ampio a questa azione: fammi sapere, magari esce una buona idea!
Magari a sbloccare un determinato tipo di oggetto piuttosto che un altro, oppure, per esempio, poter accedere alla via bianca piuttosto che a quella nera e viceversa.
Ad esempio su Infamous, in base al karma, oltre a poter sbloccare un determinato tipo di skills, diventavi anche fisicamente "corrotto"
 
  • Mi piace
Reazioni: ManHunter e Kory
Ti sei perso questo: http://crimson-games.com/devlog/meteors-fall/
Dai un occhio e fammi sapere! :)


Cosa comporterebbe, invece, il giustiziare un avversario? Cosa accade al giustiziato?
Bisognerebbe dare uno spessore più ampio a questa azione: fammi sapere, magari esce una buona idea!
Penso che entrambe le scelte debbano avere una ricompensa bilanciata, ma non deve essere molto preziosa altrimenti il sistema verrebbe abusato. Deve essere qualcosa che si sente appena, che si insinui nel gameplay, magari influenzando solo il karma, dando un premio solo dopo un tot di scelte, dando un oggetto con una probabilità bassissima di essere droppato o far sì che ad esempio il giocatore giustiziato droppi una specie di trofeo, come una piastrina dei soldati, hai presente? Così raccolto un certo numero di questi trofei (non sempre droppabili), li puoi portare da un NPC per fare qualcosa, magari un generale crudele che ti stima per aver massacrato tanti nemici, ecc. Viceversa, mostrando pietà al nemico magari potresti ricevere un bonus temporaneo o un segno di riconoscimento cumulabile, non so. Ovviamente questo solo negli scontri con giocatori di regni diversi, il giustiziare o rialzare un personaggio del proprio regno dovrebbe influenzare di poco solo il karma. Potresti inserire le taglie, così giustiziando qualcuno crudele del proprio paese si riceve una certa somma di denaro, boh.

Poi ho pensato che magari i giocatori di un certo rango più alto, o quelli che hanno mostrato più pietà quindi hanno sbloccato un livello d'onore più alto potrebbero avere la possibilità di imprigionare un giocatore dell'altro regno, facendolo spawnare in una prigione, però questo giocatore deve essere anch'esso di un rango molto elevato e rispettato nel suo regno, così che abbia un senso imprigionare un nobile o un cavaliere famoso. Anche questa è solo un'idea abbozzata, non so come potrebbe funzionare il suo salvataggio, magari il regno in questione dovrebbe fare un raid per liberarlo, lui potrebbe affrontare qualche NPC specifico o un giocatore per guadagnarsi la libertà. Ovviamente deve essere un evento piuttosto raro, per farlo diventare tale bisogna far sì che raggiungere un livello d'importanza nel proprio regno sia davvero un processo lungo e complicato per non sfociare nella banalità.

Comunque incredibile la caduta del meteorite! Me lo ero perso. :D
 
  • Mi piace
Reazioni: ManHunter
sempre più spettacolare! fate prestoooooooooo! c'è bisogno di un gioco simile! ormai sti metin cadono a pezzi giorno dopo giorno e sono un copy & paste uno dell altro! ci vuole una svolta! fate presto ad aprire sono ansioso di provare *.* ps mi raccomando lo shop! anche tramite sms, è un problemino scemo ma molto importante perché parecchi player hanno difficoltà con gli altri metodi di pagamento!
 
  • Mi piace
Reazioni: Kory
Sì, ma non sono ancora ispirato per scriverci un post! Voglio postare roba interessante, quindi ci devo investire un po' di tempo per preparare il post!
Inoltre, vorrei portare una galleria di immagini assieme al prossimo post!

Per il momento vi lascio qualcosina che abbiamo pubblicato qualche giorno fa:

13517622_975095102616071_4209072588968342909_o.jpg

13497912_975095122616069_5467904849064588828_o.jpg


E' una delle cavalcature, per il momento chiamato Demonic Hound!
 
Spero che non arriviamo al 2019! xD
Stiamo comunque producendo un video per mostrare a che punto siamo! Al più presto lo pubblicheremo!


Ti ringrazio!
Se è possibile nel video vorrei vedere alcune meccaniche di combattimento, in quello precedente i movimenti non erano perfetti, accontentatemi ;C
 
Se è possibile nel video vorrei vedere alcune meccaniche di combattimento, in quello precedente i movimenti non erano perfetti, accontentatemi ;C
Se riusciamo, includeremo anche delle scene di combattimento con il sistema nuovo cui stiamo lavorando in questi giorni (sì, sto e stiamo riscrivendo alcune parti come il combattimento, l'AI e altro perché non ne sono soddisfatto ancora).
Il video sicuramente conterrà delle fasi di esplorazione in una o due mappe, una carrellata delle skill con i vari effect, meteore, ecc. Delle fasi di combattimento erano già previste, ma non vorrei includere nel video cose che non mi soddisfano.
 
Ci sono novità?
Sì, molte. Ma non sto avendo proprio tempo per riportare tutte le novità introdotte in questo periodo: mi scuso per questo.
C'è un'enormità di feature aggiunte, fix fatti, ecc. La lista è grande, spero di riuscire a preparare qualche articolo in qualche weekend di questi.
Abbiamo stabilito una data da rispettare per la versione alpha, quindi stiamo lavorando come matti per realizzare quello che manca e non sforare.
 
E vabbè, dal momento che ho una costante sensazione di non aver fatto qualcosa, devo scrivere qualche aggiornamento altrimenti non mi passa. Mi ritaglierò un po' di tempo per scrivere questo post, cercando di essere quanto più riassuntivo possibile: ricordate che dietro ogni frase da me riportata in modo sintetico si nascondono ore/giorni di duro lavoro, non vorrei dare l'impressione di svalutare il nostro operato.

GENERAL
Abbiamo allestito una board interna dove assegnarci task tra i membri del team e, soprattutto, dove c'è una lista di task pianificati. In questa lista vengono inserite le idee valide che probabilmente verranno inserite nel gioco.
Abbiamo allestito un forum, per ora privato, dove stiamo pian piano inserendo i changelog, gli articoli utili, ecc.

ART SIDE
Continuano le migliorie sulla mappa desertica e quella innevata, mappe che sicuramente saranno presenti nell'alpha. Per quanto riguarda la mappa desertica, c'è stato un remake generale di alcuni materiali/texture, che ora appaiono migliori. Per il resto, la mappa desertica è pressoché pronta, ci sono solo da stabilire quali mostri saranno presenti in essa, quali boss: le entità che la popoleranno, insomma.
Per la mappa innevata sono stati realizzati nuovi asset, come portali, pilastri, altari. La particolarità è che per questa mappa sarà disponibile il primo dungeon. Un dungeon ghiacciato, lineare, al termine del quale incontrerete un boss.
Sono state realizzate le animazioni per la cavalcatura e per i personaggi che la utilizzano.
Sono stati realizzati gli effect per le skill del Warrior e del Sura, con relative animazioni.

CLIENT SIDE
Sono stati realizzati molti fix, tra cui: molte animazioni sono state sincronizzate tra i client e molte di esse ora riflettono l'effettivo valore che hanno lato server (esempio: velocità di movimento e di attacco), alcune skill ora vengono visualizzate correttamente e il loro cooldown è corretto, migliorie ad alcuni shader, ecc.
Sono state aggiunte alcune funzionalità interne per la realizzazione di video/screenshot, come la free camera mode e l'hide/show dell'UI.
L'UI è stata rifatta, ora adotta un sistema completamente nuovo.
Un nuovo branch è stato creato dove il client è stato adattato alla nuova architettura server e al nuovo codice di networking.
Pet e Mount aggiunte, con relative animazioni.
Soundtrack e alcuni suoni ambientali aggiunti in alcune mappe.
Ottimizzazioni varie al codice e ad alcuni sistemi interni. Refactoring di alcune classi.
Realizzato un sistema per prendere appunti sulle minimappe, in modo che ognuno di voi possa scoprire ed interpretare il mondo di gioco soggettivamente: potete utilizzare la funzionalità per segnarvi boss, spawn, eventi particolari, ecc.

SERVER SIDE
Lato server è stata finalmente quasi ultimata la nuova architettura (ne ho parlato in qualche post precedente). Al momento la vecchia architettura è ancora utilizzata, finché la nuova non sarà completa e testata a dovere.
E' stato fatto un grande refactoring di gran parte delle classi e delle entità che componevano il server, compreso il sistema di networking. L'architettura è ora distribuita: ciò significa che il server può essere composto da varie macchine fisiche.
La nuova architettura prevede anche delle istanze Unity lato server che gestiscono le varie zone del mondo: questo ha aperto la strada a funzionalità come navmesh, pathfinding, physic e AI più sviluppata.
E' stato realizzato il Quest System. Le quest possono essere create componendole con vari QuestTarget che ho appositamente creato. La combinazione di questi QuestTarget può dar vita ad innumerevoli quest e, perché no, può dar vita ad un sistema di creazione di quest da parte dei giocatori (qualcosa come una bacheca dove i giocatori creano la loro quest personalizzata ed altri possono accettarla, giocarla e valutarla).
Sono state realizzate le classi per la gestione degli NPC.
Riorganizzata l'architettura delle classi, aggiunte nuove classi come AIActor.
Ottimizzazioni generali al codice, ottimizzazioni alla Garbage Collection dove non necessaria, spostamento di alcuni calcoli su thread paralleli.
Riorganizzata la classe per la gestione della persistenza: ora è più comoda da utilizzare.

PROPOSALS & PLANNING
Refactoring della chat.
Creazione di un creature-book, dove ogni volta che vedrete una nuova creatura verrà aggiunta la relativa pagina con nome e foto: in questa pagina potrete appuntarvi informazioni su questa creatura, come quel che droppa, debolezze, pericoli che comporta, ecc. Qualcosa di simile agli appunti di un avventuriero. Magari rendere gli appunti commerciabili.
Creare un debugger visuale per le entità lato server.
Ricreare alcune armi di Metin2, come tributo. Pensavamo al set della Luna Piena, che crediamo sia il più caratteristico e il più famoso.
Creazione di un bot per lo stress test del server.
Test di migrazione verso MongoDB.


Credo di aver soddisfatto la curiosità dei più per almeno una settimana! :p
Scherzi a parte, grosso modo dovrebbe esserci tutta la roba più importante fatta, anche se non sono sceso nel dettaglio. Fatemi sapere cosa ne pensate e continuate a commentare!

Ovviamente, non voglio lasciarvi con un enorme wall of text, per cui vi lascio anche qualche screenshot:
13938214_1008851882573726_2173810434593681644_o.jpg

14047257_1008851879240393_8857158047854148348_o.jpg

13958154_1008851855907062_6077860906424822314_o.jpg

13975545_1008851912573723_5279439828612597781_o.jpg

Stay tuned!
 
E vabbè, dal momento che ho una costante sensazione di non aver fatto qualcosa, devo scrivere qualche aggiornamento altrimenti non mi passa. Mi ritaglierò un po' di tempo per scrivere questo post, cercando di essere quanto più riassuntivo possibile: ricordate che dietro ogni frase da me riportata in modo sintetico si nascondono ore/giorni di duro lavoro, non vorrei dare l'impressione di svalutare il nostro operato.

GENERAL
Abbiamo allestito una board interna dove assegnarci task tra i membri del team e, soprattutto, dove c'è una lista di task pianificati. In questa lista vengono inserite le idee valide che probabilmente verranno inserite nel gioco.
Abbiamo allestito un forum, per ora privato, dove stiamo pian piano inserendo i changelog, gli articoli utili, ecc.

ART SIDE
Continuano le migliorie sulla mappa desertica e quella innevata, mappe che sicuramente saranno presenti nell'alpha. Per quanto riguarda la mappa desertica, c'è stato un remake generale di alcuni materiali/texture, che ora appaiono migliori. Per il resto, la mappa desertica è pressoché pronta, ci sono solo da stabilire quali mostri saranno presenti in essa, quali boss: le entità che la popoleranno, insomma.
Per la mappa innevata sono stati realizzati nuovi asset, come portali, pilastri, altari. La particolarità è che per questa mappa sarà disponibile il primo dungeon. Un dungeon ghiacciato, lineare, al termine del quale incontrerete un boss.
Sono state realizzate le animazioni per la cavalcatura e per i personaggi che la utilizzano.
Sono stati realizzati gli effect per le skill del Warrior e del Sura, con relative animazioni.

CLIENT SIDE
Sono stati realizzati molti fix, tra cui: molte animazioni sono state sincronizzate tra i client e molte di esse ora riflettono l'effettivo valore che hanno lato server (esempio: velocità di movimento e di attacco), alcune skill ora vengono visualizzate correttamente e il loro cooldown è corretto, migliorie ad alcuni shader, ecc.
Sono state aggiunte alcune funzionalità interne per la realizzazione di video/screenshot, come la free camera mode e l'hide/show dell'UI.
L'UI è stata rifatta, ora adotta un sistema completamente nuovo.
Un nuovo branch è stato creato dove il client è stato adattato alla nuova architettura server e al nuovo codice di networking.
Pet e Mount aggiunte, con relative animazioni.
Soundtrack e alcuni suoni ambientali aggiunti in alcune mappe.
Ottimizzazioni varie al codice e ad alcuni sistemi interni. Refactoring di alcune classi.
Realizzato un sistema per prendere appunti sulle minimappe, in modo che ognuno di voi possa scoprire ed interpretare il mondo di gioco soggettivamente: potete utilizzare la funzionalità per segnarvi boss, spawn, eventi particolari, ecc.

SERVER SIDE
Lato server è stata finalmente quasi ultimata la nuova architettura (ne ho parlato in qualche post precedente). Al momento la vecchia architettura è ancora utilizzata, finché la nuova non sarà completa e testata a dovere.
E' stato fatto un grande refactoring di gran parte delle classi e delle entità che componevano il server, compreso il sistema di networking. L'architettura è ora distribuita: ciò significa che il server può essere composto da varie macchine fisiche.
La nuova architettura prevede anche delle istanze Unity lato server che gestiscono le varie zone del mondo: questo ha aperto la strada a funzionalità come navmesh, pathfinding, physic e AI più sviluppata.
E' stato realizzato il Quest System. Le quest possono essere create componendole con vari QuestTarget che ho appositamente creato. La combinazione di questi QuestTarget può dar vita ad innumerevoli quest e, perché no, può dar vita ad un sistema di creazione di quest da parte dei giocatori (qualcosa come una bacheca dove i giocatori creano la loro quest personalizzata ed altri possono accettarla, giocarla e valutarla).
Sono state realizzate le classi per la gestione degli NPC.
Riorganizzata l'architettura delle classi, aggiunte nuove classi come AIActor.
Ottimizzazioni generali al codice, ottimizzazioni alla Garbage Collection dove non necessaria, spostamento di alcuni calcoli su thread paralleli.
Riorganizzata la classe per la gestione della persistenza: ora è più comoda da utilizzare.

PROPOSALS & PLANNING
Refactoring della chat.
Creazione di un creature-book, dove ogni volta che vedrete una nuova creatura verrà aggiunta la relativa pagina con nome e foto: in questa pagina potrete appuntarvi informazioni su questa creatura, come quel che droppa, debolezze, pericoli che comporta, ecc. Qualcosa di simile agli appunti di un avventuriero. Magari rendere gli appunti commerciabili.
Creare un debugger visuale per le entità lato server.
Ricreare alcune armi di Metin2, come tributo. Pensavamo al set della Luna Piena, che crediamo sia il più caratteristico e il più famoso.
Creazione di un bot per lo stress test del server.
Test di migrazione verso MongoDB.


Credo di aver soddisfatto la curiosità dei più per almeno una settimana! :p
Scherzi a parte, grosso modo dovrebbe esserci tutta la roba più importante fatta, anche se non sono sceso nel dettaglio. Fatemi sapere cosa ne pensate e continuate a commentare!

Ovviamente, non voglio lasciarvi con un enorme wall of text, per cui vi lascio anche qualche screenshot:
13938214_1008851882573726_2173810434593681644_o.jpg

14047257_1008851879240393_8857158047854148348_o.jpg

13958154_1008851855907062_6077860906424822314_o.jpg

13975545_1008851912573723_5279439828612597781_o.jpg

Stay tuned!
Come pensate/pensi di gestire la garbage collection, se parli lato client o server dovrebbe essere già tutto ottimizzato di base o sbaglio?
Migrate a Mongo, quindi prima cosa usavate?
 
Ho appena scoperto ora il progetto e, per quanto ho letto, potrebbe essere interessante (considera che sono cresciuto con Metin), ma un consiglio: potreste prima di far uscire al pubblico una versione (qualsiasi essa sia, sia una possibile Open Beta, sia una versione ufficiale) una specie di Wiki (come quella di Metin2) dove spiegate come sarebbe meglio settare le varie razze, le varie skill, etc?
Ah, se dovesse (non ho ancora letto tutta la discussione) esserci il ninja (o qualche sua variante), per favore, settatelo in modo tale che sia almeno decente nei PvP e nelle risse tra PG;)


Inviata da iPhone tramite app ufficiale di Inforge.net
 
Stato
Discussione chiusa ad ulteriori risposte.