1 / 35

je eigen videogame

je eigen videogame. Wouter Baars Demozone 2005. Belangrijke Waarschuwing!. Intro: Game productie wat hoort daarbij?. Graphics: 3D modelling Textures 2d Artwork Animaties Fonts, enz. Software: 3Dmax Maya Photoshop. Of open source: Blender Gimp. Programmeren: C (++)

percy
Download Presentation

je eigen videogame

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. je eigen videogame Wouter Baars Demozone 2005 Gamesmaken.startpagina.nl www.wouterbaars.net

  2. Belangrijke Waarschuwing! Gamesmaken.startpagina.nl www.wouterbaars.net

  3. Intro: Game productie wat hoort daarbij? • Graphics: • 3D modelling • Textures • 2d Artwork • Animaties • Fonts, enz. • Software: • 3Dmax • Maya • Photoshop • Of open source: • Blender • Gimp Gamesmaken.startpagina.nl www.wouterbaars.net

  4. Programmeren: C (++) Scripting Speciale platforms (bv webgames) Gameproductie vervolg 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 list end 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)) Gamesmaken.startpagina.nl www.wouterbaars.net

  5. Gameproductie vervolg Concept design: • Verhaallijn • Storyboard • Level design • Spelregels Gamesmaken.startpagina.nl www.wouterbaars.net

  6. Gameproductie vervolg Audio: • Midi • Audio Software: • Logic • Cubase • Protools Gamesmaken.startpagina.nl www.wouterbaars.net

  7. Resumé • Graphics • Programmeren • Concept • Audio • Projectleiding • AI, Physics engine’s Gamesmaken.startpagina.nl www.wouterbaars.net

  8. 3d: Hoeveel vrije tijd heb je? Gamesmaken.startpagina.nl www.wouterbaars.net

  9. Hoe belangrijk is 3d voor een game? Gamesmaken.startpagina.nl www.wouterbaars.net

  10. Hoeveel vrije tijd heb je? - verlvolg Programmeren in C of in een scripttaal? Gamesmaken.startpagina.nl www.wouterbaars.net

  11. 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); Gamesmaken.startpagina.nl www.wouterbaars.net

  12. 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); } Gamesmaken.startpagina.nl www.wouterbaars.net

  13. 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); Gamesmaken.startpagina.nl www.wouterbaars.net

  14. 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); } Gamesmaken.startpagina.nl www.wouterbaars.net

  15. Scripttaal versus “C” In scripttaal: Rotate (“kubus”, axis, degrees) Gamesmaken.startpagina.nl www.wouterbaars.net

  16. Middleware voor games • Zie: www.gamesmaken.startpagina.nl Bv. Gamemaker Macromedia director Darkbasic Pygame Torque Blender gamekit e.v.a...... Gamesmaken.startpagina.nl www.wouterbaars.net

  17. b.v. Blender gamekit Gamesmaken.startpagina.nl www.wouterbaars.net

  18. Bv. (2d) Gamemaker Gamesmaken.startpagina.nl www.wouterbaars.net

  19. Resultaten Gamesmaken.startpagina.nl www.wouterbaars.net

  20. Designtips • No1: Uitdaging • No2: Doel duidelijk? • No3: Interactie goed? • No4: Easy to master, hard to learn • No5: Balans in je game • ... De spelregels zijn het belangrijkste! Gamesmaken.startpagina.nl www.wouterbaars.net

  21. De spelregels zijn het belangrijkste! • Niet 2d of 3d • Niet de schoonheid van de graphics • Niet de verhaalcontext (b.v. fanatasy of space) Gamesmaken.startpagina.nl www.wouterbaars.net

  22. Binnenkant of buitenkant? “Een game is als een mooie vrouw: een mooi uiterlijk is meegenomen maar als ze geen interessant karakter heeft, is de lol er snel vanaf” Gamesmaken.startpagina.nl www.wouterbaars.net

  23. Leuk spel Gamesmaken.startpagina.nl www.wouterbaars.net

  24. Ook een leuk spel... Gamesmaken.startpagina.nl www.wouterbaars.net

  25. Iets minder leuk...? 1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8. h3 Bb7 9. d3 d6 10. a3 Na5 11. Ba2 c5 12. Nbd2 Nc6 13. c3 Qd7 14. Nf1 d5 15. Bg5 dxe4 16. dxe4 c4 17. Ne3 Rfd8 18. Nf5 Qe6 19. Qe2 Bf8 20. Bb1 h6 1/2-1/2 Gamesmaken.startpagina.nl www.wouterbaars.net

  26. Is het doel duidelijk? “Contest Arena Would someone please tell me how to play this game? And why does the instructions have to be like 10 pages long? ...(enz. enz.)” Gamesmaken.startpagina.nl www.wouterbaars.net

  27. Uitdaging Gamesmaken.startpagina.nl www.wouterbaars.net

  28. Easy to master, hard to learn • Vermijdt een (geschreven/gesproken) uitleg • De drempel om met een game te beginnen moet niet te hoog zijn (besturing) • Zorg dat het interessant blijft (steeds iets moeilijker/verrassingen) Gamesmaken.startpagina.nl www.wouterbaars.net

  29. Goede interactie? • Zijn de handelingen duidelijk die je moet verrichten? • Reageert de computer (snel genoeg) op je acties? • Krijg je de juiste feedback? • Enz. (zie diverse artikelen op het web/boeken over interactie of ergonomie) Gamesmaken.startpagina.nl www.wouterbaars.net

  30. http://www.submarinechannel.com/louparadis Gamesmaken.startpagina.nl www.wouterbaars.net

  31. Feedback voorbeeld Quake III Gamesmaken.startpagina.nl www.wouterbaars.net

  32. Balans in je game Gamesmaken.startpagina.nl www.wouterbaars.net

  33. Balans voorbeeld starcraft Gamesmaken.startpagina.nl www.wouterbaars.net

  34. Conclusie • Welke discipline(s) wil je je in bekwamen? • Welke instrumenten ga je gebruiken? • Hoeveel tijd heb je? • Alleen of in een groep? • Inhoud is belangrijker dan de vorm! Gamesmaken.startpagina.nl www.wouterbaars.net

  35. Vragen? Voor bronnen en startpunten zie: www.gamesmaken.startpagina.nl Nadere info/vragen/opmerkingen: email via www.wouterbaars.net Gamesmaken.startpagina.nl www.wouterbaars.net

More Related