Ciò di cui hai bisogno per creare un gioco sul tuo computer. Scegliere un programma per creare un gioco

Ogni anno aumenta il numero di persone che giocano ai giochi per computer o per cellulare. Le persone li chiamano giocatori che non riescono a immaginare la propria vita senza giocattoli. Molti li considerano malati che necessitano di essere curati. Ma allo stesso tempo, ci sono persone che hanno imparato a guadagnare dai giocatori creando nuovi giochi. In questo caso, molti giocatori pensano di creare un gioco da soli.


Oggi, creare giochi richiede meno tempo e fatica rispetto a 5-10 anni fa. A questo scopo sono stati sviluppati vari programmi per la modellazione della grafica tridimensionale e motori per la creazione di giochi. Devi solo essere paziente.

Se vuoi creare il tuo gioco, devi avere una certa esperienza di gioco. Se l'utente gioca molto raramente, sarà piuttosto difficile realizzare un prodotto di alta qualità. Per creare il gioco giusto, devi seguire la logica del gioco ed essere consapevole di tutti gli aspetti del mondo di gioco.

Per realizzare un gioco sufficientemente buono, devi immaginare il gameplay e trovare nuove idee. Se crei un gioco unico, sarà più facile trovare giocatori. Vale la pena ricordare che per creare un gioco è necessario avere determinate conoscenze in quest'area. Devi imparare i linguaggi di programmazione e imparare a usare gli editor tridimensionali. Per fare ciò, puoi trovare molti articoli e programmi diversi su Internet.

Creazione del gioco

Inizialmente, devi scegliere il genere in cui verrà creato il gioco. L'idea principale è una componente importante di ogni gioco. I giochi più comuni sono basati sul genere degli sparatutto in prima persona. Anche le corse sono molto popolari. Per scoprire la popolarità di un particolare gioco, basta contarne il numero in una determinata categoria.

I giochi d'azione e sparatutto sono giochi sparatutto in cui devi uccidere tutti i nemici. Particolarmente apprezzati sono anche i giochi di strategia e RTS. Inoltre, esiste ancora un numero enorme di generi che hanno anche diritto alla vita.

Dopo aver scelto un genere, devi iniziare a creare una sceneggiatura. Questo è un componente molto importante quando si crea un gioco. La sceneggiatura deve avere un inizio, un personaggio principale, nemici o rivali e una fine. Vale anche la pena lavorare sull'interfaccia e sulla grafica del gioco.

Se un principiante inizia a creare un gioco, sarà un processo piuttosto difficile per lui, poiché richiede un motore che un utente inesperto non può realizzare. Per fare ciò, dovresti utilizzare un game designer speciale. Puoi provare a imparare i linguaggi di programmazione e scrivere tu stesso un motore o utilizzarne uno già pronto.

Si consiglia ai principianti di utilizzare i costruttori. Questo è un programma speciale che ha la struttura di un gioco futuro. È necessario posizionare elementi e oggetti e abilitare gli script. Tali progettisti ampliano costantemente il numero delle loro funzioni, mentre il prezzo del programma aumenta. Se non vuoi spendere soldi per un costruttore di giochi, puoi utilizzare utilità gratuite.

Se utilizzi motori di gioco, devi avere alcune conoscenze di programmazione. Poiché il motore è una raccolta di funzioni e oggetti, lo sviluppatore non ha bisogno di creare alcuna azione. Tutto ciò di cui hai bisogno è già nel motore. Dovrai utilizzare editor speciali per creare grafici e collegarli agli script.

Creare il tuo gioco è un processo molto complesso e lungo. Non è consigliabile che un utente inesperto se ne occupi, ma se hai soldi extra, puoi ordinare il gioco da studi specializzati. In questo caso, i programmatori terranno conto di tutti i desideri.

Questa guida spiega nel dettaglio come creare un gioco: sviluppare un'idea, scegliere gli strumenti e organizzare il processo di sviluppo in modo che scorra facilmente e porti a risultati.

Ciao ragazzi. In questo articolo sarò completamente onesto con te e ti dirò come creare un gioco da solo. Ti avverto in anticipo che realizzare un videogioco è difficile e richiede molto tempo. E se il tuo obiettivo non è un altro clone di Snake, Tetris o qualsiasi altro gioco del tutorial passo passo, dovrai impegnarti molto.

Troppe persone, provando a realizzare il loro primo gioco, si tuffano a capofitto nel motore e abbandonano l’idea perché “troppo difficile”, “sono stanco”, “non vedo alcun progresso”. In realtà si tratta solo di un insieme di stupide scuse che compaiono a causa dello “scopo fuori luogo”, ovvero la voglia di realizzare subito giochi di grosso calibro, come The Witcher o Final Fantasy.

Si tratta di progetti su cui interi team di specialisti, team di centinaia di persone, lavorano da diversi anni, quindi anche se lo desideri davvero e passi tutta la vita, non sarai in grado di realizzare un prodotto così su larga scala.

La tua prima partita è un allenamento, una bozza, ma non un capolavoro. Anche creare un livello del più semplice gioco di pixel può essere un compito arduo all'inizio e, se scegli qualcosa di enorme, semplicemente non avrai idea da dove iniziare, quindi passerai molto tempo su dettagli che non lo fanno. non importa affatto.

L'obiettivo principale è creare un prodotto con cui puoi giocare da solo. Non mi interessa se è un platform lineare a due colori e richiede 7 minuti per essere completato. Ce l'hai fatta, non ti sei perso d'animo, non hai deciso di mollare tutto, il che già ti rende migliore, non sei uno di quelli che si è disperato e si è arreso!

Regalatelo a tua madre, a tuo fratello, ai tuoi amici o a chiunque altro per giocarci. Criticeranno, perché sono abituati a vedere i giochi come progetti enormi. Non prestare attenzione, perché, in primo luogo: hai creato tu stesso il tuo primo gioco, in secondo luogo: la prossima volta lo farai più veloce e migliore, e in terzo luogo, presto raggiungerai il livello di abilità che tutti ti chiederanno di lasciarli giocare.

Il tuo gioco dovrebbe riflettere le tue abilità. Tutto deve essere fatto in sequenza: appare un'idea - controlli la possibilità della sua attuazione - se non c'è possibilità, prova ad imparare - avendo acquisito l'abilità, implementi l'idea. E questo va fatto ogni volta. Nel corso del tempo, dai un'occhiata all'Asset Store, forse lì c'è già un frammento su cui sei curvo da diversi giorni.

Infine, una piccola parola d'addio: molto probabilmente, stai cercando di svilupparti mentre studi o lavori. A volte passeranno settimane prima che tu possa trovare il tempo, ma se vuoi davvero avere successo in questo campo, trova quelle ore e aumenta il numero di competenze che possiedi. Ricorda, tutti possono arrendersi, ma non tutti possono raggiungere la fine.

Oggi Internet è pieno di vari tutorial, video di formazione e software gratuito. Tutto ciò consente a chiunque abbia molto tempo libero e un'idea di creare il proprio gioco per computer. Tuttavia, è anche necessario avere una chiara comprensione del processo stesso e della sua sequenza.

Che gioco dovrei fare?

Molto probabilmente, una persona interessata a "Come creare un gioco da solo?" Ho già un'idea. Molto spesso si tratta di una sorta di modifica di uno dei giochi a cui ha giocato. Forse al tuo gioco preferito manca qualcosa e hai deciso di aggiungerlo (pensa se il tuo gioco ha funzionalità di modding: un editor integrato o uno strumento MOD).

Ad esempio, il genere dei giochi MOBA è stato creato nell'editor di WarCraft 3 (l'ormai popolare Dota è apparso proprio grazie alle ampie capacità dell'editor).

In ogni caso il punto di partenza sarà l’idea. È da qui che dovresti iniziare.

Idea

Ma nel caso ti stia chiedendo: "Quale gioco dovrei realizzare?" — l'articolo ti aiuterà a trovare un'idea.

La componente di gioco della tua idea di gioco determinerà il genere e la piattaforma del gioco.

Genere e piattaforma del gioco futuro

Quando scegli un genere, tieni presente che dovresti iniziare con qualcosa di breve e semplice. Il primo pancake è spesso pieno di grumi, ma se riesci a cuocerlo al forno, i tuoi muscoli di sviluppo si rafforzeranno e sarai in grado di fare qualcosa di più la prossima volta.

Quindi decidere sulla piattaforma. Questo è incredibilmente importante, perché le capacità di gioco dipendono dalla piattaforma. Ad esempio, realizzare uno sparatutto dinamico in cui la precisione dello scatto dipende dalla reazione e concentrarsi su dispositivi mobili dotati di touch screen non è una buona idea.

Concetto

Una volta che hai qualche idea, siediti e descrivi il concetto del gioco. All'inizio, queste possono essere solo tesi, che poi si trasformeranno in pensieri presentati in modo logico. Se non riesci a farlo, riconsidera la tua idea ed elimina le contraddizioni.

Determina cosa dovrebbe attrarre potenziali giocatori, ovvero la sua stessa filosofia. Ad esempio, offriti di diventare l'unico sovrano di una piccola isola o di controllare un aereo da caccia direttamente dalla cabina di pilotaggio, azionando prontamente gli interruttori a levetta necessari.

Ora passiamo alle caratteristiche del tuo gioco. Molto probabilmente, molti sperimentatori si sono già cimentati nel tuo genere, ma devi ancora inventare qualcosa di tuo, altrimenti non ci sarà alcun interesse per il progetto. Ecco un piccolo esempio:

Esempio

Concetto: simulatore di piccolo negozio.
Peculiarità: Negozia personalmente con i fornitori, attiri nuovi clienti e cerchi disperatamente di sopravvivere in dure realtà.
Spiega quali fattori influenzano il successo e parla anche delle caratteristiche chiave delle meccaniche di gioco.
Non provare ad aggiungere elementi che non desideri implementare. Il tuo gioco dovrebbe essere qualcosa per cui vorresti pagare.
L'ultimo passo è mettere tutte le bozze in una cartella e poi in un cassetto della scrivania. Dopo un paio di settimane, torna da loro, perché forse perderai sia il desiderio che la passione, ed è meglio attraversare questa fase prima di iniziare il progetto piuttosto che lasciare tutto a metà.

Piano di sviluppo


Un piano di sviluppo chiaro è una solida base per il tuo progetto e una solida base per la tua crescita come sviluppatore di giochi

Questo piano sarà lo scheletro del tuo gioco, quindi qui dovresti menzionare ogni dettaglio, ogni micromomento, tutto ciò che ritieni importante. Chi realizza giochi da solo può fare a meno dei piani (a patto che abbia molta esperienza), ma se hai una squadra o esperienza sotto la tua guida, allora tutto dovrebbe essere registrato.

Un programma chiaro su quando iniziare a programmare o a disegnare la tua prima opera d'arte dipende interamente da te, quindi condividerò con te alcuni punti generali, la cui violazione può farti tornare indietro di qualche settimana o addirittura costringerti ad abbandonare il progetto. idea di creare del tutto il tuo primo gioco.

  1. Il tuo piano dovrebbe durare un mese, non di più. Quindi fidati del tuo intuito e inizia in modo semplice. È meglio finire presto che non rispettare la scadenza.
  2. Una volta che ti rendi conto che un determinato prodotto non può insegnarti nulla, mettilo sullo scaffale e dimenticatene. Puoi mettere alla prova le tue capacità avviando un progetto simile da zero.
  3. Anche i migliori sviluppatori si sforzano di diventare ancora migliori, quindi ogni nuovo gioco dovrebbe iniziare con il pensiero “Farò meglio dell’ultima volta”.
  4. Non ignorare la pianificazione. Nello sviluppo di qualsiasi progetto si verificano piccoli eventi di "forza maggiore" ed è quasi impossibile prevederli, quindi è più semplice tenere semplicemente conto del tempo impiegato per eliminarli nel programma. Hai pianificato 8 ore? Sentiti libero di trasformarli in 12.
  5. Il design è una delle ultime cose a cui un nuovo sviluppatore di giochi dovrebbe pensare. Il tuo obiettivo è "prendere dimestichezza con le cose", quindi trascorri il fine settimana implementando alcune nuove meccaniche (che non conosci) piuttosto che dipingere.
  6. Suddividi il tuo piano in più parti. Il raggiungimento di questi “punti di controllo” aumenta abbastanza bene la motivazione. Se non hai tempo per soddisfare le tue esigenze settimanali, semplifica il tuo piano generale.
  7. Non darti compiti troppo astratti. Invece di "Sviluppa il tuo personaggio", inserisci "implementa nuove meccaniche di tiro" o "cambia l'aspetto durante uno sciopero": è molto più facile raggiungere obiettivi chiari.
  8. Inviati lettere, non e-mail, ogni lunedì. Dovrebbero contenere tutte le azioni eseguite nell'ultima settimana. Confrontando tutte le lettere del mese, puoi vedere chiaramente i progressi.
  9. Trascorri almeno un'ora a settimana giocando al tuo prodotto. Alla fine, nessuno renderà il TUO gioco migliore di te.
  10. Trascorrere due settimane senza lavorare su un progetto ti farà sentire confuso e perso, costringendoti a ricominciare tutto da capo. È a questo punto che la maggior parte delle persone si arrende e abbandona l’idea di creare il proprio gioco.
  11. Ammazzare il tempo con il suono e creare atmosfera nel tuo primo gioco è incredibilmente inutile. La cosa principale è sviluppare il gameplay, perché ci sono capolavori costituiti da normali pixel in movimento.
  12. Se fai qualcosa per più di un'ora e ancora non riesci a farlo, chiedi aiuto. Perchè stare fermo una settimana perché eri troppo timido per creare un topic sul forum?
  13. Lascia che gli altri provino il tuo gioco. Sì, le critiche arriveranno immediatamente, ma non dovresti prestarci attenzione. Anche i progetti degli studi più importanti vengono spesso diffamati, ma ciò non impedisce loro di continuare a realizzare capolavori, giusto?
  14. Non disponi di risorse illimitate, quindi devi stabilire obiettivi realistici e raggiungibili.
  15. Una volta perfezionato il tuo primo gioco, trova immediatamente alcune nuove idee e intraprendi un nuovo progetto. Ricordati di applicare ciò che hai imparato prima.
  16. Guardare.

Passiamo alla creazione di un sommario. Stranamente, qui la trama è quasi completamente ignorata. La cosa principale è descrivere tutti gli aspetti delle meccaniche di gioco e spiegare il principio del loro funzionamento. Fondamentalmente è il sommario a costituire la base del manuale di gioco.

Ora integriamo ciascuna tesi del sommario con una descrizione dettagliata di ogni piccolo dettaglio, e lo facciamo nel modo più chiaro possibile, altrimenti potrebbero sorgere problemi con l'implementazione.

Infine, devi mostrare il tuo piano a tutti coloro che intendi coinvolgere nello sviluppo. È possibile che alcune idee non vengano implementate, oppure ti vengano proposte alternative più comode. Avendo ricevuto una chiara comprensione della sua parte di lavoro, uno specialista esperto farà immediatamente alcuni commenti.

Selezione degli strumenti di sviluppo



Il motore è il cuore del tuo gioco, scegli responsabilmente, leggi l'articolo

Sarà più facile per un principiante prendere un motore già pronto che svilupparne uno proprio.
Ogni motore ha le sue caratteristiche. Alcuni ti costringeranno a imparare a programmare, altri non ti chiederanno nemmeno di distinguere tra una procedura e una funzione; hanno strumenti di programmazione visivi.

Se diamo una classificazione estremamente ampia, i motori possono essere suddivisi in due tipologie: per progetti bidimensionali (GameMaker: Studio, RPG Maker XV) e per giochi tridimensionali (Unity, Unreal Development Kit e Source)

Guarda alcuni tutorial video ufficiali e prova a fare tu stesso qualcosa nel motore. Se questo compito ti sembra opprimente, prova a collaborare con un programmatore; alcuni ragazzi potrebbero essere ispirati dalla tua idea e aiutarti a perfezionarla.

Prototipo

La fase successiva è la versione di prova. Suono e grafica non contano qui, l'importante è che tutte le funzioni funzionino esattamente come previsto. A proposito, sii paziente, perché dovrai apportare modifiche finché non inizierai a goderti il ​​gameplay.

Inoltre, preparati alla necessità di creare da zero un prototipo finito. Qui calibri i controlli: dovrebbe essere il più comodo e intuitivo possibile. Altrimenti, il giocatore cercherà il pulsante di uscita deluso.

Questa fase è la rifinitura del design del tuo gameplay. La fase di ricerca e prova di diverse opzioni.

Grafica e suono

Decidi subito quale gamma di colori ti serve. Se si tratta di un semplice platform 2D in cui tutto pullula di pixel, assumere un'orchestra e un intero team di grafici è una perdita di tempo e denaro. Allo stesso tempo, non dovresti lesinare sulle risorse se sono veramente necessarie per esprimere appieno la tua idea. Sentiti libero di combinare le idee di altre persone. L'unico divieto è la violazione del copyright.

Qui è dove devi abbozzare l'arte grezza. A proposito, non è affatto necessario saper disegnare, perché la maggior parte dei progetti indipendenti utilizza la pixel art per la sua semplicità e popolarità. Se decidi comunque di un progetto tridimensionale, dovrai assumere professionisti per creare modelli di personaggi complessi.

Infine, crea diversi frammenti dell'universo del gioco. Questi sono concetti su come appare un livello o su come i personaggi interagiscono al di fuori del gioco. È tempo di dare vita alle tue idee!

Blender è un editor semplice e gratuito per la creazione di modelli 3D.
Photoshop è ottimo per l'elaborazione di immagini 2D e fa un ottimo lavoro anche con le texture.
net ti consente di creare rapidamente pixel art.
I suoni, insieme alla grafica, creano un senso di atmosfera nel tuo gioco. Un vasto set di librerie audio già pronte per programmi gratuiti è al tuo servizio e le melodie mancanti possono essere registrate a casa, l'importante è procurarsi un microfono.

Finalizzazione

Riproduci ciò che hai creato e riproducilo il più spesso possibile. In questo modo puoi notare tutta la ruvidità. Impara una regola: modifica l'elemento in uno stato ideale o rimuovilo. Ad esempio, se il gameplay di un livello ti sembra troppo monotono, prova a renderlo più vario.
Controlla costantemente la filosofia del gioco per evitare il punto in cui il progetto si trasforma in un mucchio di livelli e personaggi sconnessi.
Migliora la grafica e il suono: il processo richiede molto lavoro, ma l'atmosfera dipende da questo.

Fase di test

Dopo aver ricevuto una versione preliminare del gioco (da non confondere con il prototipo), procedere alla ricerca di bug ed errori. Sarà meglio se trovi loro, e non potenziali giocatori, il primo giorno dopo il rilascio.

Concentrati sui momenti insoliti per il tuo stile di gioco. Ad esempio, vai in parti della mappa che non vengono utilizzate durante il gioco principale. Il test a volte richiede più tempo dello sviluppo stesso e la sua velocità dipende dal numero e dalla professionalità dei tester.

Se è presente un numero incredibile di bug, correggi prima quelli più grandi. Pertanto, inizia a cercarli il prima possibile: questo ti darà più tempo per apportare modifiche. Inoltre, invita i tuoi amici e conoscenti a giocare. Uno sguardo dall'esterno ti permetterà di notare molte sfumature che tu stesso non avresti mai immaginato. Inoltre, è assolutamente gratuito.

Pubblicazione

Organizza una campagna promozionale: suscita interesse sui social network, ordina recensioni dai blogger di giochi, non dimenticare un sito web con un forum, perché i fan avranno bisogno di un posto dove riunirsi!
Seleziona una piattaforma di distribuzione. Difficilmente vorrai investire subito in hosting o server dedicati, quindi fai attenzione alle piattaforme più popolari come Steam, GOG, Humble, Play Market e simili. Ricorda che i proprietari addebitano una certa percentuale del costo, quindi questo problema richiede uno studio dettagliato.
Non dimenticare di supportare il gioco anche dopo il rilascio. Continua a correggere bug, a rilasciare contenuti aggiuntivi o passa direttamente al seguito!

L'articolo espone tutto molto brevemente, ma allo stesso tempo dà un'idea generale dell'intero ciclo di rilascio del gioco. Non dovresti contare immediatamente su guadagnare milioni di dollari, perché i giochi sono, prima di tutto, creatività.

Molte persone potrebbero non credere in te. Cosa c'è: probabilmente ci saranno un paio di sere in cui vorresti mollare tutto, ma non dovresti arrenderti. Ricorda: un prodotto davvero buono richiede molto tempo, denaro e nervi.

PS

Se hai domande o hai bisogno di aiuto, scrivi alla sezione forum, ricevo notifiche: risponderò sempre e ti aiuterò nel miglior modo possibile.

Naturalmente, i moderni progetti di videogiochi di grandi dimensioni come WoW o StarCraft sono il risultato di molti anni di lavoro di programmatori esperti, che richiedono anche notevoli investimenti finanziari. Per intraprendere un progetto del genere sono necessari almeno un diploma, una certa esperienza e doti organizzative. Tuttavia, la complessità di un progetto non è sempre una misura del suo successo e non garantisce l’interesse dei giocatori. E chiunque può cimentarsi nella creazione di giochi, anche se meno complessi tecnicamente, ma comunque capaci di suscitare l'interesse sia degli utenti che, eventualmente, delle grandi aziende produttrici di giochi. Per fare questo non è nemmeno necessario conoscere i linguaggi di programmazione.

In primo luogo, la maggior parte dei giochi moderni è dotata di strumenti che consentono di cambiare il mondo di gioco per: disegnare nuovi labirinti, trasformare l'aspetto di personaggi e oggetti di gioco e persino progettare nuove missioni e compiti. Ciò consente, basato sullo stesso StarCraft o sparatutto 3D, un gioco per computer di tua progettazione, in cui il gioco originale sarà estremamente difficile. Esistono motori di gioco progettati specificamente per la creazione di giochi.

3D Game Maker è uno dei motori più popolari che ti consente di creare il tuo gioco 3D. Grazie alla straordinaria semplicità dell'interfaccia, con il suo aiuto è possibile creare un gioco 3D a tutti gli effetti in soli 10 minuti. Selezioniamo il genere del gioco da creare, determiniamo il numero di livelli richiesti (il sistema consente di progettare fino a 20 livelli diversi) e selezioniamo il personaggio principale tra i modelli già pronti. Il gioco può già essere lanciato e testato, anche se i lavori, ovviamente, sono appena iniziati. Dopotutto, il gioco è ancora privo della cosa più importante, ciò che attira l'attenzione e l'interesse dell'utente: la trama. Pertanto, è anche necessario selezionare gli avversari e riflettere su altri dettagli necessari. Il costo dello sviluppo di questo gioco è di $ 35, un importo abbastanza abbordabile per i creatori di giochi.

3D Game Studio è un potente strumento per creare giochi sia 3D che 2D e praticamente non è richiesta alcuna programmazione. Una serie di tutti i tipi di situazioni modello, esempi ed effetti offre al progettista del gioco una gamma abbastanza ampia di strumenti per realizzare le sue fantasie. Effetti naturali, superfici a specchio, ombre, superfici trasparenti: tutti questi attributi possono essere pienamente utilizzati durante lo sviluppo di interni di gioco. Allo sviluppatore vengono forniti anche elementi dell'interfaccia di gioco già pronti, che consentono all'utente di comunicare con il gioco in modo elegante e conveniente. La versione professionale di questo motore costerà 900 dollari, ma la versione per principianti è molto più economica: solo 70 dollari.

Se i mondi 3D non ti attirano, presta attenzione a Game Maker: ti offre infinite possibilità di immaginazione, permettendoti di creare un gioco per computer in formato 2D. Selezioniamo gli oggetti e pensiamo alla loro interazione. Le immagini possono essere disegnate in qualsiasi editor grafico e importate nel sistema. Il gioco può essere dotato di effetti sonori e segnali. L'interfaccia è estremamente semplice e logica, ideale per i principianti.

Il programma è progettato per creare giochi bidimensionali senza utilizzare linguaggi di programmazione. Invece delle righe di codice, vengono sostituite le azioni già pronte dei personaggi del gioco. L'utente può solo creare oggetti di gioco, fornire loro sprite o animazioni bidimensionali, creare regole per l'interazione tra oggetti e disporre gli oggetti su livelli. Puoi disegnare grafica e animazioni direttamente in Game Maker senza utilizzare programmi di terze parti.

Questo programma eccelle nei giochi top-down e nei platform con vista laterale.

"Game Maker" interesserà anche i programmatori esperti, c'è anche la possibilità di aggiungere il proprio codice di programma.

La versione gratuita del programma non limita in alcun modo gli utenti comuni, rispetto alla versione a pagamento di Game Maker Pro. La versione a pagamento fornisce l'accesso a moduli software complessi che interessano solo ai veri programmatori professionisti.


Un game designer 2D molto semplice. Non è richiesta la conoscenza dei linguaggi di programmazione.

A differenza di Game Maker, Construct 2 può creare giochi per iOS, Android, Facebook, Chrome Web Store, desktop Windows, app Windows 8, Web (HTML5), Kongregate e molte altre piattaforme.

Questo è un programma di qualità superiore, ma anche più avido di denaro. Il programma è gratuito finché non vuoi vendere il tuo gioco. In questo caso, dovrai acquistare una versione con licenza. C'è anche un negozio speciale sul sito web degli sviluppatori dove puoi acquistare risorse per la costruzione del tuo gioco: set di suoni, musica, istruzioni dettagliate.

Consigliamo il corso di formazione “TDS dalla A alla Z” (creazione di un gioco nel genere “Sparatutto dall'alto”).


Programmi per creare giochi 3D (sito web)

"3D Rad" è l'opzione più economica tra i motori di gioco 3D. Il programma può essere utilizzato in modo completamente gratuito e pagando 5 dollari si ottengono gli ultimi aggiornamenti il ​​giorno stesso in cui vengono rilasciati (nella versione gratuita gli aggiornamenti compaiono solo dopo tre mesi). Molto spesso, questo motore viene utilizzato per creare giochi di corse.

Il programma ha un'interfaccia semplice e chiara, non gravata da sciocchezze.

"3D Rad" supporta l'installazione di singoli plugin, ha modelli AI preinstallati, mappe di ombre e texture. È possibile creare giochi online.


SDK del motore di gioco NeoAxis

Un eccellente motore di gioco con un'interfaccia semplice e una grafica di alta qualità. Progettato per creare giochi di quasi tutti i generi.

Creato sulla base del motore Ogre3D. Il linguaggio di programmazione utilizzato è C# e C++ e la piattaforma .NET, ma è possibile fare a meno della programmazione grazie ad apposite librerie di azioni già pronte. Il motore ha vari componenti aggiuntivi ed estensioni sviluppati da utenti di terze parti. È possibile esportare per 3dsMax e Maya, Autodesk Softimage e Blender. Sono supportati shader, luci e ombre PSSM (Parallel-Split Shadow Map).

NeoAxis Engine è distribuito con 4 tipi di licenza: Non commerciale – gratuita per progetti non commerciali; Licenza indipendente – $95/$295 (singolo/team); Commerciale – $395/995 (singolo/squadra); Licenza sorgente: da $ 9.800.

Il vantaggio principale di questo motore di gioco è la massima praticità e semplicità. Inoltre, il motore è stato sviluppato da programmatori nazionali, motivo per cui ha il russo come lingua predefinita. Quando acquisti una versione con licenza, ricevi supporto tecnico di alta qualità nella tua lingua madre.


Uno strumento completo contenente tutto ciò di cui potresti aver bisogno per creare un gioco. Il pacchetto Unity 3D include un motore grafico che sfrutta appieno le capacità di DirectX e OpenGL, un editor di modelli 3D integrato, programmi separati per la creazione e l'elaborazione di shader, ombre, paesaggi, fisica e suoni, nonché ricche librerie di script. Con Unity 3D puoi dimenticarti completamente dei programmi di terze parti o ridurne l'utilizzo al minimo.

Unity 3D è adatto per creare giochi di qualsiasi genere. Le piattaforme supportate sono normali computer (Windows XP/Vista/7, OSX), dispositivi mobili (Android, iOS, Blackberry), console di gioco (Wii, Playstation 3, Xbox), browser Internet (Flash, Web Player).

Esiste uno speciale sistema di sviluppo collaborativo: Asset Server, che ti consente di sviluppare un gioco come parte di un intero team direttamente tramite Internet.

L'unico aspetto negativo è che per utilizzare Unity 3D è necessario conoscere la programmazione informatica almeno a livello intermedio. Nonostante la ricca libreria di pratiche soluzioni software già pronte e un potente motore di scripting con compilazione istantanea, una parte del codice dovrà essere scritta autonomamente in JavaScript o C#.


Kit di sviluppo irreale (UDK)

Uno dei motori di gioco più popolari tra gli sviluppatori di giochi professionisti. Giochi come la serie Unreal Tournament, la serie Mass Effect, XCOM, Borderlands 2, DmC: Devil May Cry e dozzine e centinaia di giochi più piccoli sono stati creati sull'Unreal Engine.

"UDK" supporta le seguenti piattaforme: PC, Xbox 360, PlayStation 3, Wii, Android.

Questo motore è stato originariamente progettato per creare sparatutto 3D, ma ha anche la capacità di creare giochi di generi correlati: slasher, avventure, giochi MMO.

Il motore di gioco crea perfettamente animazioni facciali, architetture edilizie complesse ed elabora oggetti fisici complessi. UDK contiene tutti gli strumenti necessari per creare animazioni, trame, suoni, livelli, modelli e script di programmi. C'è una libreria integrata contenente più di 1000 strutture, altri modelli 3D, trame e suoni standard. È possibile programmare in un linguaggio speciale “Unreal Script” (creato sulla base di C++).

Puoi utilizzare UDK in modo completamente gratuito finché non decidi di pubblicare ufficialmente il tuo gioco creato su questo motore. In questo caso, dovrai sborsare una licenza costosa.


CryENGINE 3 SDK gratuito

"CryENGINE 3" è l'apice dei moderni motori di gioco, offrendo grafica fotorealistica con supporto per DirectX 11 e shader di terza generazione. La terza versione del motore è stata creata nel 2009. Su questo motore sono state create le serie di giochi Far Cry e Crysis, il gioco online Aion e dozzine di giochi per computer meno conosciuti.

La società Crytek ha deciso di distribuire gratuitamente questo motore di gioco già popolare. Ma la versione gratuita dura solo finché non desideri rilasciare ufficialmente un gioco creato su questo motore. La versione con licenza è più costosa di tutti i programmi simili, ma ne vale la pena.

Su "CryENGINE 3" puoi creare giochi per le piattaforme: PC, PlayStation 3 e Xbox 360.

Puoi importare texture dai programmi di grafica “3ds max”, “Maya”, nonché dalle versioni precedenti del motore.

Il motore CryENGINE 3 si è rivelato molto popolare, ha un'intera comunità di lingua russa, grazie a ciò puoi trovare facilmente tutti i tipi di materiale di formazione, nonché risposte a domande specifiche.


Come sviluppare un gioco di ruolo in una settimana da zero e senza budget. Parte I

Gioco di ruolo in una settimana? Da zero? È anche possibile?
Ho colto l'occasione e l'ho fatto.

Internet è piena di risorse informative a disposizione di piccoli sviluppatori di giochi indipendenti (indie). In uno di questi forum pubblici, durante una discussione, ho avuto l'ardire di sbottare che se mi avessero dato una settimana di tempo, un computer con Windows appena installato e una buona connessione Internet, avrei potuto creare un gioco decente senza spendere un centesimo. su di essa. No, certamente non sarà in grado di competere con Halo 2 o qualcosa dello stesso livello (se fossi riuscito a creare un gioco del genere in una settimana, avrei lasciato il mio lavoro già da tempo), ma sarà piuttosto interessante e giocabile.

Tom Bampton, recensore mensile del Gioco del giorno (www.gameinaday.com), ha detto: "Provaci!" Poi ha aggiunto un'ulteriore condizione: devo farlo senza utilizzare i motori di gioco esistenti. Posso utilizzare solo le librerie/API principali.

All'inizio ho rifiutato questa idea. Non ho avuto il tempo extra per prendermi una settimana di pausa dallo sviluppo dell'attuale progetto di gioco al lavoro. Ma poi ho pensato: al diavolo, cos'è una settimana? In un'azienda tipica, come E.A., la settimana lavorativa è di 40 ore. Allora perché non realizzare il gioco non in una settimana di calendario, ma in 40 ore pure? Questo è già più reale, ma non volevo creare un altro Tetris o Arkanoid. Che dire dei giochi di ruolo, uno dei generi di gioco più impegnativi? È possibile?

Sapevo che sarebbe stato estremamente difficile. Ma ho accettato la sfida.

Inoltre, ho scritto in dettaglio cosa stavo facendo e come lo stavo facendo e ho descritto l'avanzamento dello sviluppo. Ho pensato che sarebbe stato interessante per gli sviluppatori di giochi, o almeno sarebbe stato un divertente resoconto di come sarei caduto di faccia se non ci fossi riuscito. Tutto quello che ho ottenuto è stato un lungo e sconclusionato resoconto delle mie attività orarie. Ho provato a cambiarlo in modo che la lettura non fosse noiosa. Come è andata a finire, giudica tu stesso.

Ecco come ho creato un gioco da zero in una settimana e senza budget. Se sei troppo pigro per leggere e vuoi dare un'occhiata veloce alla fine della storia per scoprire come appare il prodotto finale e vedere tutti i suoi bug, puoi scaricare la versione Windows del gioco qui: http://www. rampantgames.com/hackenslash.html

PIANIFICAZIONE
Bersaglio
Crea un gioco di ruolo vecchia scuola nello stile dei vecchi giochi dei primi anni '80, con una visuale dall'alto verso il basso, come Il Tempio di Apshai, Ultima III e Telengard. Il giocatore si muoverà attraverso le stanze di un tipico dungeon, combattendo vari mostri usando "spada e stregoneria". A poco a poco migliorerà le sue capacità acquisendo esperienza, aumentando il suo livello e acquisendo equipaggiamento magico.

Tuttavia, il gioco non consisterà solo nel combattimento vero e proprio. Il giocatore avrà anche l'opportunità di sgattaiolare oltre i mostri o avviare trattative con loro. Ci saranno porte e forzieri chiusi a chiave e caratteristiche uniche dei dungeon che avranno effetti inaspettati. Il gioco non avrà lunghe descrizioni o dialoghi: sarà principalmente un tipico hack & slash. Progredirai lungo il percorso finché non sarai abbastanza forte da affrontare il boss finale, completare la missione e tornare a casa sano e salvo (nella stanza di partenza).

Regole di sviluppo

Regola n. 1: il tempo di sviluppo è limitato a una settimana (comprendente 40 ore)
Non si dovrebbero dedicare più di 40 ore allo sviluppo del gioco. Ciò includerà il tempo trascorso effettivamente a lavorare sul gioco e a pensarci. Non verranno prese in considerazione le interruzioni dello sviluppo superiori a dieci minuti. Questa sarebbe una settimana lavorativa “ideale” di 40 ore altamente produttive.

Una versione alpha completamente funzionante sarà realizzata in 40 ore. Ulteriori rifiniture, come il debugging finale del gioco, la creazione di un programma di installazione per la distribuzione non verranno prese in considerazione nel tempo totale, nessuna nuova funzionalità verrà aggiunta in questa fase. Anche la documentazione del processo di sviluppo non viene presa in considerazione.

Regola n.2: utilizzare solo strumenti gratuiti
Ad eccezione del software fornito con l'installazione di Windows, viene utilizzato solo software gratuito, ove possibile open source. Il punto è dimostrare che non sono necessari strumenti costosi (o addirittura economici) per sviluppare un gioco. Questa regola non si applica ad apparecchiature come scanner, microfono e fotocamera digitale: se non li hai, supponiamo che tu possa prenderli in prestito da qualcuno.

Regola n. 3: nessun motore, solo librerie/API standard
Il gioco deve essere creato da zero senza utilizzare i motori di gioco esistenti. È vietato imbrogliare o creare un gioco o qualsiasi sua parte utilizzando game designer o software simili.

Utensili
Codice:

Python 2.3 (http://www.python.org/)
PythonWin
PyGame (http://www.pygame.org/)
Py2exe - per compilare ciò che accade in un file eseguibile per la distribuzione. (http://starship.python.net/crew/theller/py2exe/)

Gimp 2.0 (http://gimp-win.sourceforge.net/)
MS Paint (quello fornito con Windows) - per inserire schermate catturate dal tasto PrintScreen (GIMP per qualche motivo si è rifiutato di farlo)
Le texture gratuite sono state prese da (http://www.textureartist.net/textures/index.htm) e (http://www.mayang.com/textures/)

Audacity (http://audacity.sourceforge.net/) più il mio microfono o quelli gratuiti.

Programma (piano) di lavoro
I programmi sono fatti per essere infranti, ma sono comunque necessari per monitorare i progressi e le linee guida e apportare le modifiche necessarie.

Ore 1-10: Architettura di base
Progettazione del motore e dei principali componenti. Ottieni il mondo visualizzato sullo schermo. Devo implementare la capacità di spostare un giocatore di prova in giro per il mondo e osservare le cose, quindi trasformarlo in un editor di gioco.

Ore 11-20: Opzioni giocatore
Implementazione di tutte le principali possibilità per il giocatore: muoversi, attaccare, aprire porte, morire, raccogliere oggetti e utilizzare l'inventario. Crea una rappresentazione scheletrica di tutti gli oggetti nell'ambiente per testare le capacità del giocatore nell'interagire con il mondo.

Ore 21-30: Dare vita al mondo
Aggiungi intelligenza artificiale, eventi di gioco, trappole, effetti speciali. Entro la fine di questo periodo dovrei avere una tech demo abbastanza completa, comprensiva di tutte le principali caratteristiche del gioco.

Ore 31-40: Aggiunta di contenuti e regole
Ottieni un gioco completo dalla demo tecnologica. Aggiungi tutti i contenuti aggiuntivi. Raggiungere la completezza e l'equilibrio delle meccaniche di gioco. Migliora tutto ciò per cui hai tempo, aggiungi effetti speciali, animazioni, ecc.

Dopo 40 ore: test e rilascio del gioco
Testa ed elimina gli errori rilevati (senza aggiungere nuove funzionalità!) Raccogli tutto in un mucchio e pubblicalo su Internet. Documentazione completa.

Diario degli sviluppatori di Hackenslash: gioco della settimana

Ora 1 – Design selvaggio e lezioni di base
Quest'ora è stata dedicata alla creazione di alcune classi di base per il gioco e al loro utilizzo nella progettazione successiva. Il mondo verrà presentato come una sequenza di stanze collegate da un portale. Tutto nel mondo è basato su stanze, in modo simile a come avveniva nei vecchi giochi di avventura o nei MUD. La maggior parte degli oggetti nel gioco sono rappresentati come un "GameObject", che ha una posizione e un contenuto (e può contenere altri oggetti: una mappa può contenere stanze, una stanza può contenere uno scrigno, uno scrigno può contenere una spada... e Penso che una spada possa contenere diverse stanze, ma non lo faremo.)

Creo creature e oggetti giocatore
Genero una serie di attributi per le creature e li implemento in una classe. A quanto pare sono un nerd che gioca a troppi giochi di ruolo. Non so ancora esattamente come appariranno e funzioneranno le meccaniche di gioco.
Sto creando un oggetto stanza che eredita da GameObject. Una stanza ha larghezza, altezza e pareti, e per il momento nient'altro.

Piano piano comincio a capire come funzionerà il tutto e ad apportare le dovute correzioni. Non sto nemmeno provando a utilizzare PyGame a questo punto e il programma non mostra altro che la console. Ma sento che tutto quello che è stato fatto è un grande progresso!

Ora 2: PyGame 101
L'obiettivo di quest'ora è inizializzare PyGame e iniziare a disegnare almeno qualcosa sullo schermo. In effetti, passo la maggior parte del mio tempo a leggere la documentazione di PyGame, cercando di capire cosa c'è e come farlo, dal momento che non ho quasi nessuna esperienza con PyGame o SDL.

L'ora si conclude con un programma che mostra uno schermo vuoto pieno di nero. Non impressionante. In effetti, c'è molto dietro questa finestra. C'è un loop di gioco, cambio di frame, chiamata di più classi e molte cose inattive. Ma questo non rende lo schermo nero più impressionante.

Ora 3 - Se i muri avessero orecchie, li sgriderei severamente.
Lo scopo di quest'ora è definire il contorno della stanza con le pareti, e visualizzarlo sullo schermo ancora nero. Per fare questo, ho bisogno di una stanza e ho bisogno di grafica. Devo sedermi molto in GIMP, modificando le trame scaricate da Internet in modo che si trasformino in tessere adatte. Sto creando una classe di gestione delle texture. E compilo la struttura della stanza dei campioni. Ho anche passato un po' più di tempo a consultare la documentazione di PyGame per trovare qualcos'altro che potessi usare per semplificare il lavoro.

È passata un'ora. Ma ho ancora lo stesso schermo nero. Non c'erano ancora muri.

4 ore – C'è una stanza libera nell'hotel
Dopo aver lottato con alcuni errori di sintassi, sono finalmente riuscito a far apparire i muri sullo schermo. È vero, vengono visualizzati in modo errato, non si trovano nella posizione indicata e anche con spazi tra i segmenti. È orribile. Ma con qualche ritocco e modifica, alla fine ho ottenuto quella che sembrava una stanza di 10 x 10 quadrati sullo schermo.

Senza un piano di progetto dettagliato, in realtà è abbastanza facile confondersi una volta completato un lavoro e chiedersi: "Qual è il prossimo?" Ho deciso che se disegnare una stanza era bello, disegnarne due sarebbe stato due volte meglio.

Per memorizzare le stanze create ho creato un file "minidungeon".
Inizierò ad aggiungere la logica per i "portali": buchi nei muri che conducono ad altre stanze (e fornirò tutte le informazioni sull'offset necessarie per visualizzare correttamente le stanze adiacenti).

Ora 5 - Hackenslash ottiene più stanze

Ho cambiato il titolo della finestra in "Hackenslash!". Solo perché è bello.
Ho creato una mappa delle caratteristiche per memorizzare le stanze e una classe MapMaster contenente diverse mappe.
Ho aggiunto una seconda stanza e l'ho collegata alla prima tramite un portale.
Le stanze vicine sono collegate a quella attuale tramite portali e ora vengono visualizzate sullo schermo.
Ho corretto alcuni errori di ritaglio in modo che i muri che si estendono parzialmente all'esterno della finestra vengano visualizzati correttamente.

Ora 6 - durante la quale miglioriamo le nostre capacità di disegno

Aggiunta una classe di porte e configurate anche mappe per il posizionamento delle porte (la porta deve essere comune a due stanze). (Modifica: vorrei non averlo mai usato!)
Ho creato altri 3 rivestimenti e li ho combinati in un'unica immagine.
L'aspetto grafico delle pareti varia a seconda della tipologia.
Sto realizzando un grafico semplice per una vista dall'alto verso il basso.

Ore 7-8 – Giri ed esclamazioni!

Ho capito come ruotare le bitmap in PyGame.
Ho fatto in modo che il lettore di prova girasse senza problemi. Sono necessarie molte regolazioni per correggere l'angolo di rotazione.
Ho imparato come usare i caratteri in PyGame e sto creando alcune classi per visualizzare e animare il testo.
Aggiunta una classe per l'elaborazione automatica del testo, poiché questa funzionalità verrà utilizzata spesso in futuro.

Ore 9-11 – Elementi - brrrr!

E anche qui devo risolvere la domanda “Qual è il prossimo passo?”

Le stanze hanno bisogno di elementi più interessanti, quindi devi crearne un elenco. Non so come sistemarli, quindi ho deciso di iniziare con quelli generali. Ho introdotto tre elementi statici che possono essere trovati in una tipica stanza del dungeon: un tappeto, una colonna (un blocco con la stessa funzionalità delle pareti) e una scala (ti permette di spostarlo in una nuova posizione)

Ho deciso che gli elementi potevano occupare più di una tessera e potevano essere ruotati a piacere. (Modifica: in retrospettiva, una soluzione molto stupida: ho passato troppo tempo a implementarla, ma si è rivelata quasi inutile.)

In totale, ho trascorso circa tre ore lavorando sugli elementi, diviso tra la creazione della grafica e la scrittura del codice.

Ore 12 - 13 - Abbiamo bisogno di bottino!

Creo grafica e codice per le cose. È incredibile quanto tempo possa richiedere il disegno. È particolarmente fastidioso quando l’immagine sembra disegnata da un pollo con la sua zampa, non importa quanto sforzo sia stato fatto.

Ho aggiunto molte caratteristiche agli oggetti, inclusi il costo, le dimensioni, gli slot per l'equipaggiamento e molto altro. Non è ancora possibile interagire con loro, ma almeno appaiono nei posti giusti nella stanza.

Ora 14 - Tappeti

Sono molto in ritardo sulla tabella di marcia, cosa devo fare?
Lo sfondo nero sembra troppo brutto, quindi ho coperto i pavimenti all'interno della stanza con tappeti - piastrelle separate.

Dopodiché, all'improvviso si è scoperto che mi ero dimenticato di aggiungere uno sfondo trasparente agli sprite del giocatore e alle cose. Ho dovuto dedicare molto tempo a correggere questa svista.

Ma il livello sembra interessante ora. Beh, almeno più bello del nero.

Ore 15-16 – Click! Clic!

Ho preso il controllo del mouse e l'elaborazione degli eventi.
Aggiunto il controllo del personaggio con il mouse. Il movimento è ancora a scatti, non c'è uno scorrimento fluido del livello.
Il giocatore può camminare fuori dalla stanza, non c'è controllo delle collisioni.
Ho corretto alcuni bug.
Ho torturato GIMP e ho creato bellissime scale.
.
Ho già dedicato quasi 17 ore allo sviluppo, quindi inizio a diventare un po' nervoso. Sono a 2/5 della creazione del gioco: la seconda "giornata lavorativa" di sviluppo è terminata. Ciò che ho già fatto è impressionante, ma capisco che c’è ancora molto da fare. Ho altre quattro ore per completare le funzionalità di base del lettore e rientrare nel programma. Sarà difficile... ma comunque non mi pento di aver passato il tempo extra a disegnare grafica!

Ora 17 – Ci muoviamo agevolmente finché non sbattiamo la fronte contro il muro

La maggior parte del tempo è stata dedicata alla messa a punto della grafica e alla correzione dei bug.
Aggiunto rilevamento delle collisioni e scorrimento fluido quando il giocatore si muove.
Il giocatore ora può compiere diversi passi (turni) in risposta all'azione del mouse.

Ora 18 – Varcare le soglie

Il giocatore ora può attraversare i portali verso altre stanze.
Ciò causa un bug estetico con pareti e pavimenti sovrapposti tra stanze adiacenti.
Risolti molti bug relativi alla rotazione, che rendevano i portali impraticabili.

Ora 19 - Scala verso il paradiso, menu dell'inferno

Mio fratello si è offerto volontario per comporre musica per il gioco. Ha composto la musica per Void War ed è venuta piuttosto bene. Questo mi ha ricordato che devo riprodurre un po' di audio (e musica). Sembra essere abbastanza facile da fare in PyGame, quindi non dovrebbe richiedere troppo tempo. (Modifica: non ho mai trovato il tempo per questo, sfortunatamente non sentirai un solo suono in Hackenslash.)

Il mio prossimo obiettivo è gestire l'interazione con creature e oggetti. Mi piace molto il modo in cui lo fanno The Sims e Neverwinter Nights, quando vuoi interagire con un oggetto di gioco, appare un menu contestuale. Ho intenzione di implementare qualcosa di simile.

Insegno le scale per spostare il giocatore in una nuova stanza.
Ho esplorato un po' Internet e la documentazione di PyGame per vedere se esisteva codice open source per un menu PyGame simile. E non ho trovato nulla.
Ho iniziato a creare il mio menu.

Ore 20 - 21 - Cosa prevede il menù?

Sto ancora lavorando sul menu. Il menu può essere facilmente collegato a un oggetto, o meglio l'oggetto sembra generare un menu, il che ha reso semplice l'implementazione del feedback per l'elaborazione della scelta del giocatore.
Ho iniziato a lavorare su un menu di cose. Appare già al posto giusto e permette di selezionare una voce, ma quando viene premuto non fa ancora nulla, funziona solo il pulsante di chiusura del menu.

Ora 22 – Addormentarsi nel processo

Continuo a lavorare sulle cose, cercando di implementare le loro funzionalità e insegnando loro a rispondere ai comandi di menu, inclusa la possibilità di aggiungere informazioni contestuali. Ora ha poche funzionalità, ma funziona ancora, visualizzando informazioni sul comando in esecuzione
Ho migliorato il calcolo del movimento durante l'esecuzione di varie azioni, acquisendo maggiore mobilità.

Noto che è tardi e che sono andato ben oltre l'ora assegnata per questo lavoro. Se non avessi prestato attenzione al tempo complessivo di sviluppo, probabilmente sarei rimasto lì fino al mattino. Ma poiché ho poco tempo, un'ora praticamente sprecata è davvero una brutta notizia. È interessante come cambiano le priorità quando il tempo stringe. Comunque, vado a letto.

Ora 23 - Parametri di combattimento!

Sto modificando (beh, in realtà ho appena iniziato) alcuni degli attributi della classe creati nella prima ora.
Nell'angolo in alto a destra creo un pannello che mostrerà le opzioni del giocatore.
Ho ottimizzato questa finestra trasformandola in un'immagine che si disegna più velocemente dei caratteri. Questa immagine viene aggiornata solo quando cambiano i parametri del carattere ad essa associati.

Ora 24 - Menu del giocatore

Ho completato le ottimizzazioni per la finestra delle opzioni.
Creato un menu a comparsa che appare quando il giocatore fa clic su un personaggio.
Ho creato un menu rapido per usare pozioni, lanciare incantesimi, ecc.
Ho corretto alcuni bug nel menu.

Ora 25 – Prima di (ri)segare pavimenti e pareti

Stamattina mi è venuta in mente un'idea (è davvero così grande il mio cervello da contenere così tante idee?) come risolvere il problema della sovrapposizione dei muri nelle stanze adiacenti (vedi descrizione della diciottesima ora). E se dipingessi solo metà delle pareti? In questo modo non ci sarà alcuna sovrapposizione e non sarà necessario aggiungere una logica complessa per rilevare e correggere le sovrapposizioni.

Sto iniziando a lavorare per implementare questa idea. Purtroppo, infatti, la semplificazione inventata complica ulteriormente la resa della stanza (in particolare dei pavimenti), e non può essere attuata così velocemente come speravo. Ci è voluta circa un'ora per creare ed eseguire il debug di questo sistema. Ma ne è valsa la pena.

Durante il debug del codice, ho scoperto molti altri errori relativi alla transizione tra le stanze.

PAUSA - Crisi!

Mi sono appena accorto che sono trascorsi più di 3/5 del tempo di sviluppo assegnato e che mancano meno di quindici ore per finire il gioco. Dopo aver esaminato la tabella delle funzioni necessarie del gioco e stimato che ciascuna di esse avesse bisogno in media di un'ora per essere implementata, mi sono reso conto che mi servivano circa venticinque ore per implementare tutto. Dieci ore in più. Il progetto è ufficialmente a rischio.

Non posso andare oltre il limite di tempo. È anche impossibile attirare un assistente o acquistare codici/risorse, poiché è previsto che realizzerò il gioco da solo in 40 ore. Devo capire come lavorare in modo ancora più efficiente, ma sto già lavorando duramente per raggiungere la massima produttività. Sembra che non abbia altra scelta, dovrò riconsiderare la funzionalità e decidere quali caratteristiche eliminare dal gioco.

Porte: Tagliate! Voglio davvero creare porte nel gioco. È un peccato separarsi da questa funzione, soprattutto perché ci sto lavorando da tempo. Ma c’è ancora troppo lavoro da fare, come ad esempio l’intelligenza artificiale. E probabilmente ci vorranno 2-3 ore per farli funzionare, cosa che non ho.
Inventario: semplificare! Dimentica l'inventario aggiuntivo e la possibilità di cambiare armi a piacimento. Tutto ciò che è stato raccolto e non è diventato attrezzatura attuale verrà immediatamente convertito in denaro.
Trappole: semplificare! Mi piacerebbe avere una varietà di trappole con conseguenze interessanti e varie per attivarle. Non è destinato a succedere. Le trappole avranno un semplice effetto visivo, infliggeranno danni e aumenteranno temporaneamente la possibilità di imbattersi in un mostro casuale
Archi (armi piccole): taglia! Il gioco avrà solo armi da mischia; potrai attaccare a distanza con gli incantesimi.
Salvataggio/caricamento del gioco: semplifica! Puoi salvare solo il tuo personaggio, non lo stato del mondo. (EDIT: non l'ho fatto neanche io!)
Sistema particellare: mettete da parte! La creazione del sistema di particelle è stata spostata in fondo all'elenco delle priorità. Dubito che dovrò farli. Mi piacerebbe realizzare degli effetti visivi impressionanti usando le particelle per gli incantesimi... ma probabilmente non accadrà mai.
Incantesimi: semplificare! Avevo un concetto serio riguardo agli incantesimi: potevano essere trovati sotto forma di pergamene e ce n'erano più di una dozzina. È triste, ma ci saranno solo pochi incantesimi: Guarigione, Danno, Indebolimento, Rafforzamento e Ripristino. Salendo di livello, è possibile consentire al giocatore di rafforzare gli incantesimi aumentando il numero di punti magia.
Animazioni di mostri e giocatori: tagliate! Non sono un bravo artista per farlo abbastanza velocemente.

Quando decido cosa non farò (o cosa rimanderò a più tardi), è altrettanto importante decidere cosa deve essere fatto prima.

Ci sono molte cose pianificate nel gioco che penso siano molto importanti: trovare trappole, porte segrete (beh, ora passaggi segreti) e aprire forzieri. Ma il fulcro del gioco è il combattimento. Quindi ho deciso di concentrarmi su questo, di renderlo la mia massima priorità. Mi sono posto un obiettivo: in un'ora e mezza i miei mostri prenderanno vita così tanto da poter essere uccisi.

Ottimo, abbiamo risolto le priorità, continuiamo lo sviluppo.

Ora 26 - Lanciamo i dadi

Sto lavorando sulla meccanica dei "dadi", un meccanismo attraverso il quale verrà introdotto nel gioco un elemento di casualità. Poiché non abbiamo la limitazione dei dadi reali, possiamo ottenere un numero casuale in qualsiasi intervallo desideriamo. Ad esempio da 1 a 33, oppure da 6 a 17. Così posso lanciare i dadi, confrontare il risultato del mio attacco con la difesa del nemico. Se il numero ottenuto è superiore alla difesa, l'attacco ha successo.

Ad esempio, diciamo che ho un valore di attacco totale di 15. Attacco un mostro che ha 10 di difesa. Le mie possibilità sono 15 su 25 (25 = 15 +10), ovvero 3 su 5. Quindi il gioco genererà un numero casuale compreso tra 1 e 25 e, se è superiore a dieci, vinco.

Per calcolare il danno inflitto viene utilizzato un metodo leggermente diverso. Ho aggiunto il parametro "armatura" al difensore e "danno" all'attaccante. Genero un numero casuale da 1 alla loro somma e poi sottraggo l'armatura. Se il risultato è inferiore a uno, non viene inflitto alcun danno. Altrimenti è uguale al risultato ottenuto. Quindi, se un mostro con 10 danni attacca un giocatore con 5 armature, il gioco genererà un numero da 1 a 15, dal quale sottrarrà 5, che è il danno inflitto.

Questa spiegazione e descrizione hanno richiesto più tempo della loro implementazione.

Allo scadere dell'ora ho ridotto le dimensioni dell'area di visualizzazione del dungeon, ora la parte della finestra a destra è completamente dedicata all'interfaccia utente, questa modifica ha dato un leggero aumento delle prestazioni. Mi sono anche assicurato che il movimento del giocatore non fosse influenzato dal framerate.