Ecco il protagonista del videogioco che PlaySys sta realizzando per piattaforme Microsoft XBox360, XP, Vista e Seven…vi presento Mike Dreamer!!!
Let me introduce Mike Dreamer, the main character of the videogame that PlaySys is developimg for Microsoft platforms like Xbox360, XP, Vista and Seven
Prossimamente saranno disponibili nuovi screen, raffiguranti Mike in azione (e interazione con i vari personaggi del mondo di gioco)
Per prima cosa abbiamo ripreso in mano il core, scrivendo nuove classi ed ampliando quelle già esistenti. Timoty Weis, il nuovo responsabile della programmazione “core” ha riorganizzato la struttura del codice, aumentando sensibilmente l’ordine, la pulizia delle esecuzioni e di conseguenza il frame rate.
As first thing we rewrote about 80% of the old code, writing new classes, adding functionalities to the one yet existing and adopting a clear OO style. Timoty Weis, the new guy working on code, did this dirt job. He ensured us a quicker framerate.
Abbiamo rifattorizzato completamente il codice, rinominando le classi, gli oggetti e gli asset con nomi comprensibili, ristrutturando tutta la disposizione dei file e delle cartelle.
We fully refactored the code, renaming classes, objects and assets with intuitive and coherent names, restructuring all the file dislocations inside correct folders.
Timoty ha realizzato un tipo di file proprietario denominato TDX, contenente tutte le informazioni per il salvataggio dei progressi di gioco, in particolare per quanto riguarda la struttura narrativa. Sono stati creati monitor per tutti gli elementi presenti in scena e nuove caratteristiche per il movimento della camera (punto di vista del giocatore).
Timoty realized a custom data file called TDX, containing all the informations about save game, this is expecially for the narrative structure and our PlayExtreme* game extension. We created monitors for all the elements drawn in scene and new movement specifics for the camera movement.
*more information about this feature will be available in future
Abbiamo realizzato i primi cinematics, ovvero sequenze animate ingame, comunemente denominate machinima con movimenti di macchina su tracciato, personaggi animati, dialoghi e baloon. Siamo inoltre riusciti ad inserire il font realizzato per il gioco ed un sistema di visualizzazione dei dialoghi tipo macchina da scrivere.
Firsts cinematics took life! machinima animations works fine in our realtime environment. We inserted our custom font, and a letter-spawn system in type writer style (the same used in Capcom’s Okami)
Visualizzare una stringa del tipo “CIAO” è semplice, ma componendola pezzo per pezzo è più complicato, occorre una “C” alla quale viene aggiunta una “I” e poi al blocco una “A” ed infine al nuovo blocco una “O”. Il vero problema è stata la formattazione del testo, ossia la variazione di colore e dimensione di alcune parole. Infatti la presenza di descrizioni prima e dopo la parola da formattare, venivano lette dall’engine come caratteri e venivano stampati. Un esempio è “Hai visto che Bella giornata?”…anche questo bug è comunque stato risolto con successo.
Marco Furlanetto ha realizzato nuovi modelli, allestendo un livello intero. Chiara Benetti si è occupata come sempre dei concept ambientali, mentre Mike Bacchin si è lanciato sulla realizzazione di concept di personaggi. Le parole chiave sono comico e triste e devo dire che le stiamo tutti rispettando alla grande.
Marco Furlanetto realized new models, creating a new additional level. Chiara Benetti, as always, worked on environment/ambient concepts while Mike Bacchin continues drawing funny/sad characters…this is the mood! Theese guys are really great, Marco stops only when software crashes, Chiara when se finishes Pantone and Mike when feel asleep 😉
Alexey Egorov ha partecipato alla realizzazione del codice del player, in particolare si è occupato delle collisioni con l’ambiente e la gestione delle animazioni e matrici di rotazione. Già Timoty aveva messo mano a questa sezione del codice, ma dovendo sistemare le interazioni con i trigger, l’aiuto di Alexey è stato essenziale.
Alexey Egorov is another key figure in this development phase, he gave us a great help on the new character system. Timoty did this before, but having a new character system to work with, is an hard work.
Denis Shergin e Alexander Zaprjagaev continuano nel frattempo il perfezionamento delle funzionalità dell’editor. Sono state effettuate migliorie pesanti nella gestione dei particellari e di alcuni shader. grazie al loro team di programmatori hanno anche inserito delle nuove sorgenti luminose, in grado di influire meno sulla computazione del processore. Il team ha inoltre realizzato un nuovo tipo di character, basato sulla gestione dei bone da parte dell’engine. Ora non è più necessario esportare tutte le animazioni complete, ma possiamo comporle noi, assemblando i vari file a runtime da codice. Un personaggio che corre e spara, ad esempio, non necessita più di due animazioni (corsa normale+ corsa e sparo), bensì di una animazione per le gameb (corsa) ed una per le braccia (sparo). In questo modo, possiamo mixare le varie animazioni (ad es. salto + sparo, corsa + saluto, ecc).
Denis Shergin and Alexander Zaprjagaev contiunes working on editor and engine features. With the big programmers team behind them, they did heavy improvements on the engine, regarding all the aspects. they added new light emitters, new character system, particles and shaders optimizations, and so on. A new thing they worked on the last month was a flexible bone system that permits us to access direclty on bone structure, moving single pieces of the skinned mesh.
Per concludere, Lia Casati e Lorenzo Gestri si sono uniti al gruppo di sviluppo. Lia si occupa del rig e skinning dei vari personaggi ed elementi animati, mentre Lorenzo modella i nuovi personaggi, facendo in modo che Mike possa rimanere concentrato sui concept.
Concluding, I want to introduce Lia Casati and Lorenzo Gestri as new team members. Lia works on character skinning and rigging while Lorenzo is modeling the new characters. Theyr help permits Mike to spend more time on characters concept = better and more funny characters to interact with
infine sono state effettuate moltissime altre migliorie, che abbiamo salvato all’interno del nostro log riportato di seguito.
As last but not least thing, here is the full list of the improvement and bug fixes we did. ==================================================== ==================================================== ===== 0.5.2 ===== 28/April/2009 – roots in level_02 – new portals in various levels – portals sounds – fadeIN and fadeOUT methods – refactored sound names – fixed startupscreen – new triggers in level_00 for interactive cinematics – main character on the way – rewritten TD_player class – new sounds in level_02 – signals in level_02 – fading before/after cinematics, loadings and dialogs – new splash screens
===== 0.5.1 ===== 23/April/2009 – level_00: – new portal – added trasformers to lights – inserted music – founded camera’s scale bug – fixed collisions – inserted a new dynamic DOF – substututed double .smesh with a single one – added graphic portals to levels 01 and 02 – fixed player starting position in level_02
===== 0.5.0 ===== 21/April/2009 – new character system – fixed camera collisions – added a new way to exclude mouse pointer – fixed normal map scale in water shader – fixed controller – new custom controls system – removed linux executable from bin folder – new camera movements and position during chat
===== 0.4.9 ===== 17/April/2009 – improved .tdx files – new engine version 20090416 – changed trigger’s properties
===== 0.4.8 ===== 09/April/2009 – new folders path for source and code – material folder in GameData – level_00 almost complete – textures compressed for level_00 – new level_start + compressed textures – improved .tdx files and save structure – new monitors (actually every interactive object has one of them) – lot of new comments in sources – new TD_launcher.exe with fixed output path – Running Character: Added possibility to make the character run according to the left trigger pressure – Dof Parameter: Adjusted dof parameters that make a nicer camera effect while dialoging. – Credits: Added text formatting and improved performances via a unique WidgetLabel object (not more 18) in the game_credits.h – Added a game_credits.ui in order to archieve text formatting – Refactoring of folder structure: Little change in the src/io and src/levels folder. In io now we have a characters folder to keep all characters definitions for the various levels and player folder to keep the *.tdx of the player. Instead in levels now we have a separate folder for each level to improve order and understability (also encapsulation, see level_01) – Added src/levels/cinematics, GameData/meshes/cinematics and GameData/textures/cinematics. Theese folders will contain data for in game machinima animations.
===== 0.4.7 ===== 03/April/2009 – engine version update to 20090401 (problems with shaders and positions, we’re back to 20090305) – new i/o system in .tdx files – fixed DOF values during chat – new assets for level_00 – skippable camera animation with “A” button – start menu funcionalities (start new game / resume) – data storage (level, player and npcs informations can be saved and loaded) – monitoring system for player, npcs and level – inserted some controller vibrations – new links between levels 01, 02 and 03 – Level’s triggers have been renamed (Trigger_FromTo)
===== 0.4.6 ===== 30/March/2009 – DOF enabled during chat – letterbox effect during chat – fixed UV in level_03 – new elements for level_03 and level_00 – changed “Camera” node in “TD_Camera” – reset of all the animations at game’s startup – new icon for Main executable – new folder structure – changed camera path’s extension .txt -> .cam – some minor improvement to characters (code and assets) – changed main.cpp and main.world path – code Backups are in “core” folder – launcher 1.1, now sound_app can be disabled and path is fixed – added video splash screen, skippable with F1 – new i/o system
===== 0.4.5 ===== 23/March/2009 – level_03 is on the way – village’s gate opens when player is near – linked level_01 to level_02 – fixed level_02’s collision mesh – camera can move when characters are talking (to be improved) – village.mat is now livello_01.mat
===== 0.4.4 ===== 20/March/2009 – fixed the camera movement ranged – introduced a new dialog_status_monitor system – improved baloon’s appearence – first “quest” test – fixed sizes of some triggers – new trigger behind the tunnel entrance – new trigger pointing to Level_02 (Tunnel) – added camera’s progressive fov animation – camera’s target is placed on the ballons during chat – level_02 is on the way – fixed gravity value – lot of new classes for player, npcs and general things – founded a new bug with lightmaps, value must be 1.001
===== 0.4.3 ===== 10/March/2009 – added a “level change” functionality. – coded new classes for npcs and global things. – created a new “levels” folder in “commons” containings the levels .cpp and .world files. – created a new “materials” folder in “commons” containing all the .mat files. – fixed all path in various files and #inclusions. – removed the editor_quit from the .bat, now the game’ll starts with the last configuration. – fixed some unused materials. – romoved “Livello_02” folder, now the tunnel’s chunck is a .mesh in “Livello_01”. The same was done with the 2 textures. – the game now runs in debug mode. – removed useless Detail Textures from some materials and fixed lot of materials ==================================================== ====================================================
Abbiamo realizzato un’interfaccia che rende più piacevoli i vari test del prodotto. La console di windows era più cool, ma abbiamo preferito creare un minimo di interfaccia grafica per le presentazioni. Ovviamente questa funzionalità verrà disattivata, una volta che il prodotto sarà terminato, completo e funzionante. Ci sono ancora moltissime cose da sistemare e che ancora non vanno, ma è già un buon inizio…molte volte i nostri progetti si fermano all’idea su carta purtroppo…questo sembra non essere uno di quei progetti fino ad ora. Seguono alcune immagini.
In this post I talk about a project about an anti-piracy technology we are developing. At the moment we are experimenting it and is earlyer to talk about
A questo punto dobbiamo realizzare il server web che riceve la richiesta e trasmette il codice, mentre il controller della licenza, in locale, si prepara a trascriverlo. Parte dell’interfaccia è pronta nella parte bassa del software, ma ancora non funziona. La seconda chiave software arriverà invece tramite mail al cliente.
Questa settimana inizia lo sviluppo di un nuovo strumento anti pirateria, basato su chiave hardware USB esterna e, in alternativa, uno basato su chiave software/hardware. Ovviamente quello basato su chiavetta USB sarà più difficile da forzare, ma avrà un costo maggiore a causa della necessità di essere distribuito tramite posta tradizionale. Entrambi i sistemi necessiteranno di una connessione a internet per l’installazione ed attivazione mentre il loro punto di forza, oltre alla difficoltà di forzatura, sarà il prezzo. Il sistema inoltre prevede una licenza di vendita molto particolare, che dovrebbe tenere lontani gli occhi di cracker ed hacker. Questo sistema sarà impiegato inizialmente nella distribuzione dei software PlaySys, inclusi i videogame per sistemi Windows. Lo sviluppo avverà su sistemi Windows e sarà molto apprezzata la collaborazione di esperti di reverse engineering.
Per tutti quelli che si domandano come funziona lo sviluppo di un videogioco, ho deciso di pubblicare un paper semplicissimo che riguarda la “nascita” di una classe per un npc. Queste cose sono segretissime e sono il vero e proprio cuore di un videogioco, infatti, determinano le possibilità di interazione con un elemento (in questo caso npc). Partiamo sempre da una lista di necessità, cercando di metterci nei panni del personaggio inserito nell’ambiente. Ci chiediamo “cosa potrà fare?”, “come si muoverà?”, “che cosa potrà bloccarlo?” e 1000 altre domande.
Finalmente uno stralcio di paper in lingua italiana, dedicato a tutti quegli sviluppatori imbarazzati di appartenere al fanalino di coda dell’industria videoludica. Ovviamente non è presente il codice, bensì i primi step che affrontiamo quotidianamente…il linguaggio in questa fase è “umano” e non è necessario essere dei cervelloni!
PS: prima che mi vengano fatte osservazioni del tipo “[…]in italia ci sono molte realtà di sviluppo di videogiochi[…]”, cosa successa di recente con una azienda di sviluppo, voglio sottolineare che mi sto riferendo a prodotti destinati a console next-gen. Quì a PlaySys stiamo sviluppando per XBox360 e sistemi Windows Vista, Seven e XP (da DirectX 9.0 in poi). Se mi rispondete che state sviluppando videogame con Flash e fatturate milioni di euro l’anno, ricordate che vi state riferendo ad un mercato differente (dallo sviluppo alla tipologia di entrate).
PLAYSYS NPCclass
l’npc deve avere degli stati che ne derminano l’animazione ed i dialoghi.
L’npc nonna ad esempio può avere lo stato “rilassato” e la sua animazione sarà quella di una passeggiata predefinita, oppure con lo stato “aiuto” sarà ferma e oscillerà il braccio per richiamare l’attenzione. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
L’npc dovrà aver collegato sempre un trigger ed un emettitore sonoro ad area.
L’npc nonna esegue le proprie animazioni in base allo stato, ma quando ci si avvicina le animazioni vengono sostituite da una animazione idle (respiro) e l’npc ruoterà su se stesso per guardare il giocatore. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
L’npc ha un bounding box per le collisioni ed un baloon invisibile.
Entrambi sono di default invisibili, ma quando si comincia la conversazione il baloon diventa visibile e viene applicata una texture uguale al dialogo corrente. I dialoghi saranno alla Zelda, ossia non sarà presente un doppiaggio ma solo dei rumori (sbuffi, sbadigli, ringhi ecc) e parlerà SEMPRE e SOLO l’npc. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Quando si entra nell’area del trigger appare una GUI.
Questa GUI serve per indicare al giocatore di premere il tasto A per iniziare il dialogo. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I controlli si svincolano dal player durante i dialoghi.
Durante un dialogo (entrata trigger + pressione A) i controlli si disabilitano, ad eccezione del tasto A per proseguire e del tasto B per uscire dal dialogo. La camera effettua anche una variazione della focale, in questo modo è più vicina ai personaggi ma non è necessario spostarla (per poi riposizionarla alla fine del dialogo). ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Premendo il tasto A durante un dialogo il dialogo prosegue
dialogo_nonna ++ baloon.mostra texture numero (dialogo_nonna); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Premendo il tasto B durante un dialogo si esce ed il dialogo viene riposizionato al numero corretto per un successivo inizio
baloon.mostra texture numero (dialogo_nonna_fine); if dialogo > x dialogo = dialogo_ripristina per prossima volta; end if
Alcuni concept realizzati di recente e riguardanti nuove ambientazioni esterne dell’area di gioco, in questi paesaggi saranno ambientate le animazioni introduttive del gioco.
Some new concept arts, realized by our concept artist Mike (in the last image). Theese concepts illustrates how the area outside the palace is. We’ll probably use some of theese for the cinematics.
Quelle che seguono sono due ambientazioni interne, la prima riguarda l’hangar sotterraneo, raggiungibile tramite l’ascensore di carico principale. L’hangar si estende sotto la serra per cui si verificano allagamenti in alcune celle e la vegetazione riesce a penetrare. La luce è parzialmente artificiale, infatti a questa profondità penetra solo una piccola quantità di luce naturale, grazie ad un complesso sistema di specchi. Il giocatore dovrà attivare questo sistema prima di poter procedere nel gioco. La seconda immagine riguarda un ambiente ostile, luogo di riproduzione di alcuni esseri a 6 zampe. Si tratta di alcuni nemici semi organici che si potranno trovare nelle prime fasi di esplorazione.
The following pictures illustrates two new internal areas. The first is the hangar reachable using the main elevator, near the greenhouse. This place is a wet area illuminated with artificial light and a little bit of natural light, thanks to a mechanical system of mirrors. The player has to activate this system before proceding in this area. The second image is the habitat of some semi-organical enemyes. In the firsts explorations the player will have to combat against theese 6 -legs creatures.
L’essere a 6 zampe presenta un mix di rivestimenti meccanici ed escrescenze carnose, spesso ricoperte da peluria. Il sistema per l’ottenimento di questi filamenti pelosi è simile a quello utilizzato in “Shadow Of The Colossus”.
The 6 legged creature is a mix of mechanical shells and meat pieces, sometime covered by fur. We’ll use the fur system used in “Shadow Of The Colossus”. This creature has a biological brain and not a digital one; this is an important aspect for IA system, in fact the intelligence and patience vary considerably.
– IMPORTANTE – Stiamo sviluppando due differenti sistemi di Intelligenza Artificiale [AI] denominati “PlaySys – biobrain_AI” e “PlaySys_digibrain_AI”. Le differenze sono considerevoli, infatti il primo sistema è soggetto a paura, rimorso, rancore, dolore e principalmente tende a processare molte informazioni per volta, concatenandole e generando risultati spesso differenti tra loro. Il secondo sistema è inerte alle emozioni, valuta sempre il proprio stato strutturale, ed è estremamente devoto e patriottico. Il processo di informazioni avviene molto velocemente, ma vengono elaborate una per volta ed i risultati sono molto simili tra loro.
“La gente ritiene che le macchine sono stupide, noi stiamo lavorando su sistemi di AI che provano il contrario” 😉
– IMPORTANT – The “PlaySys – biobrain_AI” have little patience, feel pain, can be scared, have not so much memory and process lot of informations together always in different way. The “PlaySys – digibrain_AI” is very patient, doesn’t feel pain but thinks always about damage percentage, have a mission and doesn’t feel fear, is always honest and patriotic, process one and only one information at time (but very quickly!) and the results are always the same.
“People says that “machine is stupid”, here at PlaySys we are working on AI system to prove the contrary” 😉
L’ultima immagine, non per questo meno importante…anzi! è la foto del nostro concept artist, Mike Bacchin, la mente e la mano dietro a tutti i concept che avete visto e vedrete in KNOSS Sulla sinistra è visibile il programmatore principale, Andrea Benedetti…sempre all’opera 🙂
Last but not least is the photo of our main concept designer, Mike Bacchin, he’s the hand and the head behind theese concepts. On the left is visible our lead programmer, Andrea Benedetti…he’s always working hard!
Dopo aver messo un post su devmaster.net ho ricevuto il contatto di diverse persone, tra le quali un francese, Cedric Guillemet, che lavorava come sviluppatore per Sony PlayStation2 e con alle spalle un titolo commerciale. Cedric mi propose di provare a sviluppare “The Dreamer” con il suo engine proprietario, basato su DirectX 9.0c, con un sacco di possibilità e soprattutto con un plugin di connessione per 3dsMax.
After posting a message on devmaster.net I received a message from Cedric Guillemet, Sony Playstation2’s developer, with a commercial title as background. Cedric suggested me to develop “The Dreamer” with his proprietary engine, based on DirectX 9.0c, and with lot of features, expecially a plugin for 3dsMax.
Iniziarono i primi test di esportazione ed importazione, le texture, l’alpha test, il render sul retro delle normali, il sorting, i sistemi particellari, i controlli, le animazioni con rig, e le GUI. Incredibile ma vero, tutto funzionava alla perfezione, ogni giorno io e Cedric ci incontravamo in chat e discutevamo su nuove funzionalità da integrare, nuovi strumenti ecc. Imparai per l’occasione un po’ di LUA, un linguaggio assai noto oggigiorno, ma abbastanza sconosciuto a quel tempo (se non sbaglio ha avuto un boom clamoroso in seguito a World of Warcraft). I giorni passavano, ed il progetto diventava sempre più particolareggiato, gli ambienti sempre più dettagliati e ricchi di vita.
We started with some tests, we tryed everything: exporters, importers, textures, alpha test, backface rendering, poligon sorting, particle systems, controls, rigged characters animations, sounds and GUIs. Incredible but true, everything was working really fine, and every day me and Cedric were meeting online (he’s French) to discuss and implement new features and new tools in the engine. For this project I learnt a little piece of LUA, a scripting language really common today, but unknown at the period (I’m not sure about, but I think it become really popular after World of Warcraft).
Cedric mi propose di testare il modulo della rete, così iniziammo a discutere sull’effettivo utilizzo e sviluppo di quello strumento. A questo punto del progetto, parteciparono alcune figure professionali allo sviluppo: Andrea Benedetti e Caterina Ferrante. Andrea, studente di ingegneria informatica presso l’università di Verona, metteva a disposizione del team ogni giorno 2 o 3 ore del suo tempo, ed ovviamente operava come programmatore. Caterina, studentessa di scenografia, presso l’università di Venezia, mi affiancava nella realizzazione di bozzetti per gli oggetti dell’ambiente. Si stava così formando, poco alla volta, il primo team di “The Dreamers”!
Cedric suggested me to test his new network module, so we started discussing the effective usage of that. He is an amazing coder, he planned the entire architecture of the Scene Graph and the Network stuffs. At this point, the project enlarged with 2 new members: Andrea Benedetti and Caterina Ferrante. Andrea joined as programmer and offered us 2 o 3 hours of his daily spare time, while Caterina helped me for concept design. The first team behind “The Dreamer” was born! and we all were working online: Cedric form Nantes (France), me from Milan, Andrea from Verona and Caterina from Venice (Italy)
Iniziai a credere sempre più nel progetto, mentre mi sentivo molto limitato dall’utilizzo di UnrealEngine2…non per la sua potenza (eccezionale ed indiscutibile), ma perchè non possedevo l’engine vero e proprio. Utilizzavo una versione dell’editor presente in UnrealTournament e Unreal2 che mi limitava nella flessibilità e anche da un punto di vista legale impediva la distribuzione del prodotto, se avesse avuto successo. Siccome conoscevo molti altri engine, decisi di ripiegare su di essi. Per prima cosa scartai quelli che non disponevano delle caratteristiche di mio interesse; quelli che avevano poca compatibilità con 3dsMax e che obbligavano ad effettuare innumerevoli conversioni degli assets 3D; quelli troppo costosi o limitativi dalle clausule open source.
The project was cool, and envolved me always more, but I was feeling very limited using UnrealEngine2 (not because of it’s amazing and indiscutible power) but because I didn’t had the source of the engine. I was using the version of the editor of Unreal Tournament and Unreal2 that limited me in flexibility and under certain legal aspects about the game distribution if it shoulded have success. Because I knew lot of other engines I tryed them. First, i decided not to use the ones without interesting features, then the ones with limited compatibility with 3dsMax (you know, lot of passage and 3D formats change), I avoided engine that costs too much and the one too much limitative about open source license.
Provai un engine che era alle prime fasi di sviluppo in quell’anno, si chiamava Kaneva, successivamente divenuto una piattaforma MMOG e dal pessimo supporto, provai un engine italiano, l’S2, molto interessante dal punto di vista grafico, ma macchinoso e limitato, testai a fondo le varie versione di Torque Game Engine, TGE e TGEA e mi accorsi della grande potenza per gli esterni e le difficoltà a gestire ambienti interni (il tutto aggiunto ad un pessimo supporto, mascherato dietro a quella che appare essere una community amichevole). Provai il poco indicato RealmCrafter, idTech3-4, Ogre, Crystal Space e innumerevoli altri… Il risultato era una confusione infinita di limitazioni, vantaggi e svantaggi…capii che se avessi voluto ottenere qualche cosa avrei dovuto seguire 2 strade: la prima era quella di acquistare un Engine commerciale, lo stesso UE2 sarebbe andato bene, ma non disponevo certo dei fondi di una software house. La seconda ipotesi era quella di sviluppare un mio engine proprietario, che avrei potuto anche vendere una volta terminato il progetto.
The first I tryed was a new engine, under first stage of development, it was called Kaneva, but successively became a MMOG platform with a very bad support team. The second was an italian engine called S2, very interesting under graphic aspect, but nothing more, in my opinion. I tested deepely the various versions of Torque Game Engine, TGE and TGEA and it was very powerfull in the exterioirs scene, and completely useless in interiors (and a really bad support, that time there wasn’t a manual or a guide or a wiki, everithing was around a massive forum. Before starting selling, I suggest to write at least a list of classes for users, btw…). I tryed the unindicated RealmCrafter, Blitz3D, DarkBasic, idTech3-4, Ogre, Crystal Space and lot more (loosing lot of time, moneys and patience). The result was a real mess, a mixture of limitations and vantages and in that moment i learned that I had only 2 ways: First was the possibility to buy a commercial engine like UnrealEngine, but I didn’t had so many moneys (or people that trusted in my ideas, I was only the young boy with a videogame dream). The second way was the fact of starting coding the engine from scratch and maybe sell it after finishing the project (eheh maybe in 200 years).
Iniziamo dai primi step della realizzazione di “The Dreamer” Il progetto era nato casualmente, come test di UnrealEngine2. Volevo testare le mie capacità di modder e realizzare uno sparatutto diverso dai soliti. Non volevo mostri, zombie, astronavi, bensì volevo pupazzetti buffi, ambienti cartoon e fondamentalmente, uno stile comico/triste. Iniziai a fare un po’ di concept, era il 2005 e le cose erano assai diverse e non avrei immaginato che il progetto avesse preso uno slancio così forte. Realizzai alcuni modelli in 3dsMax 7 (software che uso dalla versione 2.5) e, tramite il formato .ASE, li importai in UnrealEngine2. Approfondii tutto il discorso del texturing e delle collisioni; avevo già una buona esperienza perchè da diversi anni studiavo le varie tecniche facendo pratica con diversi engine. Sulle mie mensole, sui tavoli e nei cassetti si trovavano migliaia di pagine di tutorial di 3dsMax, UnrealEngine, C++, Python, Problem Solving, Trigonometria, software vari, paper di convegni di ATI, nVidia e Matrox, compressori di texture, video, musica, streaming, networking, IA, DOOMED, Radiant, Valve Source, Torque, engine vari open source prelevati da SourceForge.com…insomma c’era di tutto!
The project was born in the 2005, when I decided to realize a particular mod with UnrealEngine2. I wanted something special, without monsters, spaceships, zombies; I was looking for a specific mood, a mixture of fun and sad sensations. I realized some very simple models with 3dsMax 7 (I was using it since version 2.5) and, exporting as .ASE i imported everything in UnrealEngine2. Things started to take life, I expanded collisions and textures for the scene. I had a deep knowledge because in free time, I studied everything about the game development techniques and did some practice with lot of different engines. Over my shelves, on my tables and all around me there were many tutorials regarding 3dsMax, UnrealEngine, C++, Python, Problem Solving, Trigonometry, various 3D packages, paper of ATI, nVidia e Matrox meetings and researchs, texture comressions systems, streaming, networking, AI, DOOMED, Radiant, Valve Source, Torque, and various open source engines, taken from SourceForge.com or buyed….there was everything there inside!
Iniziai a stendere una bozza della storia, di ciò che il giocatore avrebbe dovuto fare, le meccaniche di gioco ecc..questi dati, mesi dopo, sono stati riuniti in un solido documento di Game Design.
I started writing a story too, what the player had to do, game’s mechanics and so on..theese datas, after some months, were stucked together in a solid Game Design document.
I miei studi passati mi hanno lasciato una evidente impronta tecnica che mi ha aiutato parecchio a gestire il progetto: ero in grado di identificare ciò che volevo mantenendo vivi in mente i limiti tecnici…l’unico svantaggio è che sono un pessimo disegnatore a mano libera 😀
The studies path I walked on in past gave me an evident technical mind, that helped me a lot: I was able to identify what I wanted, keeping in mind the technical limits of that years…the only disadvantage is that I’m a really bad sketcher 😀