BlackB zei:
Ik ben naar de informatiedagen geweest en daar zei 1 van de profs dat een job in de game wereld realistisch is. Dan wel in de grotere projecten omdat de onderliggende structuren ook moeten worden gemaakt.
Daar ben ik enigszins mee akkoord, en ik denk dat ik weet waar die prof. op doelt. Ter info: ik kom zelf uit een WeWi8, heb vorig jaar mijn bachelor informatica afgewerkt en dit jaar mijn 1e master burgie CW (ge kunt van bachelor informatica rechtstreeks overstappen naar master burgerlijk computerwetenschappen -- de meesten doen dit, de master wiskundige informatica wordt amper gekozen).
Het klopt dat een opleiding als DAE u veel sneller in staat zal stellen om een game uit de grond te stampen dan een universitaire opleiding, maar daar dient een universitaire opleiding ook niet voor. Een universitaire opleiding heeft veeleer als doel om u een grondige fundamentele kennis bij te brengen, maar zeker ook om u een perspectief te geven op wat er allemaal bestaat en omgaat in de academische wereld.
En ja, daaronder vallen onvermijdelijk dikke wiskundecursussen, maar het eindresultaat is dan ook iemand die er bv. geen probleem mee heeft om een nieuwe grafische methode die voorgesteld wordt in pakweg een SIGGRAPH-paper te lezen, begrijpen en te implementeren. Iemand uit een DAE-opleiding zal denk ik niet ver geraken in zo'n paper zonder te verdrinken in het vakjargon.
En vergis u niet, de academische wereld is
enorm belangrijk in de game-industrie en bij uitbreiding in de grafische industrie. Ik moet u waarschijnlijk niet vertellen dat moderne game-engines de state of the art van veel verschillende vakgebieden combineren, en die state of the art komt nu eenmaal vanuit de academische wereld.
Dat bedoelt die professor waarschijnlijk met "onderliggende structuren"; grofweg gezegd zal iemand uit een universitaire opleiding waarschijnlijk eerder werken aan de onderliggende fundamenten van een engine zoals simulatie van physics, AI en 3D-technieken, terwijl iemand uit een DAE-opleiding eerder die bestaande engine zal gebruiken om er op voort te bouwen en er een speelbaar game mee te maken.
BlackB zei:
Ik kan een beetje c++ wat xml en ik bouw al 2 jaar websites als vakantiejob en ook in het weekend waar ik zowel php als html gebruik om de gratis software joomla aan te passen aan de behoeften van het bedrijf. Ik heb ook 2 jaar lang aan private servers gewerkt van games zoals tibia. Waar ik in c++ en xml enkele aanpassing heb gemaakt en eigen servers heb gehost.
Dit was voor mij ongeveer dezelfde situatie, maar voor een positie in de game-industrie maakt dit op zich eigelijk zo goed als geen verschil. Wat aanpassingen aan Joomla maken is kinderspel vergeleken met game-engines. Wat wel het verschil maakt is de juiste ingesteldheid en gedrevenheid hebben.
BlackB zei:
Ik wou nu beginnen met een beetje java maar dat lijkt me nutteloos als aangezien het de eerste blok is in informatica.
Die lessen van Java in de eerste semester zijn waardeloos. Da zijn echt de uberbasics: for-loops, if-else, while-loops, switches, blabla. Speel maar wat met Java, ze gaan u in't 1e semester in nen achterlijken IDE steken (BlueJ).
BlackB zei:
Ik wil niet perse een job in de games maar wel heb ik een voorkeur voor de grafische wereld. Momenteel zit men interesse daar. Ook software ontwikkeling zegt me veel ik heb dan iets minder intresse in netwerken enz.
Het verschil zal hem er in zitten of ge meer de fundamentele/vernieuwende kant wilt opgaan waarin da ge de academische ontwikkelingen volgt, of da ge eerder de toepassingsgerichte kant wilt opgaan zonder u al te veel te willen verdiepen in de onderliggende machinerie.
Ik persoonlijk ben iemand die van alles wil weten hoe het werkt, en over het algemeen zo weinig mogelijke "libraries die voor u werken" wil hebben. En ik moet eerlijk zeggen, met enkele strategisch gekozen keuzevakken kunt ge een vrij goed zicht krijgen van de onderliggende fundamentals van verschillende aspecten van game engines.
Bijvoorbeeld, relevante vakken die ik zelf gevolgd heb:
Artificiële Intelligentie: voor AI
Wetenschappelijk Rekenen: voor snelle implementaties van Lineaire Algebra-problemen, physicssimulatie (Runge-Kutta-integratie ed.)
Beeldverwerking: voor een grondige kennis van beeldfrequenties, interpolatie, aliasing, filters, compressie, nyquist-theorema etc.
Compilers: voor bv. implementatie van scriptingtalen
(Geavanceerde) Computerarchitectuur/Besturingssystemen: simpelweg onmisbare kennis,
zeker voor high-performancesystemen als games. Onderwerpen omvatten onder meer virtual memory, paging, assembler, caches, CPU-architectuur en -instructiesets, etc.
Algoritmen & Datastructuren I, II en III: belangrijk om snelle algoritmes te kunnen implementeren (en om te weten welke structuren ge best gebruikt etc).
Lineaire Algebra en Meetkunde: absoluut onmisbaar voor alles dat met 3D te maken heeft. Zowat alles in 3D komt neer op lineaire algebra.
Dat betekent niet dat ik nu op 1-2-3 een game kan schrijven, verre van, maar het betekent wel dat ik een stevige en brede basis heb om zelfstandig op voort te bouwen om bv. mee te werken aan een game engine.
BlackB zei:
Maar ik had het over iets grotere meer een simulatie van het echte werk bv een tekstverwerker waar je dan gedurende een volledige semester aan werkt met 4 mensen ofzo. Ik zeg maar wat.
Dergelijke projecten zijn er, maar de groepkes beginnen met een klein aantal mensen en worden pas daarna groter.
In eerste bachelor was er een RNA-analyseprogramma dat geschreven moest worden. Was individueel dacht ik, maar was wel nog uitgebreid genoeg om op uw alleen te schrijven.
In tweede bachelor was er een soort beursspel da gemaakt moest worden in groepkes van zo'n 4 man dacht ik. Veel spel was daar eigenlijk niet aan, da kwam eerder neer op een soort fake management-interface voor aandelen waarin ge ze dan zogezegd kon verkopen tussen verschillende users.
In derde bachelor was er een vakoverschrijdend project waarin samengewerkt wordt met studenten van een grafische opleiding aan HoGent in groepjes van een stuk of 6-7 man. Bij ons was dat een webshop ontwikkelen, maar andere jaren hadden een online chatplatform en er zat ergens ook een (eenvoudig) game tussen dacht ik.
In 1e Master CW is er in het 1e semester het vak Softwarearchitectuur waarin in een groep van 8-9 man een software-architectuur voor een concrete business case wordt uitgewerkt. In het 2e semester wordt in het vak Softwareontwerpproject die architectuur dan gebruikt om het programma ook daadwerkelijk te implementeren.
Mijn groep had dit jaar bv. een multimedia-aggregatieserver die content verzamelt via UPnP en YouTube en terug beschikbaar stelt over UPnP en die dan kan afgespeeld worden op een PS3/TV/PC/.... Andere groepjes hadden een cloud-computingsysteem voor videodelivery en een soort Robot Wars-achtig spel met van die Lego-robots.
Beeld u dat echter niet te rooskleurig in, ge zult merken dat de programmeerskills van uw jaargenoten nogal eens serieus durven tegenvallen

Het is anders wel een goede oefening op het goed functioneren van en binnen een team (misschien ook net daarom).
Btw, die opmerking over die paper was geen zever, ben zelf bezig met http://research.microsoft.com/pubs/67276/criminisi_tip2004.pdf te implementeren als een Photoshop-plugin. Photoshop CS5 heeft da wel standaard nu, maar wees gerust, ook daar bestaat een paper over ^^