Zelf games makenwww.wouterbaars.net
Games Maken
NFF & SBA Wouter Baars
Zelf games makenwww.wouterbaars.net
Game productie wat hoort daarbij?
• Graphics:– 3D modelling– Textures– 2d Artwork– Animaties– Fonts, enz.
• Software:– 3Dmax– Maya– Photoshop
• Of open source:– Blender– Gimp
Zelf games makenwww.wouterbaars.net
Property schipangle,radius,richting,snelheid--later energy en dergelijke toevoegen
on getpropertyDescriptionList me list = [] addProp list, #richting,[#comment "richting in hoek",#format #float,#default0.05] addProp list, #snelheid,[#comment "snelheid",#format #integer,#default5] return listend
on exitframe me -- verplaatsing schotel radius = sqrt(power(abs(sprite(me.spritenum).loch-sprite(2).loch),2) + power(abs(sprite(me.spritenum).locv-sprite(2).locv),2))
Gameproductie vervolg
Programmeren:
- C (++)- Scripting- Speciale platforms (bv
webgames)
Zelf games makenwww.wouterbaars.net
Gameproductie vervolg
Audio:
• Midi
• Audio
Software:
• Logic
• Cubase
• Protools
Zelf games makenwww.wouterbaars.net
Gameproductie vervolg
Concept design:• Verhaallijn
• Storyboard
• Level design
• Spelregels
Zelf games makenwww.wouterbaars.net
3d: Hoeveel vrije tijd heb je?
Zelf games makenwww.wouterbaars.net
Hoeveel vrije tijd heb je? - vervolg
Programmeren in C of in een scripttaal?
Zelf games makenwww.wouterbaars.net
Scripttaal versus “C”typedef struct { double x,y,z;} XYZ;
/*
Rotate a point p by angle theta around an arbitrary axis r
Return the rotated point.
Positive angles are anticlockwise looking down the axis
towards the origin.
Assume right hand coordinate system.
*/
XYZ ArbitraryRotate(XYZ p,double theta,XYZ r)
{
XYZ q = {0.0,0.0,0.0};
double costheta,sintheta;
Normalise(&r);
costheta = cos(theta);
sintheta = sin(theta);
Zelf games makenwww.wouterbaars.net
Scripttaal versus “C”
q.x += (costheta + (1 - costheta) * r.x * r.x) * p.x;
q.x += ((1 - costheta) * r.x * r.y - r.z * sintheta) * p.y;
q.x += ((1 - costheta) * r.x * r.z + r.y * sintheta) * p.z;
q.y += ((1 - costheta) * r.x * r.y + r.z * sintheta) * p.x;
q.y += (costheta + (1 - costheta) * r.y * r.y) * p.y;
q.y += ((1 - costheta) * r.y * r.z - r.x * sintheta) * p.z;
q.z += ((1 - costheta) * r.x * r.z - r.y * sintheta) * p.x;
q.z += ((1 - costheta) * r.y * r.z + r.x * sintheta) * p.y;
q.z += (costheta + (1 - costheta) * r.z * r.z) * p.z;
return(q);
}
Zelf games makenwww.wouterbaars.net
Scripttaal versus “C”XYZ ArbitraryRotate2(XYZ p,double theta,XYZ p1,XYZ p2)
{
XYZ q = {0.0,0.0,0.0};
double costheta,sintheta;
XYZ r;
r.x = p2.x - p1.x;
r.y = p2.y - p1.y;
r.z = p2.z - p1.z;
p.x -= p1.x;
p.y -= p1.y;
p.z -= p1.z;
Normalise(&r);
costheta = cos(theta);
sintheta = sin(theta);
Zelf games makenwww.wouterbaars.net
Scripttaal versus “C” q.x += (costheta + (1 - costheta) * r.x * r.x) * p.x; q.x += ((1 - costheta) * r.x * r.y - r.z * sintheta) * p.y; q.x += ((1 - costheta) * r.x * r.z + r.y * sintheta) * p.z;
q.y += ((1 - costheta) * r.x * r.y + r.z * sintheta) * p.x; q.y += (costheta + (1 - costheta) * r.y * r.y) * p.y; q.y += ((1 - costheta) * r.y * r.z - r.x * sintheta) * p.z;
q.z += ((1 - costheta) * r.x * r.z - r.y * sintheta) * p.x; q.z += ((1 - costheta) * r.y * r.z + r.x * sintheta) * p.y; q.z += (costheta + (1 - costheta) * r.z * r.z) * p.z;
q.x += p1.x; q.y += p1.y; q.z += p1.z; return(q);}
Zelf games makenwww.wouterbaars.net
Scripttaal versus “C”
In scripttaal:
Rotate (“kubus”, axis, degrees)
Zelf games makenwww.wouterbaars.net
Bekende scriptalen die voor het maken van games
gebruikt worden:
(zie: www.gamesmaken.startpagina.nl)
GML (Gamemaker)
Lingo (Macromedia director)
Basic (o.a. Darkbasic, Real Basic, .net)
Python (Pygame, diverse games: Soldner wars, Battlefield I
Blender gamekit)
Actionscript (Flashgames)
Zelf games makenwww.wouterbaars.net
Gamemaker: games maken zonder ‘programmeren’
Zie: www.gamemaker.nl
Zelf games makenwww.wouterbaars.net
Resultaten Gamemaker...
Zelf games makenwww.wouterbaars.net
Gamemaker lessen resultaat
Zelf games makenwww.wouterbaars.net
Level Editting
• Worden bij veel games meegeleverd
• Eigen speler, level, avatar, monsters enz. maken
• Wel extern 3d of grafisch pakket nodig
Inzet bij educatie? Bv. Ckv les.
Zelf games makenwww.wouterbaars.net
Game modding
Zelf games makenwww.wouterbaars.net
3d gamekits
Zelf games makenwww.wouterbaars.net
Nuttige sites om verder te leren games te maken
• www.gamemaker.nl
• www.gamesmaken.startpagina.nl
• www.informaticaVO.nl
• www.gameuniv.net
• www.game-maker.nl
Zelf games makenwww.wouterbaars.net
Educatieve Game Wedstrijd
http://www.make-a-game.nl/
Intermezzo:
Zelf games makenwww.wouterbaars.net
Games Maken voor docenten:
Verwacht in 2006:
via www.mediafabriek.org
Zelf games makenwww.wouterbaars.net
Contact:
www.wouterbaars.net