Interactief > Etalage

OpenGameDesigner: Games bouwen zonder te programmeren

(1/3) > >>

commandoline:
Velen van jullie zullen Game Maker kennen, een programma waarin je met wat klikken en slepen in de kortste keren een eigen game bouwt. Helaas ontbreekt het nog altijd aan een goed open-source alternatief. Tijd om daar verandering in te brengen, dachten we als de ontwikkelaars van OpenTeacher... We presenteren hierbij een preview (versie 0.01) van ons nieuwste programma: OpenGameDesigner.

OpenGameDesigner is momenteel nog niet voor veel meer bruikbaar dan een simpele animatie, maar we hopen dat nu snel uit te kunnen breiden. De infrastructuur is er.

Huidige functies:

* Een game (voorlopig dus animatie :P) bouwen zonder te programmeren, door middel van klikken en slepen in de gebruiksvriendelijke ontwikkelomgeving.
* Exporteert naar HTML 5 (Canvas). Games draaien dus in iedere moderne browser. Daarnaast zijn we van plan het in de toekomst mogelijk te maken ze in een los computerprogramma te laten draaien, als smartphone apps, etc. Dat is allemaal vrij makkelijk dankzij deze technologie.
* Heeft een eigen programmeertaal ingebouwd om games nog eens extra aan te passen (net als Game Maker): LPS. De taal heeft wel wat weg van JavaScript en Python, maar is helemaal gericht op het maken van games.
Al uitproberen?
Op eigen risico ;)

In een terminal:

--- Code: ---sudo apt-get install bzr python-qt4 python-qt4-phonon python-ply
bzr branch lp:opengamedesigner
cd opengamedesigner
python opengamedesigner.py

--- Einde van code ---

Vul voordat je op 'Run' of 'Export' klikt in het programma altijd iets in bij:

* Game settings -> start room
* Voor ieder object: sprite
* Voor ieder room: background
Meehelpen met de ontwikkeling?

* Spreek je een andere taal dan Nederlands? Help OpenGameDesigner te vertalen. (De Nederlandse vertaling is vrijwel altijd up-to-date omdat we die zelf onderhouden.)
* Kan je programmeren in Python of JavaScript? Kom eens langs in onze chatroom.
* Tips? Gewoon wat kletsen? Bezoek ook dan onze chatroom.[/b]
Meer informatie?
Chatroom: #openteacher op irc.freenode.net
Website (in aanbouw): http://opengamedesigner.org/
Launchpad: http://launchpad.net/opengamedesigner

Screenshot


EDIT: screenshot toegevoegd

Vistaus:
Game Maker vroeger wel eens gebruikt. Dank voor dit prachtige project, ik ga het zeker eens proberen! :)
Hebben we de komende tijd lekker te spelen met 2 game makers: http://www.ubuntuvibes.com/2012/04/craftstudio-game-maker-reaches-funding.html

commandoline:

--- Citaat van: Vistaus op 2012/04/15, 20:31:13 ---Game Maker vroeger wel eens gebruikt. Dank voor dit prachtige project, ik ga het zeker eens proberen! :)
Hebben we de komende tijd lekker te spelen met 2 game makers: http://www.ubuntuvibes.com/2012/04/craftstudio-game-maker-reaches-funding.html

--- Einde van citaat ---
Ah, die kenden we nog niet. Het is niet hetzelfde, dus het maakt niet zoveel uit voor ons project. Maar mooi dat het bestaat natuurlijk :).

Even een update: Het is intussen mogelijk om te reageren op botsingen, toetsenbordaanslagen en muisklikken, het is daardoor nu mogelijk om een aantal simpele games te maken. Zie voor een voorbeeldje onze website. Daarnaast is er al een Duitse vertaling bijgedragen, leuk in deze projectfase!

Tenslotte hebben we al wat onderzoek gedaan naar het openen van Game Makerbestanden. Dat wordt waarschijnlijk de volgende stap zodra ook het maken van complexere games goed werkt.

Rachid:
Leuk initiatief! Hier ga ik zeker eens naar kijken :)


--- Citaat van: commandoline op 2012/04/15, 16:02:30 ---
* Heeft een eigen programmeertaal ingebouwd om games nog eens extra aan te passen (net als Game Maker): LPS. De taal heeft wel wat weg van JavaScript en Python, maar is helemaal gericht op het maken van games.
--- Einde van citaat ---
Misschien een stomme vraag. Maar kun je niet juist JavaScript of iets dergelijks gebruiken met bepaalde uitbreidingen of bibliotheken voor LPS? Ik zou dan denken dat, zou je meer willen, je dan "volledige" vrijheid/mogelijkheden hebt. Uiteraard moet je dan wel weer meer programmeervaardigheden hebben. Of past dat niet in de huidige opzet (of jullie doel)?

commandoline:

--- Citaat van: Rachid op 2012/05/22, 12:43:23 ---Misschien een stomme vraag. Maar kun je niet juist JavaScript of iets dergelijks gebruiken met bepaalde uitbreidingen of bibliotheken voor LPS? Ik zou dan denken dat, zou je meer willen, je dan "volledige" vrijheid/mogelijkheden hebt. Uiteraard moet je dan wel weer meer programmeervaardigheden hebben. Of past dat niet in de huidige opzet (of jullie doel)?

--- Einde van citaat ---
Juist een heel goede vraag :). We hebben serieus overwogen om een bestaande taal te gebruiken, maar daar hebben we uiteindelijk niet voor gekozen. We willen de drempel zo laag mogelijk houden, en dat betekent dat een aantal dingen die in andere talen essentieel zijn ontbreken (bijv. argumenten voor 'scripts'). Daarnaast is het vrij gemakkelijk om bijv. JavaScript verkeerd te doen (var vergeten? window object vervuild), en dat was toch wel de meest voor de hand liggende optie als we een bestaande taal zouden gebruiken. Python naar JavaScript compileren (optie 2) is mogelijk, maar dat blijft een beetje een hack en is niet goed voor de performance omdat allemaal Python-eigen dingen gesimuleerd moeten worden. Daarnaast heeft ook Python allerlei dingen ingebouwd die we voor het ontwikkelen van games niet nodig vinden. Maar inderdaad, onze beslissing gaat ten koste van flexibiliteit. Aangezien de 'standard library' wel in de doeltaal (JavaScript) geïmplementeerd is, is het vrij simpel om in de toekomst evt. toch over te stappen naar één van de twee bovenstaande mogelijkheden mocht LPS toch niet bevallen. Voor extra flexibiliteit zouden we het ook mogelijk kunnen maken om eigen Javascriptlibraries toe te voegen, die vervolgens weer vanuit LPS worden aangesproken. Dat zou al een hoop schelen, lijkt me.

Even ter verduidelijking van bovenstaande hoe OGD momenteel werkt:
- IDE genereert LPS (evt. doet de gebruiker daarin een aantal handmatige aanpassingen)
- LPS wordt geparsed (of is dat eigenlijk al, de IDE gebruikt intern nl. niet LPS maar de bijbehorende abstract syntax tree)
- LPS wordt naar Javascript 'gecompileerd'
- Standaardlib wordt toegevoegd (in de toekomst kunnen we hier ook libs van derden invoegen)
- Het geheel wordt door een browser/in-IDE met webkit uitgevoerd.

Nieuws
We blijven bezig met het toevoegen van basisfuncties, maar sinds eergisteren is het daarnaast mogelijk om geluiden van http://freesound.org te gebruiken. We zijn voor afbeeldingen iets dergelijks van plan met http://openclipart.org/ .

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie