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)?
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.
NieuwsWe 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/ .