Polycode è un open source gratuito (concesso in licenza con licenza MIT) e multipiattaforma "framework per la codifica creativa". Questo termine è raramente sentito all'interno della comunità di sviluppo del gioco, ma ciò che in pratica significa è semplice: Polycode ti fornisce gli strumenti per esprimere la tua creatività attraverso il codice, e anche se è pienamente qualificato per sopportare il "motore di gioco"moniker, preferisce non farlo. Il motivo è semplice: Polycode può essere (e spesso lo è) utilizzato per progetti che comprendono più di giochi interattivi, come visualizzazioni utilizzate per intrattenimento o per scopi scientifici.
Ho usato Polycode principalmente per i giochi di piccole dimensioni ma anche per un'interfaccia utente straordinaria per lo zoom e ho avuto un grande successo nello sviluppo di tutti i progetti. Diamo un'occhiata a ciò che Polycode può offrirti e, si spera, ti interessi a imparare a lavorare con questo meraviglioso framework.
Dato che questo non è un pezzo promozionale per il framework, cercherò di enfatizzare le caratteristiche chiave che potrebbero interessare gli sviluppatori di giochi senza entrare nei dettagli eccessivi.
Queste sono solo le caratteristiche chiave; Ne ho tralasciate molte altre, inclusa l'animazione scheletrica, il rendering dei font TrueType pronto per Unicode e l'IDE Polycode. Un elenco più completo (ma non esaustivo) può essere trovato sul sito ufficiale.
Perché un altro quadro? Perché dovresti prendere in considerazione anche Polycode, per non parlare iniziare a lavorare con esso? Non posso persuaderti; Posso solo dare le mie opinioni ed esperienze e farti essere il giudice. Ecco alcuni vantaggi chiave di Polycode che ho trovato durante il mio tempo con esso.
Sebbene Polycode sia molto giovane, ha parecchi progetti di cui vantarsi. La maggior parte di questi non sono nemmeno giochi, ma piuttosto usi innovativi delle nostre familiari tecnologie di rendering, tattili, audio e di simulazione fisica. Qui ce ne sono alcuni:
Nel video musicale per la canzone "Heaven" di Depeche Mode, diretto da Tim Saccenti, Polycode è stato utilizzato per il rendering di proiezioni decorative sulla parete dietro la band:
Cinque schermi HD, gestiti da cinque computer, funzionano in sincronia, tutti alimentati da Polycode. Questa parete dati visualizza i dati degli Open degli Stati Uniti del 2012 e presenta simulazione fisica 3D, feedback tattile, grafica 3D sovrapposta e networking per mantenere sincronizzati i computer che visualizzano i dati. Sviluppato da HUSH. Maggiori informazioni possono essere trovate sulla pagina del progetto.
Costruito da Ivan Safrin, la stessa mente dietro al progetto Polycode stesso, Space Cruiser è un gioco strabiliante progettato appositamente per le proiezioni all'interno di una cupola planetaria e un gioco collaborativo. È stato presentato in anteprima al Planetario Hayden presso l'American Museum of Natural History. Polycode potenzia completamente questo gioco interattivo, rendendo la grafica 3D ad alta gamma dinamica da sei computer diversi, tutti sincronizzati utilizzando le funzionalità di rete del framework. Puoi leggere di questo gioco eccitante e surreale sulla sua pagina del progetto.
Puoi utilizzare Polycode sia da C ++, da Lua, sia da entrambi allo stesso tempo, disaccoppiando i meccanismi di base del tuo gioco (C ++ ad alte prestazioni) e la sua logica (Lua con script, hot-swappable). Se usi solo Lua, non hai bisogno di conoscere il linguaggio C ++ piuttosto complesso, e puoi iniziare subito la prototipazione con il grande IDE Polycode, un editor integrato che viene fornito con il framework.
Una volta che decidi di avere più controllo sui meccanismi interni, ti troverai a bisogno del C ++. La scelta è tua; Ti suggerisco di non imparare C ++ se non lo conosci già (soprattutto se non hai conoscenze di programmazione precedenti) subito. Lua è molto più leggera, amichevole per i principianti e più facile da imparare, quindi sarebbe la soluzione migliore. Dall'altro lato, se sei uno sviluppatore di giochi esperto che sta cercando di utilizzare Polycode per giochi complessi e pensati, usare C ++ e Lua in tandem è la strada da percorrere.
Per i tutorial in C ++, puoi fare riferimento a cplusplus.com, il luogo in cui ho imparato quasi tutto ciò che so sulla lingua. Per quanto riguarda Lua, puoi fare riferimento all'elenco esaustivo dei tutorial nella directory di tutorial di lua-users.org, oppure, se preferisci, puoi acquistare il libro Programming in Lua che ti darà una base solida e coprirà quasi tutto ciò di cui hai bisogno.
Avere una certa conoscenza di come funzionano i giochi è consigliato, ma non è realmente necessario: puoi capirlo da solo se segui i fantastici tutorial su Polycode.org, di cui sotto.
Polycode è un software giovane; infatti, al momento della scrittura, non ha ancora raggiunto la versione 1.0.0. La maggior parte dei progetti in questo stato non fornisce binari precompilati e nemmeno Polycode; tuttavia, il sito Web ufficiale fornisce tutto ciò che è necessario per installare Polycode correttamente e in esecuzione sul computer.
Fai riferimento alla pagina sul wiki di Polycode, scegli la tua piattaforma (Polycode funziona su Windows, Linux e OS X, con il supporto per Android e iOS pianificato in futuro, quindi resta sintonizzato) e puoi iniziare! Il processo di compilazione è semplice; infatti, sul mio sistema Arch Linux sono stato in grado di costruire il framework usando CMake senza nemmeno leggere nessuna delle istruzioni.
Nota dell'editore: LanceJZ ha aggiunto alcuni suggerimenti per far funzionare Polycode con Visual Studio nei commenti. Grazie, Lance!
Abbiamo sfogliato i vantaggi, le caratteristiche, i progetti importanti, il processo di costruzione di Polycode e ora possiamo sporcarci le mani e iniziare a fare qualcosa. Il team Polycode ha svolto un lavoro magnifico coprendo molti dei punti chiave di cui un utente finale ha bisogno per iniziare a creare giochi, visualizzazioni e simili. I tutorial di Polycode sono disponibili nella pagina del tutorial sul sito ufficiale.
Se rimani bloccato e hai bisogno di documentazione dettagliata, puoi sempre fare riferimento alla documentazione ufficiale, che puoi raggiungere dalla pagina "Impara" del sito web. Se sei ancora bloccato, puoi sempre chiedere aiuto sui forum o partecipare alla chat IRC #polycode
a irc.freenode.net
. La comunità è amichevole e disponibile, e lo stesso sviluppatore capo spesso risponde alle domande degli altri, insieme ad altri membri del team. (Ho chattato con Ivan un paio di volte online, e sembra un bravo ragazzo.)
In questo articolo, ho presentato una struttura molto giovane chiamata Polycode. Abbiamo visto come Polycode può essere utilizzato come motore di gioco e per un'ampia varietà di tipi di progetti; Ho descritto alcune delle sue caratteristiche chiave, i suoi vantaggi unici e progetti interessanti che lo utilizzano, e ho fatto del mio meglio per aiutarvi ad entrare nel processo di apprendimento di questo quadro. Happy Polycoding!