Project Portfolio. Jaap van Muijden, oktober 2007



Vergelijkbare documenten
Modulair Levels Bouwen

Aan het begin verliet Tony Campmans ons team, we hebben dus het hele project met één persoon minder gewerkt.

Cover Page. The handle holds various files of this Leiden University dissertation

Zelftest Java concepten

Uitgebreid eindwerkvoorstel Lokaliseren van personen en objecten met behulp van camera s

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

1 De basis. Documenten om te bewaren. Extra leesvoer: Start Here Handleiding Gamemaker. 2 Geschiedenis van Games en Gamegenres

Technisch Ontwerp W e b s i t e W O S I

Programmeren in C ++ met wxwidgets les 5

WESTPOINTDIGITAL MOBILE APPS DEVELOPMENT

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Projectdocument Pretty Fly for an AI

Firewall van de Speedtouch 789wl volledig uitschakelen?

Onderzoeksvaardigheden 2

Projectorganisatie Marc Martojo Esther krijnen Rodger Buyvoets Danilo Meulens

UBC op Microsoft Windows 64-bits

Cursus Onderwijs en ICT. Programmeren met Visual Basic

Starten met Kodu Gamelab

HTML Graphics. Hans Roeyen V 3.0

Stageverslag. Versie 1.0 Wijnand Warren, K3 Annen,

HET BESTURINGSSYSTEEM

APPENDIX 3. Visueel voetmodel ter simulatie van voetkinematica aan de hand van planetaire drukdata (Friso Hagman)

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Applicaties op afstand draaien met X11

ISBN: NUR-code: 648 Bouwkunst, Architectuur 1 ed. Uitgeverij Ontmoeting, Huizen, NH * Materialen *Texturen

Next-gen level in Unity

Werkplekvisie. Hans van Zonneveld Senior Consultant Winvision

Erik Poll Martijn Warnier.

Tekenen met een potlood

PR november 2009 Software, op PC gebaseerde besturing Pagina 1 van 5

R-Type 2009 Developing in XNA

Analyse probleem remote execution

ProjectHeatmap. Onderzoeksrapport v Dennis Wagenaar

Curriculum Vitae. Ing. R. van de Roer (Rogier) Geboortedatum: 10 oktober Informatica / Informatiekunde, Den Haag

Beleef het nieuwe Klantverwijssysteem

Plan van Aanpak. Christophe Deloo, Roy Straver & Machiel Visser. Versie 4 ( )

Artikel / Parametrisch ontwerpen en rekenen. Een hype of de toekomst?

BK3070 Rendering en Licht. BK Renderen en licht

Hoge school van Amsterdam. Jeroen Zonneveld [POP VERSLAG] BU Keuzen verslag Jeroen Zonneveld. Publieke versie

Interactief, real time security management

Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen

TFS als perfecte tool voor Scrum

Dit is een greep uit mijn stageverslag. 4. Citrix migratie

Geo-data als onderdeel van het eco-systeem van het web. Marcel Reuvers 2 september 2015

Dutch / Nederlands. Versie 1.2

Werking van de Office Connector, en het oplossen van fouten.

Creatief onderzoekend leren

Connect Social Business

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture

Veel gestelde vragen nieuwe webloginpagina

DrICTVoip.dll v 2.1 Informatie en handleiding

Projectplan. Joost Besseling Coen Boot Michiel Doorn Jorrit Dorrestijn Rens de Heer Joost Houben

React en React Native voor websites en apps

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon

Nederlandse samenvatting (Dutch summary)

Tot zover Format Doelgroep Locaties Grounding the narrat Interactie Motivatie

De werkelijke namen en beschikbaarheid van menuopdrachten kunnen per mobiel platform verschillen. De stappen kunnen ook verschillen.

BK Licht en Renderen Workshop 3 Technisch Ontwerp en Informatica

LES 4 & 5 GAMEMAKER4YOU

Web Handleiding. semper vigilant Fall 2014 LOCALBOX 1.1.3

OpenChange. Jelmer Vernooij. LinuxWorld 2009, Utrecht 4 november OpenChange. MAPI MAPI/RPC OpenChange Huidige status Toekomst.

Voor op afstand os installatie moeten de volgende onderdelen geïnstalleerd zijn op de Windows 2000 server.


EnVivo Magnetische 2.0MP Webcam

Beleef het nieuwe Klantverwijssysteem

Dynamiek met VO-Script

Software Test Plan. Yannick Verschueren

Inhoud. Introductie tot de cursus

Functionele beschrijving: scannen naar Exact Globe.

Recognition and Detection of Objects Using Visual and Textual Cues S. Karaoğlu

Piotr Tekien GAR1-D ISA Project The Documentary 21 juni 2015

MATHBUILDER-SOFTWARE. MathBuilder-software. MoreToMath-software in de klas. Systeemvereisten

Leza biedt gebruikers de mogelijkheid om pc s, laptops en servers te back-uppen en back-ups te herstellen.

Soft-Solutions. Stageverslag

MMIO Verslag. Groepsopdracht week 1. Hoe zorgen we dat kinderen van jongs af aan gezonder leren eten?

Zonnepanelen Hoe krijg je de data op je website?

Magic hands doet Orivouwi

Tips & Tricks: Tip van de maand November Office Integratie

TRAIN SERVICE & SHUNTING PLANNER

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity.

Het definitieve prototype van Foliostory zal op basis van een usability test getest worden.

Vakgroep CW KAHO Sint-Lieven

Projectdocument Minecraft Mod Builder

Microsoft Windows XP Professional installatiegids.

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

Een infra DevOps CI/CD straat

ECM Crowd Simulation in Unity

Functionele beschrijving: scannen naar UNIT4 DocumentManager

Prijs: 899 Upgrade: 449,00. MovieDVsuite - Videomontage zonder omhaal!

AMBIENT REALITY EFFECTS

Programmeren: Visual Basic

Landelijk Indicatie Protocol (LIP)

Zelftest Informatica-terminologie

Transcriptie:

, oktober 2007

Voorwoord Met dit document tracht ik een idee te geven van de competenties die ik heb opgebouwd op het gebied van Game Design en Computer Graphics, en de projecten waarbij ik betrokken ben geweest. De meeste projecten zijn uit eigen initiatief gestart, en zijn alleen of met een klein team van twee personen uitgevoerd. De projecten zijn eigenlijk allemaal in mijn vrije tijd gemaakt, en de concrete ontwikkeltijden zijn daarom nogal moeilijk in te schatten. Helaas is veel van de broncode niet meer (direct) beschikbaar, maar uiteraard is het altijd mogelijk om dieper in te gaan op de gebruikte technieken, en -waar mogelijk- eventuele broncode in te zien. Bij veel van de projecten is een kleine demo beschikbaar onder het diskette icoon. Persoonlijke gegevens Naam: Geboortedatum: 20-09-1983 Adres: Zwaan 52 Postcode: 2381 KK Plaats: Zoeterwoude E-mail: jaapvanmuijden@xs4all.nl 1

In het kort Over mijzelf Ik ben bezig met het creëren van spellen sinds ik voor het eerst achter een Commodore 64 kroop. Mijn eerste spellen waren vooral text(ascii)-based, waarna ik al snel de overstap maakte op de verschillende BASIC talen, waarin ik vooral grafische isometrische adventure games maakte. Eerst in QBasic, toen Visual Basic, totdat ik rond mijn zeventiende eindelijk in contact kwam met C; een verademing na jaren BASIC, en C++ is nog steeds veruit mijn favoriete taal. Na wat 2D-games (o.a. Space Melee en Mole Miners, zie verderop in dit document) begon ik met behulp van DirectX en OpenGL 3D games te ontwerpen, waar ik me nu nog steeds erg graag mee bezig houd. Hoewel ik voor mijn opleiding heb gekozen voor de grafische kant van game design, ben ik ook zeer geïnteresseerd in de andere aspecten zoals physics, AI en networking. Daarnaast ben ik ook bezig met GUI(design), heb ik als hobby (pixel)tekenen, en ben ik groot fan van de 2D Retro-look. Ik speel zelf eigenlijk nagenoeg alle soorten (PC) games, en ik ben nu al een tijd nieuws-redacteur en reviewer voor FOK!games, één van de meest bezochte game-sites van Nederland. Ik richt me daar vooral op de technische aspecten, en ik ben bezig met het schrijven van een technische How it works artikel-reeks die daar binnenkort zal worden gepubliceerd. Tijdlijn 1999-2003 2002-2005 2005-2007 2006-heden MBO opleiding CIT productontwikkeling te OGH Voorburg - Voltooid. Bachelor opleiding Elektrotechniek te TH Rijswijk - Voltooid. Bachelor Technische Informatica te TU Delft - Voltooid. Computer Science/Computer Graphics te TU Delft 2005-heden Redacteur en game reviewer van FOK!games Ervaringen C++ Win32 API TCP/IP C# OpenGL DirectX Compilers 4+ jaar, meerdere projecten (STL en andere bibliotheken) 3+ jaar mee gewerkt, vooral GDI, netwerk en GUI functionaliteit Meerdere applicaties, TCP en UDP via traditionele Winsock 2.0 en IOCP. Recent één project mee gewerkt, zie verderop in dit document Vaak vroeg in de ontwerpfase gebruikt, meestal in samenwerking met GLUT Versies 7,8 en 9, vooral Direct3D, shaders geschreven in HLSL en DX9. Meerdere simpele(!) compilers/evaluators ontworpen, waarvan één met OO ondersteuning. Daarnaast heb ik tijdens mijn projecten en studies gewerkt met de volgende platforms en technieken: HLSL (PS en VS), C#,.net framework (XNA), Rigid Body Physics, Skeletal Animation, Speech Recognition, Managed DirectX, Direct Draw, STL, Berkley Sockets. Visual Studio, GCC en DevC++. Theoretische achtergrond Theoretische en praktische ervaring met vectoren en matrices (2,3 en 4D), en bekend met de verschillende transformatie(matrice)s in de Polygon Pipeline. Ook vertrouwd met wiskundige technieken als diagonalistatie, digitale filters, signaaltransformaties, aliasing en sampling. Brede achtergrond op het wiskundige vlak, inclusief differentiaalvergelijkingen en complexe getallen. Verder bekend met schaduw-technieken zoals Shadow Volumes en Shadow Mapping en de standaard technieken en effecten zoals Bump Mapping (Normal Mapping), HDR, Bloom, Tone mapping en Cartoon Shading. Ook bekend met netwerkstructuren als Winsock, de TCP/IP stack en IOCP (Overlapped Transfers in Windows) 2

Mole Miners Het slagveld. Vier mijnwerkers strijden om de poen Om in Le Shoppe wapens te kunnen kopen... Mijn laatste 2D-project voordat ik overstapte op 3D. Mole Miners is een remake van de klassieker Mine Bombers. In dit spel moet de speler de strijd aangaan met maximaal drie andere mijnwerkers om zo veel mogelijk schatten op te graven. Met de opgegraven rijkdommen kunnen de spelers explosieven en ander wapentuig kopen om het graven te versnellen, en om de tegenstanders dwars te zitten. (meestal komt het vooral neer op het laatste). Het origineel was geschreven voor MS-DOS door de Finse ontwikkelaar Skitso Productions. Mijn remake maakt gebruik van DirectDraw 7. Ik heb geprobeerd om de oude look&feel van het DOS-tijdperk te handhaven. Naast deels opgefriste graphics MoleMiners nieuwe wapens, met verbeterde algoritmes. Technische details Het spel heeft dertien wapens, welke allemaal eenvoudig als aparte modules aan de broncode konden worden toegevoegd door middel van abstractie en Generic Programming. Het spel maakt gebruik van een ingebouwde kaartgenerator voor de levels en een zelf ontworpen algoritme om het real-time verspreiden van gas en vloeistof realistisch te laten verlopen. Zo kan de speler gassen en vloeistoffen loslaten die zich realistisch door de tunnels zullen verspreiden....wordt het veld wordt zo snel mogelijk geroofd van al zijn schatten. 3

Het project is uiteindelijk stopgezet omdat ik er een betere grafische back-end bij wilde maken, aangezien het spel op de oudere systemen wat stroef begon te lopen als er te veel bewegende objecten op het scherm stonden, ondanks de verscheidene optimalisaties die ik had toegepast. De gebruikte DirectDraw-implementatie is achteraf gezien nogal simpel, en crasht zodra de device context is verloren (bijvoorbeeld door alt-tab). Desondanks haalde ik redelijk goede prestaties met deze oplossing. De assets worden via een GDI-stub ingeladen in een DIB, waarna deze wordt gekopieerd naar een DirectX RGB surface. Ik maakt in dit project gebruik van Color-Keying om transparantie te creëren. Hoewel ik het origineel vooral grafisch wilde benaderen, zijn alle gebruikte afbeeldingen van de grond af opgebouwd en ontworpen door mijzelf....om elkaar daarna te lijf te gaan met explosieven en ander wapentuig. Hieronder een korte samenvatting van de meest interessante wapens, overgenomen uit de readme: Barrel Doesn't explode by itself, but creates a very deadly rolling flame. Can wipe out cave structures when walled in and detonated remotely. Does what a mine does, invisible, except for a blip now and then. Doesn't explode by itself, creates random effects of various bombs in the area. Big BOOM Dynamite with remote detonator. Shoots extremely strong bursts to the sides that cut through everything. Explosive gas that spreads through the tunnels. Can be used to direct gas and rolling flames into your enemies cave system. Roll this around to make a handy fuse. Creates an expanding foam that hardens explodes when exposed to air. Best weapon ever. Cement that creates the same effect, without the exploding. Mine Crate Nuke Remote1 SpikeBomb2 Gas Wall Powder Keg Bag1 Bag2 Mole Miners Rond 2002-2003 Beta (afgebroken) Back-end Win98-Vista, DirectX 7 DirectDraw7, DirectInput, Win32 GDI, C++ DirectX 7 API Visual C++ 4

Etherial De speler is hier te zien met een aantal Scripted Actors. Etherial was één van mijn 3D projecten in DirectX 8. Ik werkte samen met een tweede ontwikkelaar Roel Reijerse waarmee ik hierna nog veel andere projecten ben gestart. We creëerden een simpele fixed-pipeline 3D engine met ondersteuning voor materials, textures en simpele color-ops. Het spel zou een soort 3D adventure moeten worden. Het ondersteunde simpele culling en space partitioning voor de omgevingen, die automatisch gegenereerd werden. De meest interessante feature van dit project was het Dynamic Obj Library Linker (DOLL) systeem. Dit bestond uit een dynamische linker die gecompileerde.obj files in run-time kon linken aan ons scriptsysteem. Zo konden we scripts draaien die waren geschreven in C of assembler, en gecompileerd met Borland C++. We hadden een paar boerderijdieren gescript die achter de hoofdpersoon aanliepen. Helaas is het project wegens tijdgebrek gestopt. De modellen waren gemaakt in de low-poly modelleer-software Milkshape, De bad guy en met een coverteerprogramma omgezet naar ons interne formaat. Het spel ondersteunde skeletal animation en een click-'n-play systeem waardoor modellen gemakkelijk op elkaar konden worden geplakt om wapens, kleding en andere gescripte objecten te combineren. Etherial Rond 2002 Alpha (afgebroken) DirectX 8, Win32. Linking, Skeletal Animation DirectX 8 API Visual C++ 5

Toolkits & Frameworks Naast deze games heb ik een aantal toolkits geschreven die vooral heb ingezet om het ontwikkeltraject van enkele games te versnellen. Deze heb ik uiteindelijk weinig gebruikt, maar gaven me inzicht in de verschillende OS systemen en hebben me vooral geholpen met het schrijven van netwerkcode en met het snel ontwikkelen van een GUI onder windows. The GDI toolbox Deze toolbox bevat een verzameling C++ wrappers die gebruikt kunnen worden om snel dialoogvensters te creëren (hetzij via de resouce section, hetzij direct), en bevatte functies om afbeeldingen in te laden en te manipuleren in DIBs. Stutter Stutter is een simpele bibliotheek die de gebruiker in staat stelt om direct op het GDI framework van Windows grafische operaties te verrichten. Zo ondersteunt het Alpha-Blending, Color Keying en rotaties van afbeeldingen. Het had bibliotheken om TGA files met transparantie in te laden en bevat simpele Anti-Aliasing logica voor tekst en lijnen. Het wordt vooral gebruikt voor het opzetten van een lichte grafische interface. Het maakte op zijn beurt weer gebruik van The GDI toolbox JNetwerk Een tweetal C++ wrappers om de standaard Winsock-en Berkley Sockets interfaces, met ondersteuning voor IOCP, wat ik in de tweede versie heb laten vallen om het geheel zo licht en portable mogelijk te houden. Het wordt op dit moment gebruikt in mijn IFCON project, en wordt steeds uitgebreid. Het bestaat uit een aparte interface definitie, en een Winsock2.0 implementatie, zodat het snel en gemakkelijk kan worden omgezet naar traditionele Berkley Sockets voor bijvoorbeeld Linux applicaties. Ik heb het o.a. voor een (grafische) debug-console over TCP en een UDP/TCP-repeater om netwerk lag te genereren. Toolkits & Frameworks 2002-2007 Work In Progress Winsock, IOCP, Berkley Sockets, GDI+,DirectX 7 Winsock 2.0, Win32 API Visual C++ 6

Easter Egg Een top-down flyer die was bedoeld als een Easter-Egg in een plugin voor een intern elektronisch simulatiepakket van de TH Rijswijk. Uiteindelijk is project nooit geïntegreerd omdat de plugin eigenlijk sneller klaar was dan de Easter-Egg. In deze game was ik vooral bezig met de modellen en textures. De levels waren gegenereerd aan de hand van afbeeldingen die als hoogtekaart werden gebruikt. Het modelleren is wederom gedaan in Milkshape, met een eigen omzetter naar een handelbaar formaat. Het is ontworpen in Borland C++ Builder, aangezien we daarin ook de plugin zelf geschreven hadden. Het spel ondersteunde verschillende waves van vijanden en wapens Easter Egg Rond 2004 Afgebroken DirectX 8, DirectX 8 API Borland C++ Space Melee Space Melee was een Cave Shooter met multiplayer ondersteuning en de mogelijkheid tot User Created Content. Er is helaas weinig meer van terug te vinden. De engine was redelijk uitgebreid, en laadde het level in drie delen in. Het eerste gedeelte was een bitmap met collision informatie, de tweede was een x-bits afbeelding die het level moest grafisch moest voorstellen, waarbij elke kleur naar een bepaalde texture werd omgezet. Zo kon een speler met een simpel tekenprogramma zoals MSPaint zijn eigen levels creëren. Een derde bestand beschreef de interactieve objecten in een simpele scripttaal. Het spel had pixel-per-pixel collision detection (met early rejection algoritmes) waarbij de speler met zijn voertuig niet alleen kon schieten, maar er ook voor kon kiezen om met zijn voertuig stukken uit de omgeving te rammen door er tegenaan te vliegen. Elke speler had een royale hoeveelheid wapens waarvan de werking simpel was aan te passen of uit te breiden. Helaas zijn er geen screenshots van bewaard gebleven. Space Melee Rond 2001-2002 Beta (afgebroken) DirectDraw7, DirectInput, C++ DirectX 7 API Visual C++ 7

Procedural Tree Generation Split-view van één van de gegenereerde landschappen Het doel van dit project was het genereren van een landschap. Aangezien een kaal landschap niet erg uitdagend was, werd er besloten om het landschap op te vullen met bebossing. De opdracht voor dit project kwam van de TU Delft, en aangezien ze daar vooral met OpenGL werken, is er besloten om deze opdracht in OpenGL te implementeren. Er werd daarbij gebruik gemaakt van de GLUT bibliotheek voor initialisatie van de OpenGL omgeving. Zonsondergang Het algoritme dat is gebruikt is door mijzelf ontwikkeld en geïmplementeerd. Het is een recursief algoritme dat over elke tak wordt toegepast. De skybox is gegenereerd met 3rd party software, het algoritme voor terreingeneratie is geschreven door mijn teamgenoot. Een demonstratieprogramma van het algoritme is beschikbaar. Resultaten van het algoritme 8

En nog ééntje als afsluiter Procedural Tree Generation Rond 2006 Afgesloten Demo WinXP-Vista,OpenGL,GLUT OpenGL, procedural generation, L-systems OpenGL, GLUT DevC++,Visual c++ 9

Raytracer met Photonmapper Caustics, refraction en global illumination De bekende Ring-Scene Als vervolg op het vorige project is er een Raytracer ontwikkeld, met de mogelijkheid om Photon maps te genereren en te renderen. Deze Photon mapping techniek zorgt ervoor dat er met weinig rekenkracht een grote sprong kan worden gemaakt in realisme, mits de scene zelf voldoet aan bepaalde eisen. Er zijn meerdere builds gemaakt, waarvan ééntje gebruik maken van instructieset-specifieke optimalisaties. Sommige demo executables draaien daarom alleen op Pentium 4 of nieuwer. Ikzelf was vooral betrokken bij het opzetten van het ontwerp en de implementatie van de wiskundige vergelijkingen en intersectie algoritmes. Later in het ontwerpproces is de implementatie grotendeels overgenomen door mijn teamgenoot. SDL is gebruikt voor het weergeven van de resultaten Raytracer 2006-2007 Afgesloten Demo app &.avi WinXP-Vista, SDL o.a. Raytracing en Photonmapping. SDL Visual C++ 10

PlanetView Het uitklapproces vastgelegd PlanetView is een simpele applicatie die de aardbol laat zien met daarop verschillende datasets. Er zijn een aantal nieuwe technieken gebruikt. Het was mijn eerste project dat gebruik maakt van.net en C#. Verder draait nagenoeg het gehele programma op de GPU, en maakt het gebruik van het DirectX/XNA framework. De Vertex shader bestaat uit een aangepaste tween-actie (gehackte radial-lerp) die de Vertices roteert en uitklapt van een bol naar een vlak. De Pixel shader is verantwoordelijk voor het mixen en belichten van de sets. Er worden meerdere datasets gebruikt, sommige laten het effect van de jaargetijden zien op de poolkappen, anderen laten het verschil tussen dag en nacht zien, of beide. Het uiteindelijke resultaat PlanetView 2006-2007 Afgesloten Demo WinXP-Vista, XNA &.net 2.0 benodigd HLSL,.net, C#, XNA, managed DirectX XNA,.net framework Visual C# Express 11

IFCON Test applicatie waar Actors worden toegevoegd, verwjiderd en gemanipuleerd. Blauw is bewegend, Lichtblauw is vastgeklemd, rood is stabiel evenwicht door zwaartekracht Integration-Free Collision Over Networks. Een project waar ik sinds kort mee bezig ben. Het is een zelf ontworpen collision/physics framework in C++ dat een integratie-loze timestepping techniek gebruikt. Alle verplaatsing-trajecten worden intern algebraïsch geregistreerd als (oplossingen van) simpele differentiaalvergelijkingen die voor elke willekeurige tijd kunnen worden opgelost. Elke interactie (botsing) met de omgeving zorgt er voor dat deze vergelijkingen opnieuw worden opgesteld. De tijd tot de volgende interactie kan deterministisch worden vastgesteld door een kwadratische vergelijking op te lossen, hoewel dat op dit moment nog met lineaire benadering wordt gedaan in verband met het gebruikte BSP systeem. Dit event-based systeem heeft meerdere voordelen: het synchroniseren van de actors over verschillende omgevingen over een netwerk heeft De actors zijn convexe gebieden van willekeurige grootte relatief weinig bandbreedte nodig met een relatief en omschrijving, de vaste omgeving een serie polygonen. hoge naukeurigheid. De algoritmes zijn dusdanig opgesteld dat ze nagenoeg onafhankelijk zijn floating-point fouten, en bevatten geen epsilon waarden of andere offsets die beschermen tegen nauwkeurigheidsfouten; het geheel draait op dit moment op float precisie. Verder kan er tegen met een minimum aan geheugengebruik en ontwikkeltijd een geschiedenis worden bijgehouden van de trajecten, en kan de tijd zonder problemen achteruit worden teruggespeeld. Het nadeel is dat rotatie van bounding-hulls (bijv. voertuigen) niet (gemakkelijk) te implementeren is zonder gebruikte maken van discrete integratie of recursieve benadering, iets waar ik met dit systeem juist vanaf wil, verder heeft dit systeem (nog) geen fysieke interactie tussen dynamische objecten, hoewel de botsingen tussen twee convex hulls wel mbv sweeping worden gedetecteerd. 12

Het wiskundige framework is op dit moment in 2D, vanwege de complexiteit en de mankracht tot mijn beschikking. Mijn doel is om er een snelle online 2D shooter mee te maken. Het systeem ondersteund op dit moment nog geen 2D-CSG (geomod), maar de algoritmes zijn al ontworpen en getest in een apart project. Hiermee wordt het mogelijk om de omgevingen real-time aan te passen, denk aan het bouwen van bruggen en muren, en het opblazen en aanpassen van het speelveld. Waarschijnlijk zal ik in de toekomst overstappen op quadtrees in plaats van een BSP-tree om de culling precies te houden wanneer ik overstap van lineaire benadering op een volledig algebraïsche oplossing. (Iets wat overigens bijna geen extra CPU kracht vraagt.) Ik ben op dit moment met een uitgebreide test applicatie het framework aan het testen, en de eerste tests beloven een erg precieze, en relatief lag -ongevoelige spel-ervaring. IFCON 2007 Work in progress Demo applicatie WinXP-Vista, GLUT Zie omschrijving GLUT, Win32, Winsock2.0, JNetworks Visual C++ 13