Door Yoeri Lauwers

Eindredacteur

Opensource fragging: het begon op GoT

11-08-2007 • 09:26

63

Multipage-opmaak

Bericht van GoT: Opensource fragging

Openfrag-2d-art

In 2003 vatten een paar gebruikers van Gathering of Tweakers het idee op om een eigen spel te gaan ontwikkelen. Omdat men het wel gezien had met Tetris-varianten en Mahjongg-kloons, zouden de zaken wat groter aangepakt worden: er moest een driedimensionale first person shooter geprogrammeerd worden.

Velen vreesden dat het project niet van de grond zou komen en een stille dood zou sterven, maar dat hield de enthousiastelingen niet tegen. Onder leiding van initiatiefnemer Ifass gingen ze brainstormen over de eisen die ze aan hun spel zouden stellen en gingen teamleden ronselen. Zoals het echte tweakers betaamt, moest de broncode van hun shooter openbaar gehouden worden. Het was immers niet alleen de bedoeling om er zelf van te leren, maar om ook anderen de kans te bieden inzicht te krijgen in de totstandkoming van een spel.

Sceptische fipo OpenFrag-topic
De eerste reactie in het OpenFrag-topic

Omdat niet iedereen begiftigd is met een wiskunde- en fysicaknobbel en daarbij ook nog eens in staat is deze kennis in programmacode om te zetten, werd er besloten om een bestaande engine als uitgangspunt te nemen. Zo zouden de programmeurs en modellers zich kunnen bezighouden met de gameplay, de verhaallijnen en de graphics. Verschilende engines passeerden de revue, maar in eerste instantie werd er voor NeoEngine gekozen.

* Het concept

Aan ambitie ontbrak het Ifass in elk geval niet. Het moest een multiplayerspel worden met meerdere thema's, waaronder de middeleeuwen, fantasy, wereldoorlogen en science fiction. Om een en ander toch nog overzichtelijk te houden, werd besloten dat er alleen multiplayermogelijkheden moesten zijn en dat bots met artificiële intelligentie achterwege gelaten zouden worden. De eerste aanzet zou beperkt blijven tot het middeleeuwen-concept.

OpenFrag vandaag

Al snel bleek dat OpenFrag meer zou worden dan 'een spelletje' en besloot men dat gebruikers van de software meer vrijheid moesten krijgen. OpenFrag moest geschikt gemaakt worden om zowel first person shooters als real time strategy-spellen mee te ontwikkelen. De software werd daarmee eerder een framework dan een echt spel.

NeoEngineNadat de eerste stapjes met de NeoEngine gezet waren, werd besloten over te stappen op Ogre. De belangrijkste voorwaarde daarbij was vanzelfsprekend dat de gebruikte engine opensource zou zijn. Bovendien had de Ogre-engine op het moment van de switch volgens de ontwikkelaars de potentie om een next-gen engine te worden en was deze software geschikt voor visualisatie van zowel fps- als rts-games, in tegenstelling tot bijvoorbeeld de Quake-engine, die veel nauwer verbonden is met het fps-genre.

YakeOpenFrag is echter meer dan een renderengine: het framework bundelt verschillende modules samen tot één framework dat eenvoudig aangesproken moet kunnen worden door gameontwikkelaars. Zo voorziet OpenFrag ook in physics en geluid. Daarvoor wordt naast Ogre - voor de rendering - onder meer Yake gebruikt.

Omdat de ontwikkelaars zelf wilden ervaren welke tekortkomingen hun framework heeft en waar spelontwikkelaars mee geconfronteerd zullen worden, besloten ze echter wel een eigen spel te ontwikkelen. Achter de naam OpenFrag gaan dus twee projecten schuil die elk een eigen doelstelling hebben. De eerste concrete game waar de OpenFrag-ontwikkelaars aan werken, is de fps Broken Alliance. De programmeurs zien dit spel overigens niet als een tech demo, maar willen Broken Alliance wel als zelfstandig spel op de opensourcecommunity loslaten.

Broken Alliance-boerenhuisje

Momenteel biedt OpenFrag nog geen speelbare omgeving, maar is het wel al mogelijk door een level te lopen en de menustructuur te evalueren. De ontwikkelaars verwachten dat het project een stimulans zal krijgen wanneer het mogelijk wordt om twee spelers te laten verbinden en vervolgens de interactie aan te kunnen laten gaan. Zover is men nog niet, maar men beschikt wel al over de basis voor de netwerkcode.

* De toekomst

Over de toekomst valt nog niet veel te zeggen, maar de ontwikkelaars willen in elk geval zorgen dat het framework opensource blijft. Ook de games zullen hoogstwaarschijnlijk gratis gedistribueerd worden.

Hoewel alle code in c++ geschreven wordt, zijn er vooralsnog ook geen plannen om een en ander naar Microsofts xna-omgeving te porten en het spel zo voor de Xbox 360 geschikt te maken. De focus ligt nog steeds op de ontwikkeling van een opensourceframework en -game, waarbij men eerst de mainstreamtak - de pc-versie dus - in orde wil brengen voor men aan multiplatformondersteuning gaat denken. Ook aan DirectX 10-ondersteuning of implementatie van oplossingen als Ageia's physicskaart wordt bijgevolg nog niet gewerkt.

In-game screenshot OpenFrag

Slot

OpenFrag wil zich van andere engines onderscheiden door een opensourcebenadering hoog in het vaandel te voeren. Van alle gebruikte componenten moet de broncode vrij beschikbaar zijn en de software wordt onder de gpl-licentie vrijgegeven. Dat is echter niet de enige troefkaart van OpenFrag.

OpenFrag-schetsOm het spelontwikkelaars gemakkelijker te maken, wil OpenFrag hen een uniform platform bieden waarbinnen zij alle aspecten van een game kunnen aanspreken. Hierdoor zou een programmeur zich niet langer zorgen hoeven te maken over de integratie van losse audiocomponenten, physicsondersteuning en collision detection.

Bovendien willen de OpenFrag-devvers hun software zo breed mogelijk inzetbaar maken. Hoewel het uitgangspunt de creatie van een opensource first person shooter was, groeide mettertijd de ambitie en men besloot dat ook de creatie van een real time strategy-spel of een platformgame tot de mogelijkheden moet gaan behoren.

Het OpenFrag-team heeft in de afgelopen drie jaar heel wat vooruitgang weten te boeken. Zo hoopt men binnen afzienbare tijd een eerste echte release van Broken Alliance vrij te kunnen geven. Hoewel er nog heel wat werk voor de boeg is, maken de ontwikkelaars goede vorderingen. In deze eerste versie moeten het concept van het spel en de features duidelijk worden en moeten de verschillende karakters gepresenteerd worden. De eerstvolgende stappen zullen het ontwikkelen van een verhaallijn en het verbeteren van de gameplay zijn.

OpenFrag

Reacties (63)

63
57
23
14
1
4
Wijzig sortering
Erg leuk deze review! :)

Aangezien het nu vakantie is, is het nogal rustig bij oF, over een maandje gaan we er weer tegenaan. Het is waar dat er nog heel veel moet gebeuren, zowel op game-gebied als wel organisatorisch waar een hoop dingen verbeterd kunnen worden.

Of we ooit kunnen concurreren met closed-source/commerciele engines is de vraag, maar feit is dat het vooral afhangt van onze community en hun hulp. In mijn ogen zijn we in ieder geval op de goede weg. We waren nooit zo ver gekomen zonder de leden die we nu hebben die ondanks alles toch bij het project gebleven zijn. Hartelijk dank hiervoor!

Dergelijke projecten zijn zeer afhankelijk van hulp van buitenaf, dus alle hulp is altijd welkom. Tevens wil ik nogmaals benadrukken dat het werken met een dergelijk project een gigantisch goede leerervaring is, op alle vlakken. Het is bijvoorbeeld een prima kans om je programmeerkunsten op te vijzelen, zelfs als je net begint. Het heeft me echt doen inzien wat voor een gigantisch werk een dergelijk project is.

Ik heb goede verwachtingen voor het aankomende najaar, persoonlijk denk ik dat we een hele grote stap voorwaarts gaan maken, dus houdt ons in de gaten! ;)

Wat in mijn ogen het grootste probleem zal worden is niet zozeer de code, maar juist de media. Het is erg lastig om goede 2d (concept art) en 3d (models, textures, animaties) te vinden, en juist die zijn zeer cruciaal in ons geval. Je kunt nog zo'n mooie engine hebben, maar als je het niet kan showen zal het nooit aanslaan. Er heerst dus bij ons een zeer grote vraag naar goede artists!

Heb je suggesties, ideeen, kritiek, of wil je ons graag helpen? Twijfel niet en kom eens langs! :)

Het IRC channel waar we hangen is:
irc.freenode.net #openfrag
En het forum: http://forum.openfrag.org

P.S.: Heerlijk die naiviteit en ambitie jaren terug :Y)

[Reactie gewijzigd door IFASS op 22 juli 2024 19:39]

IFASS, ik ben modeller en animator, texturen ben ik nog minder gedreven in, maar meestal komt dat ook wel goed.
Daarnaast ben ik redelijk veel bezig met gamedesign, dus als je nog mensen nodig hebt, give me a call.. Ik heb niet veel tijd over, maar ik denk dat ik wel nuttig kan zijn.
Ik denk dat het een heel stukje handiger werkt als jij je bij hem aanmeld ;) Dat kan zoals hij vermeld via het forum of op irc. Daar zullen ook de andere ontwikkelaars rondhangen
Interessant, Leuk dat er op de frontpage aandacht aan dit project wordt besteed.
Zelf heb ik ook al het een en ander met 3d gedaan, en ga ik het komende half jaar alleen maar met 3d modelling, texuring en animation bezig. Helaas heb ik geen tijd om hieraan mee te werken.
Ook vind ik het interessant dat een GoT club een nieuw open source framework gaat maken. Natuurlijk zijn er al genoeg open source alternatieven, maar die vallen nogal eens tegen. Wel een nadeel is dat iedereen jouw code in kan lezen, en zo gemakkelijk hacks en cheats kan coden, dat is helemaal frustrerend aangezien het een multiplayer game betreft.
Daarnaast wil ik jullie veel succes wensen, en ik hoop mij binnenkort ook eindelijk op de gamesmarkt te kunnen storten.
Voordeel is echter weer dat gefrusteerde gebruikers de code zelf kunnen fixen. (als de normale devvers het bijvoorbeeld te druk hebben)
Het werkt twee kanten uit ;)

Wat jij nu schetst is de reden warom veel van dit soort projecten gesloten blijven, wat heel jammer is omdat het toch grotendeels om community input draait.

Er zijn ook voorbeelden te noemen waarbij dit niet het geval is bijvoorbeeld: Openttd, (super)Tux(kart), Frozen bubble en OpenArena, echter zijn sommigen niet geheel van de grond af gebouwd of vergelijkbaar. En daar heb ik eigenlijk nog nooit cheaters of hackers gezien :)
Je hebt helemaal gelijk, ik schetste enkel mijn bezorgdheid, omdat ik het juist een goed idee vind dat iedereen er aan mee kan werken.
Het zou alleen jammer zijn indien er mensen zijn die hier misbruik van gaan maken.
mensen zouden ook tools kunnen schrijven die detecteren als een splere zicht teleporteerd, teveel damage kan krijgen, te snel loopt te hoog springt ed...
en die dan automatisch te kicken..
Wow! Het is natuurlijk lastig een groep mensen aan het werk te zetten die je nooit hebt gezien of hebt gesproken IRL. Maar het concept is volgens mij goed gefundeerd. Duidelijke doelstellingen en genoeg ambitie.

Ik ben zelf geen ster in programmeren, maar zou best open zijn om wat objecten te willen maken. Ik vermoed dat meer mensen dat hebben. Zeker nu het al in een ver stadium is, wordt het lastig om te joinen met code typen. Misschien als een er een kleine kit geschreven kan worden dat andere gebruikers de levels kan verbeteren / toevoegen / graphics helpen. Stel het is een aardige fps, met maar 1 level kan het snel floppen.
Ook aan DirectX 10-ondersteuning of implementatie van oplossingen als Ageia's physicskaart wordt bijgevolg nog niet gewerkt.
Correct me if I'm wrong, maar is dat niet iets dat volledig van de gekozen engine afhangt? Het lijkt mij geen kleinigheid om halverwege over te stappen naar een nieuwe engine, tenzij MS dit heel makkelijk heeft gemaakt voor developers :X .
Wat heeft MS hier ineens mee te maken?
Echter de engine is LGPL in plaats van GPL, dit ook in reactie op SuperDre.
het ziet er wel goed uit. alleen het is deuidelijk dat er nog veel werk nodig is. ik heb mischien wel interesse, waar kan ik me mogelijk inschrijven, ik ga gamedesign studeren (bij de nhtv ( iemand een kamer vrij ;) ), en kan oefening goed gebruiken.

ik heb veel levels gemaakt voor oa ut2004. en kan dat hiervoor waarschijnlijk ook wel.
ben redelijk met maya. dus als iemand me een link zou kunnen sturen zou ik erg blij zijn

[Reactie gewijzigd door freaq op 22 juli 2024 19:39]

Ik raad je aan even contact op te nemen met Geert Schoots Hij is degene die min of meer het project coordineert. Al zal hij dat van zichzelf niet zeggen. :P Verwacht niet dat het project een hoog tempo heeft. oF bestaat zo een drie jaar en in die jaren is het eind doel altijd lering en vermaak geweest.
Kijk eens op http://www.openfrag.org/
En het GoT-draadje: forum: [3d Game Project] OpenFRAG * waar het mee begonnen is...

[Reactie gewijzigd door DarkFly op 22 juli 2024 19:39]

BNen heel benieuwd hoe dit gaat uitpakken, een open-source game op dit niveau is uiteraard interessant!

Jammer dat er nog weinig foto's beschikbaar zijn, afwachten dus.

In de laatste alinea spreekt men:
maken de ontwikkelaars goede vorderingen
maar die URL werkt niet ....
Bij vorderingen zie ik liever een linkje naar een progsel dan naar de wiki! :P

De laatste demo :

http://forum.openfrag.org/list_messages?id=1254

Broken Alliance is een van de subprojecten van openFrag. Broken Alliance moet resulteren in een speelbare exe itt openFrag, wat meer de paraplu is.
Jammer het niet voor Linux geschreven is :|
Zullen ze vast wel een reden voor hebben maar de OS community is wel een beetje multi-platform tegenwoordig.
Het is wel altijd de bedoeling geweest om openFrag multi platform te maken. Vooralsnog hebben we moeite genoeg om het draaiend te maken op windows. Zodra die versie een beetje goed werkt gaan we onze blik richten op linux.
In het stukje wordt gesproken over directx. Of beter, dat ie er nog niet voor geschikt gemaak is. Die overwegen doet vermoeden dat er wel directx gebruikt wordt, maar dan een lagere editie. Dat maakt het potentieel ongeschikt als multiplatform product lijkt mij.
Of klopt mijn interpretatie niet ?
Tsja, toch een beetje jammer dan, heb je een project wat zich richt op open source, maar alleen draait op een closed source platform. Is niet zo open als het artikel deed geloven...
Maarja, ik wacht het wel af, ik heb geen haast. Voorlopig ben ik nog wel even bezig met het omgekeerde: om een closed source spel op een open source OS te spelen (world of warcraft }>)...
Zodra die versie een beetje goed werkt gaan we onze blik richten op linux.
Dat lijkt me eigenlijk een vreemde aanpak. Je komt straks allemaal dingen tegen die je misschien al veel eerder in het ontwikkeltraject had willen verwerken. Ik zou ervoor hebben gekozen om alles vanaf het begin multiplatform te maken. Dat is misschien niet altijd even eenvoudig, maar werpt uiteindelijk zijn vruchten af.
Toen ik het artikel las ging ik er eigenlijk al blindelings vanuit dat het voor Linux ontwikkeld was... 8)7
op zich moet het "gewoon" op linux werken
ik had echter wat moeite met het compileren van alle dependancies die vaak lang niet allemaal in de repositories zitten
In de laatste alinea spreekt men:

maken de ontwikkelaars goede vorderingen

maar die URL werkt niet ....
Vermoedelijk moet het deze link zijn

http://wiki.openfrag.org/doku.php?id=game_ba_roadmap

[Reactie gewijzigd door AndreStarTrek op 22 juli 2024 19:39]

Dat iets wordt vrijgegeven onder de GPL zegt tegenwoordig niet echt veel meer. Versie 2 of 3 of later?
Ik weet niet welke versie dat "of later" dan zou moeten zijn :P
In principe staat in de GPL dat de versie of een latere versie gebruikt mag worden. Bij GPL 2 mag dus ook GPL 3 aangenomen worden.
Bovendien is de ophef over GPL 3 vooral over specifieke details die bij GPL 2 niet of nauwelijks beschreven waren. Noch aan de onderliggende gedachte noch aan de belangrijkste delen is (veel) gesleuteld.

[ontopic]
Voor wat ik allemaal lees is het best indrukwekkend, maar zitten developers hier op te wachten? Er zijn al goede engines voor 3D, Sound en Physics beschrikbaar(3d: Orge, OpenGL, sound: OpenAL, physics: naam kwijt, misschien OpenPL :P). Die bundelen voor 'e'en bepaald spel lijkt me niet heel veel werk. Ik ben natuurlijk geen developer, dus ik weet niet in hoeverre dit meerwaarde bied natuurlijk. Ach ja, als ik over een paar jaar een leuk RTS'je kan spelen met mijn mede-tweakers vind ik het allemaal prima ;)
Nog een kleine aanvulling voor engines:
3D: Irrlicht
Sound: Audiere
Physics: Newton Game Dynamics, ODE

Ik heb bij het game-project bij ons op school gebruik gemaakt van van Irrlicht in combinatie met Audiere voor geluid. Irrlicht is behoorlijk vergelijkbaar met Ogre, maar had voor ons toen een paar pluspuntjes (kan me alleen even niet meer herinneren wat dat precies was). Bij een 2e project hebben we zitten spelen met Newton, gecombineerd met Irrlicht. Het grote voordeel van al deze engines was dat ze compleet vrij te gebruiken waren: ook voor commerciele doeleinden. Irrlicht is daarin helemaal makkelijk: Hier heb je precompiled versies, hier heb je sourcecode, veel plezier ermee. Je mag aanpassen en recompilen, gebruiken voor commerciele games en het enige wat daar tegenover staat is dat ze het fijn zouden vinden als je even ergens vermeld dat je Irrlicht hebt gebruikt, maar zelfs dat is niet eens verplicht. :)
had hier nog nooit van gehoord.. Misschien een tip om deze ook op te nemen in de inmiddels steeds groter wordende database:

http://www.devmaster.net/engines/

Ik kan me trouwens goed indenken dat een commercieel bedrijf geen gebruik zal gaan maken van deze engine hoe goed deze ook zou worden.. als je namelijk je complete code mee moet leveren dan zie ik dat dus niet gebeuren...
Ik kan me trouwens goed indenken dat een commercieel bedrijf geen gebruik zal gaan maken van deze engine hoe goed deze ook zou worden.. als je namelijk je complete code mee moet leveren dan zie ik dat dus niet gebeuren...
Dat is natuurlijk waar, maar als het doel "ter lering en vermaak" is, maakt dat weinig uit. Als men wel een commercieel succes zou willen zijn er natuurlijk voldoende mogelijkheden om dat via bv een dual license mogelijk te maken.
Ik zou wel een remake willen zien van Johnny Castaway
Iets wat tenminste op hogere resoluties draait dan 640x480. Door bv het eiland van hem iets groter te maken zodat het 2 palmbomen heeft hij bv ook een hangmat kan maken. Bedoel daar kunnen aardig wat ideeen in gegooid worden.

Jammer dat het nog nooit geprobeerd is om dat eens te doen. (en nee ik heb geen bal verstand van coding om het zelf te doen ;) )
Misschien kan je iets anders goed, animeren bijvoorbeeld? Ik zou er een topic over starten, het is lang niet zo omvangrijk als een game en er zijn fans genoeg te vinden dus wie weet :).

Op dit item kan niet meer gereageerd worden.