Motore di gioco 2D consigliato per la prototipazione [chiuso]


76

Quale motore di gioco di alto livello consiglieresti di sviluppare un prototipo di gioco 2D su Windows? (o mac / linux se lo desideri)

Il tipo di cose che intendo per "alto livello" include (ma non è assolutamente limitato a):

  • non dover gestire cose di basso livello come buffer dello schermo, contesti grafici
  • avere un'API per disegnare forme geometriche
  • beh, stavo per ometterlo, ma suppongo che basarsi su un vero linguaggio di "alto livello" sia un vantaggio (la gestione automatica delle risorse e l'esistenza di un ragionevole insieme di strutture di dati nella libreria standard vengono in mente).

Mi sembra che Flash sia il proverbiale elefante nella stanza per questa query, ma mi piacerebbe molto vedere risposte diverse basate su tutti i tipi di lingue o SDK.

Risposte:


31

Ho usato pygame ampiamente e ha molti aspetti positivi:

  • è una libreria per Python, che è un linguaggio di alto livello
  • ha una buona documentazione chiara
  • ha una comunità attiva

Pygame è un wrapper per SDL, una libreria grafica 2D multipiattaforma. Pygame ha anche wrapper per audio, musica, ecc. Nota che nonostante Python sia un linguaggio di programmazione di alto livello, pygame è (per la maggior parte) una libreria grafica di livello piuttosto basso.


3
Potresti voler dire che, sebbene sia in un linguaggio di alto livello, come framework di gioco è ancora piuttosto di basso livello.
Henk,

5
Sì, puoi facilmente passare alcune settimane a costruire lentamente un motore di gioco in PyGame senza molto gioco reale da mostrare. È un'ottima libreria, ma nella mia esperienza dovrai costruire un codice di framework nel tempo prima che funzioni per la prototipazione rapida di idee più coinvolte.
James,

35

Se vuoi guardare altre cose. Puoi dare un'occhiata a Löve (che utilizza Lua)


4
Whoa, sembra un modo super divertente per imparare lua!
GloryFish,

9
Solo per notare, ho scritto il suddetto commento nel 22 settembre 2010. 7 giorni dopo mi sono seduto e in una notte ho creato il mio primo gioco Löve senza aver mai scritto Lua prima. Da allora ho creato diversi giochi con Lua e Löve e attualmente sto trasferendo un gioco Löve su iOS. È stato un ottimo linguaggio di prototipazione e un ottimo modo per imparare Lua.
GloryFish,

2
È fantastico da ascoltare: D
Ólafur Waage

20

Trovo che XNA sia un linguaggio molto piacevole da prototipare. È facile mettere insieme idee rapide per vedere come il gioco / la meccanica funzionerebbero e abbastanza forte da portare a termine il lavoro. Ha anche una grande comunità nei forum di aiuto e diversi strumenti di terze parti (motori fisici / librerie di supporto / ecc.)


Poiché Microsoft XNA è DOA, la prossima cosa migliore è Monogame (implementazione open source di XNA).
ashes999,

2
Lo supporteranno ancora e puoi ancora prototipare i giochi con esso. Semplicemente non stanno offrendo nuove funzionalità. Non lo definirei morto, ma piuttosto in pensione :)

18

GameMaker sembra un buon prototipo introduttivo di gioco o strumento di costruzione. Si basa sul trascinamento della selezione "senza la necessità di scrivere una singola riga di codice", quindi sembra rivolto ai principianti. (Non l'ho mai usato, mi è appena capitato di attraversarlo - ma il loro sito web sembra sicuramente liscio. :)



14

Vale la pena ricordare anche il Flixel di Adam Atomic . Un motore di gioco semplice, moderno, a ossa nude scritto in Flash. Puoi impararlo in pochi minuti, non in giorni. E l'uso di Flash (o Processing / Java) ti impedisce di affrontare una delle insidie ​​più pericolose della prototipazione: non puoi usare il codice del prototipo su nessuna piattaforma seria. È il gioco che vuoi prototipare, non il codice.


1
+1 per Flixel. Ottimo motore Lo abbiamo usato al Global Game Jam (e abbiamo vinto :). Non è possibile ottenere prototipi semi-lucidati molto più velocemente di 48 ore!
michael.bartnett,

Davvero fantastico. Ho suonato stamattina e mi ha insegnato ActionScript da zero.
mcintyre321,

@ michael.bartnett, puoi collegarti al tuo gioco vincente? Solo curioso :)
James McMahon,

@JamesMcMahon Apprezzo la tua curiosità :) Puoi parlarmi in chat a riguardo? Inoltre, vorrei menzionare per i futuri lettori di commenti che preferirei Flashpunk su Flixel al giorno d'oggi tra loro due.
michael.bartnett,

8

Non è specificamente un motore di gioco, ma guarda in Elaborazione . Alcuni dei punti positivi sono:

  • È richiesta una configurazione minima. Puoi avere qualcosa sullo schermo in 30 secondi.
  • Può immergersi in Java in qualsiasi momento per cose come le raccolte, ma molta sintassi di disegno, animazione e interazione è molto meno dettagliata di Java semplice.
  • Qualunque cosa tu scriva sarà compatibile con Processing.js , quindi puoi lavorarci ovunque tu abbia un browser moderno.

8

Uso Novashell.

Ho usato Game Maker come strumento principale, ma ho avuto un problema con YoYo Games (non spiegherò qui ora), quindi ho trovato Novashell.

Novashell è DAVVERO uno strumento di prototipazione, è stato creato dalla persona che ha anche creato "LORD" (Legend of Red Dragon) e "Dink Smallwood" in modo da poter velocizzare i giochi per Ludumdare (una competizione di game game di 48 ore), ha un editor di mappe , supporta gli script LUA, è realizzato in C ++, ha la licenza zlib (il che significa che puoi fare tutto ciò che vuoi con il sorgente, a meno di affermare che hai inventato cose che non hai fatto), e ha un motore fisico (Box2D), sistema di particelle (Linear Particle for ClanLIB), supporta MikMod e Fmod, funziona in Linux, Mac e Windows, è estremamente facile da usare e puoi chiedere cose a Seth!

EDIT: Seth è il nome del programmatore (che ha anche reso LORD)


Grazie! mai sentito parlare di questo prima, ma l'elenco delle funzionalità è abbastanza interessante da provarlo. anche open source
Nek,

Sì! La mia versione di Novashell è leggermente migliorata rispetto alla versione ufficiale, ma ci vorrà MOLTO tempo prima di poterlo rilasciare :( (non è nemmeno in un computer fisicamente vicino a me)
speeder

comunque non ho tempo di impararlo prima del Ludum Dare in questo fine settimana. Spero che lo rilasci prima del prossimo LD.
Nek,

anche il keynote di questo LD è dello stesso Seth!
Nek,

Sì :) Seth è fantastico ... Non sto al passo con i LD :( Quindi non ho idea nemmeno quando sarà il prossimo LD.
Speeder

7

Game Maker è molto interessante, praticamente fa tutto ciò che hai descritto. Ha icone di trascinamento della selezione per principianti e codice per utenti esperti. Tuttavia, dopo aver usato il C ++ esclusivamente per oltre un anno, tornare a Game Maker è stato ... doloroso.

Svantaggi:

  • Nessuna struttura dati definita dall'utente (niente come le strutture C o le classi C ++, solo "oggetti")
  • Digitato dinamicamente (digitare "varAwesome = 0" e oh mio dio è appena apparso)
  • YoYo Games è malvagio

upsides:

  • Facile da usare, difficile da padroneggiare
  • Fa molte cose di basso livello per te
  • Comunità vivace e attiva

Ho iniziato a creare giochi con Game Maker nel 2002. :)


6
lol a dinamicamente tipizzati - lato negativo ...
RCIX

Sì, quello e la digitazione debole. Ho ricevuto alcuni bug davvero strani prima di rendermi conto che l'operatore del modulo stava restituendo risposte in virgola mobile.
James,

Nessuna struttura dati definita dall'utente è una seccatura. Se è necessario restituire più di un valore da una funzione, è necessario creare un oggetto per esso, ma tutti gli oggetti sono attori di gioco completi con una posizione, eventi, ecc. Non è possibile passare intorno agli array (se non si specifica un indice, assumerà [0])
Bart van Heukelom il

Raccomando anche GameMaker se si desidera prototipare rapidamente il design del gioco. GameMaker è molto potente e ho visto alcune cose incredibili fatte con esso. Potresti potenzialmente risparmiare un sacco di tempo e dolore se prototipi la progettazione del tuo gioco in GameMaker prima di passare allo sviluppo di un motore di gioco in C ++ o XNA.
Cooper

In realtà ho una libreria di script di allocazione dinamica della memoria per ovviare al problema della mancanza di strutture di dati. Dirò che avere tali librerie e poterlo fare nella versione Lite rende sicuramente molto facile lavorare con.
The Great Duck

5

Uso DarkBASIC Professional da 2 anni e mi diverto davvero. Se non puoi permetterti di acquistare la versione completa, puoi semplicemente scaricare la versione gratuita supportata da pubblicità. I Game Creators, i produttori di DBPro, pubblicano anche una newsletter periodica che rende abbastanza buona la lettura, inoltre hanno una comunità attiva abbastanza ampia; tutto quanto sopra può essere trovato qui:

https://www.thegamecreators.com/

Dai un'occhiata, speriamo che tu possa trovare qualcosa lì.

Saluti, BFM


5

cocos2d che utilizza pyglet . Uso queste due librerie Python ampiamente per la prototipazione.

Molto più facile da lavorare rispetto a pygame.

Sono sorpreso che non sia stato ancora menzionato!


5

Consiglierei Scirra Construct per principianti e prototipazione rapida.

Il motore di gioco stesso è astratto, quindi puoi concentrarti interamente sul tuo gioco. I plugin abilitano funzionalità aggiuntive, il "codice" è composto da blocchi trascinabili di eventi, condizioni e azioni ecc.

Il costrutto è in fase di sviluppo attivo e ha anche una comunità attiva.


3

Il Scrolling Game Development Kit versione 2 è la seconda grande iterazione (riscrittura) di un IDE di sviluppo del gioco e di un framework per questo tipo di prototipazione e semplice sviluppo di giochi 2D. Come seconda iterazione, sfrutta i linguaggi moderni (C #) e le tecnologie (riflessione sul codice personalizzato) oltre a risolvere alcuni dei difetti fondamentali nella progettazione (ora consente di posizionare gli sprite direttamente nell'editor della mappa anziché solo un percorso che deve essere collegato esternamente a uno sprite e non cerca di essere un tale editor Wysywig perché ci sono alcune cose che vuoi che accadano solo in fase di esecuzione e altre che desideri solo in fase di progettazione).

Alcune delle caratteristiche di interesse:

  1. La stragrande maggioranza del codice del framework è esposta e modificabile all'interno dell'IDE. Se non ti piace il modo in cui si comporta la funzione integrata "PushTowardSprite", puoi visualizzare l'editor e modificarlo oppure aggiungerne uno che verrà visualizzato nell'elenco insieme a tutti i comandi integrati.
  2. Hai menzionato la capacità di disegnare poligoni. Questo framework si basa su OpenTK, che è un wrapper .NET per OpenGL. Quindi hai tutto il potere di OpenGL a portata di mano. Esiste una singola classe "Display.cs" nel codice del framework che è possibile modificare all'interno dell'IDE per aggiungere le funzionalità di disegno desiderate.
  3. Gran parte del framework è mirato alla fisica dello scroller laterale (camminando su pendii, pedane di guida, ecc.), Quindi molto di quel codice è già stato fatto per te; ovviamente puoi personalizzarlo o ignorarlo per altri tipi di giochi 2D. Un gioco Tetris è stato scritto con esso.
  4. Scorrimento di parallasse
  5. La traslucenza alfa può essere incorporata nella grafica o applicata al disegno di qualsiasi grafica.
  6. Tutti i dati del progetto vengono salvati in un singolo file XML (un set di dati .NET). Gli editor esterni possono accedere al file estendendo in tal modo le funzionalità disponibili nell'IDE se necessario.
  7. I progetti vengono compilati prima in progetti C # (compatibili con Visual Studio) e poi in file EXE (con tutte le risorse incorporate). Se necessario, è possibile caricare il progetto in Visual Studio per il debug avanzato o l'interfaccia di sviluppo del codice.

3

Con PreviewLabs, un'azienda specializzata nella prototipazione rapida , utilizziamo spesso Unity3D per prototipare giochi 2D.

Sebbene sia un motore 3D, ci sono diversi modi per usarlo per la prototipazione 2D. Questi sono i principali vantaggi:

  • È gratuito per l'uso su piattaforme PC e Mac
  • Le versioni a pagamento funzionano anche per iOS e Android, permettendoti di vedere come il tuo concetto funzionerebbe su una piattaforma diversa.
  • Viene fornito con un motore fisico, che puoi utilizzare anche durante la prototipazione di giochi 2D.

Sto scrivendo una serie di post sul blog su come Unity3D può essere utilizzato per la prototipazione di giochi 2D; questo è il primo: prototipazione di giochi 2D in Unity3D


3

Il quadro Slick scritto in Java è una buona scelta. È quello che ho usato per la prima volta per imparare a programmare. I vantaggi sono che funziona su più piattaforme, può produrre applet per il Web e ha un fantastico supporto di strumenti / librerie tramite Eclipse o qualsiasi altra cosa abbia l'ambiente Java. Detto questo alla fine sono passato a Flash semplicemente perché se vuoi distribuire i tuoi giochi non c'è niente di più facile o più efficace.


2

Ho iniziato a utilizzare FlashPunk per il mio primo progetto di sviluppo di giochi, e finora è stato davvero fluido. È una libreria Flash creata per la progettazione di giochi. È un motore di gioco semplice come Flixel, ma è più simile a GameMaker, essendo più intuitivo per i principianti rispetto a Flixel. FlashPunk insieme a Ogmo Editor rende molto efficiente ottenere la progettazione corretta a livello senza dover dedicare molto tempo alla programmazione. Maggiori informazioni su tutti e tre questi possono essere trovate nel Flash Game Dojo .


1

Secondo la menzione di Game Maker. Direi che se ogni motore di gioco cade in continuum da "facile da usare / imparare ma limitato in quello che puoi fare" a "veramente potente, ma richiede molto tempo per padroneggiare" ... Game Maker è praticamente la definizione dell'estremo facile da usare. Come dice Ciclope, la maggior parte delle funzionalità di base (sprite, creazione di oggetti di gioco, movimento, rilevamento delle collisioni, controllo del punteggio, ecc.) Sono icone di trascinamento della selezione. In realtà include anche un linguaggio di scripting abbastanza robusto che puoi usare anche quando inizi a diventare bravo ... ma quando inizi a scrivere l'intero gioco nel loro linguaggio di scripting incorporato, forse è il momento di "laurearti" in un linguaggio di scripting come Flash o PyGame.

Tuttavia, ho avuto un grande successo con Game Maker come uno strumento principiante e senza necessità di programmazione per gli studenti di game design e non posso raccomandarlo abbastanza.


1

Sono un principiante nella creazione di giochi, e sono stato impressionato di riuscire a creare qualcosa di pigmeo così rapidamente e facilmente. Python + SDL = facilità assicurata.


1

Bene, se è per la prototipazione non hai davvero bisogno di un back-end elegante con gestione delle risorse e cose del genere. Finché è possibile caricare la grafica e visualizzarli, si è per lo più impostati. Sto andando controcorrente e propongo di "scrivere il tuo". Perderai zero tempo a capire come usare l'API di qualcuno. Se scrivere da soli non è davvero un'opzione, DirectX viene fornito con un framework di esempio che fornisce la maggior parte dei servizi di base. Non essere vincolati da un framework significa non perdere tempo seguendo le sue regole e non essere limitati dal suo campo di applicazione. Ho prototipato come un lavoro e i miei risultati più veloci sono stati quando ho potuto bash nel codice senza doversi preoccupare o essere ostacolato da un framework. Un wrapper 2D non ha davvero bisogno di altro che caricare le immagini e poterle visualizzare su x, y, possibilmente con scala, rotazione e se vuoi essere trippy, shader. Il resto è possibile codificare di cui hai bisogno. Per un prototipo che è - il codice non sarà bello.


1

Torque-2d di GarageGames è un ottimo motore di gioco con una grande community, alcuni componenti aggiuntivi davvero impressionanti e supporto integrato per Windows, Mac e Wii e persino iOS (su licenza separata). Costa $ 99.

Unity3d (è possibile sviluppare giochi 2D su di esso) è un altro ottimo motore di gioco di alta qualità con una barriera relativamente bassa all'ingresso. Ancora una volta, ottima community e supporto multipiattaforma davvero interessante, inclusi iOS e Android, oltre a Win / Mac, Wii, Xbox, Playstation e Web.

Un ottimo motore di gioco incentrato su iPhone è cocos2d per iOS.


1

La tua domanda è su cosa serve per scrivere un prototipo di gioco 2D, ma penso che ci sia qualcos'altro da considerare: il più grande vantaggio di Flash è quello che serve per condividere quel prototipo con altri. Quasi tutti hanno già installato Flash. Posso caricare un file SWF e passare l'URL a qualcuno tramite chat o e-mail. Nessun download, nessuna installazione, nessuna decompressione, nessun exe, nessun problema multipiattaforma. Ho finito per scegliere Flash perché era così facile condividere e ottenere feedback. L'iterazione comporta il caricamento di nuovo e il comando di ricaricare e volevo una rapida iterazione per la prototipazione. (Javascript + Canvas / SVG è un'altra opzione utile e sono sicuro che presto vedremo librerie come Flixel / Flashpunk per JS).


1

HGE sembra fantastico.Ha Editor di particelle, Editor di GUI e utilizzato da programmatori professionisti.


1

C'è sempre GLBasic .

È un linguaggio di livello piuttosto elevato e recentemente ha ampliato il suo supporto mobile.

  • È sia 2D che 3D
  • Gratuito per non commerciale
  • Comandi sprite di base, con pixel o blocco collisione
  • Scrivi una volta e distribuisci su molti dispositivi e piattaforme (principalmente)
  • Ha il supporto Box2D tramite wrapper (forum di ricerca)
  • TIPI di dati personalizzati con funzioni (vicini a una classe ma mancano molte funzionalità OOP)
  • Può far muovere uno sprite sullo schermo in breve tempo con poche righe di codice

1

PixieEngine è un IDE basato sul web e un ambiente di sviluppo di giochi. Utilizza CoffeeScript per gli script e fornisce un editor integrato per pixel art ed effetti sonori.

PixieEngine IDE


1

Sono stato in una ricerca simile e ho incontrato alcuni altri strumenti non menzionati qui:

  • Stencylworks è un ambiente IDE / dev per la creazione di giochi Flash molto rapidamente e facilmente, un'interfaccia visiva per i moduli esistenti. sembra essere libero al 100%, non open source, e i vantaggi principali includono una codifica semplice e senza codice (non è come lo script schitzoid / l'interfaccia visiva di Gamemaker). Mi preoccupo dei limiti dell'interfaccia visiva: non è chiaro quanto sia realmente orientato agli oggetti; ha certamente cose semplici; presumibilmente l'editor di script javascript è lì da qualche parte, ma non l'ho ancora visto. Sembra essere pensato per lo sviluppo collaborativo al suo interno (chat integrata in IDE; tutte le risorse e i comportamenti ospitati su un server, forniti dall'utente). Potrebbe essere GRANDE per lo sviluppo di prototipi. Non ci ho ancora fatto molto, ma il tutorial era molto semplice e

Ho provato anche alcuni altri più strani.

Alice è un ambiente di gioco / sviluppo 3D open source - sembra un po 'goffo.

Kodu, andando oltre Gamemaker nello spettro facile / limitato, rivolto ai bambini, ti consente di creare giochi con un controller Xbox. esente da Microsoft Research

Scratch, di MIT Labs, è un 2D gratuito e davvero di base, volto a coinvolgere i bambini nella programmazione. Visivamente goffo. Flessibile però.

Tornando indietro al LOGO di Papert, Microworlds JR ti consente di scrivere nel logo, presumibilmente. Deve essere utile un aggiornamento, IMO.

Per me, finora, si tratta di Construct 2 vs Stencylworks ... anche se controllerò quanto sia facile costruire un gioco 2D decente in Unity, come conosco e mi piace Unity.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.