The Adventure Game and Interactive Novel

The Adventure Game and Interactive Novel


  • Tag Archives Unity
  • Genesi, pt. 3

     

    Non molto tempo dopo, Ivan Venturi contattò l'agente letterario di Evangelisti e Mondadori per comprare i diritti per fare un gioco con protagonista Nicolas Eymerich. Imagimotion si unì presto a Koala Games (che sarebbe stata in seguito rinominata TiconBlu), e le due software house si misero in cerca di finanziamenti.

     

    Lo sviluppo cominciò nel 2009. Il gioco avrebbe dovuto essere un classico adventure game per PC, sviluppato in Wintermute. Ma poi la tecnologia si evolse, i team passarono a Unity 3D, e molte cose dovettero essere rifatte da capo (leggete gli approfondimentiquie qui).

     

    Avanti veloce di quattro anni, ed eccoci qui… Tra tre settimane il gioco sarà pubblicato. Il gioco è quasi pronto, il beta testing è nelle sue fasi finali, Adventure’s Planet e Fantasy Magazine si sono uniti al progetto in una media partnership (non dimenticavi il contest!), e tutto va alla grande.

     

    Grazie per essere con noi, e lunga vita a Eymerich!

     


  • Unity, editor e parser testuale

     

    La tecnologia, si sa, evolve in fretta. Cresce come se fosse un eterno adolescente, che ogni giorno diventa più alto, più grande, più forte. E, a volte, cresce così in fretta da costringere gli sviluppatori di un software a ripensare da capo il loro progetto.

     

    La programmazione di Nicolas Eymerich, Inquisitore: La Peste, coordinata da Fabrizio Zagaglia, è stata un lungo processo.

     

    Fabrizio "Zago" Zagaglia - Lead Programmer

     

    Gli sviluppatori hanno dovuto, per forza di cose, fare i conti con l'incursione sul mercato degli smartphones e dei tablet. Inizialmente, primo prototipo era stato sviluppato utilizzando l'engine Wintermute, ma fu abbandonato proprio perché incompatibile con la crescente richiesta di supporto ai device mobile.

     

    Scumbag iPhone

     

    Si è passati quindi a Unity3D che, oltre ad essere crossplatform (PC, Mac, iOS, Android, ora anche Linux, e qualcuno dice che l'ha visto girare pure sul display delle lavatrici), ha consentito l'introduzione del real time 3D, utilizzato in alcuni degli ambienti di gioco.

     

    Unity è un ottimo strumento che sta crescendo molto in termini di utenza, e quindi di community e documentazione, di features… e quindi di soluzioni per ogni possibile bug.

     

    Oltre alla succitata possibilità di sviluppare il gioco per diverse piattaforme, tra i pregi di Unity da una parte vi sono sicuramente gli strumenti visuali che mette a disposizione (ad esempio l'editor delle scene, l'editor delle animazioni eccetera), i quali facilitano non poco il montaggio degli ambienti di gioco, e dall'altra la possibilità di utilizzare un linguaggio solido e versatile come il C# senza particolari limitazioni o vincoli di approccio. Ma probabilmente una delle caratteristiche più apprezzate è la possibilità di crearsi editor mirati alla risoluzione dei singoli aspetti specifici che caratterizzano lo sviluppo di una determinata tipologia di gioco, direttamente integrati nell'ambiente di Unity3D. Per Nicolas Eymerich, Inquisitore: La Peste abbiamo sviluppato diversi editor: per le animazioni e le espressioni dei personaggi, per i dialoghi, per il database di localizzazione, per la logica di gioco...

     

    Editor dei personaggi

    Debugger per la logica di gioco

    Editor della logica di gioco

     

    Con Unity è stato possibile anche implementare un parser testuale, che aggiunge un tocco vintage al titolo. Principalmente si tratta di un omaggio ai vecchi MUD e agli adventure dei tempi andati in stile Sierra On-Line; ma è anche un ulteriore strumento di supporto al tema dell’accessibilità, in quanto la presenza di un parser testuale è un passo necessario per un eventuale controllo vocale.

     

    Ogni elemento dell'avventura, dagli ambienti agli oggetti passando per i personaggi, viene gestito allo stesso modo, ed è caratterizzato tra le altre cose da un identificatore univoco (un nome) e da una serie di azioni ad esso collegate in base al proprio stato. Nel database delle traduzioni sono poi presenti i relativi sinonimi per ogni lingua supportata. Dunque, il parser è in grado di associare i diversi sinonimi ai relativi agli elementi che compongono la scena visualizzata, riconoscendo all'interno della frase digitata il verbo ed il complemento oggetto ed eseguendo infine il comando di conseguenza.

     

    Il video seguente è una dimostrazione di come funzioni il parser testuale.

     

     


  • La grafica di Eymerich

     

    Eymerich nasce da una lunga gestazione che lo vede evolversi da classico adventure game 2D verso soluzioni capaci di permettere maggiore profondità.

     

    Nell'ottica di poter sfruttare il materiale già prodotto dagli artisti e di rispettate il budget si è optato per una soluzione “2D e ¾”. Questa è in grado di offrire, a partire da immagini 2D e semplici volumi 3D, una visuale in grado di alterarsi prospetticamente in maniera corretta aggiungendo alle scene una reale terza dimensione.

     

    Essendo una soluzione non pienamente 3D questo approccio pone delle limitazioni, come le difficoltà nel proiettare ombre in certe situazioni o certe deformazioni da visuali particolari, debitamente evitate in corso di sviluppo. In cambio ci ha però dato la possibilità di avere scene visivamente 3D e nelle quali si possono anche svolgere riprese ravvicinate come durante i dialoghi, la possibilità di avere un sistema di illuminazione corretto con luci real time animate ed ombre, sistemi particellari e quanto altro necessario per rendere vive e suggestive le ambientazioni.

     

    La soluzione 2D e ¾ ha inoltre l'enorme vantaggio di rimanere computazionalmente leggera e quindi adatta ad una moltitudine di macchine differenti e di permettere,. con poco sforzo, di aggiungere effetti avanzati come bagliori, raggi di luce ed altri effetti di post processing, che rendono l'esperienza visivamente ancora più gratificante e suggestiva su macchine di alto profilo come PC e Mac.

     

    Il level design del gioco, curato da Ulisse Cammino, ha richiesto diverse fasi e lo sviluppo di strumenti software adeguati per passare dalle immagini 2D e semplici modelli all'ambiente visibile in game.

     

    Ulisse Cammino - Level editor & Programmer

     

    Inizialmente le scene di riferimento, costituite da un'illustrazione (Img01) e dai modelli usati come riferimento per le inquadrature (Img02), vengono importati in Unity3D, replicando esattamente l'inquadratura dalla quale è ripresa la scena illustrata.

     

    Img01

    Img02

     

    Tramite un software da noi sviluppato viene effettuato un retopology su queste informazioni, creando così un singolo modello ottimizzato della scena a partire da oggetti multipli ed al quale vengono aggiunti oggetti 3D con maggior dettaglio lì dove necessario (Img03) (per esempio delle sedie o una scrivania) (Img03) (per esempio delle sedie o una scrivania). Questo è di fatto il processo fondamentale tramite cui l'illustrazione dell'ambientazione viene trasformata in un volume realmente 3D che può poi essere ulteriormente lavorato per venire poi navigato nel gioco.

     

    Img03

     

    Alla scena così preparata vengono quindi aggiunti tutti quegli elementi in grado di renderla viva , come le luci, i suoni d'ambiente, i sistemi di particelle per fuoco e fumo (Img05) e tutti gli effetti necessari, , (Img04), eventualmente scrivendo codice per effetti particolari come il tremolio delle luci, cercando di renderlo riutilizzabile in molte altre situazioni. L'ambiente così preparato è quindi quasi pronto a essere inserito nel gioco. .

     

    Img04

    Img05

     

    L'ultimo passo, quello più importante per l'esperienza finale, consiste nell'inserire in scena gli attori, siano questi personaggi o oggetti, e renderli animati ed interattivi tramite l'uso di script che fondamentalmente ne definiscono le possibili interazioni, in base al momento della storia (Img06).

     

    Img06




©2017 Nicolas Eymerich, Inquisitore Entries (RSS) e Comments (RSS)  Raindrops Theme