Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdRené van der Berg Laatst gewijzigd meer dan 7 jaar geleden
1
Arjan Egges & Paul Bergervoet
(Game)programmeren Arjan Egges & Paul Bergervoet
2
om opdrachten uit te voeren
Gameprogrammeren Von Neumann’s computer-model (1950): computer = + geheugen om waarden op te slaan processor om opdrachten uit te voeren John von Neumann: Hongaarse wiskundige, meegewerkt aan de eerste atoombom, speltheorie, cellulaire automaten, betrokken bij de ENIAC
3
Opdrachten Opdracht: voorschrift om het geheugen te veranderen
Programma: lange reeks opdrachten, die één voor één worden uitgevoerd door de processor opdrachten staan zelf ook in het geheugen maar veranderen zichzelf niet
4
Programmeertalen Programmeertaal: notatie voor programma’s
sinds 1945: >4000 verschillende talen gepubliceerd
5
Geschiedenis van computers, programmeren, games: 1940-45
Z3 (Dld 1941) Eniac (USA 1943) “Electronic Numeric Integrator And Computer”. De ENIAC woog 30 ton en had buizen, kostte $. Z3 (Duitsland 1941) heette oorspronkelijk V3 maar dat gaf verwarring met raketten; werd niettemin gebombardeerd – de foto is reconstructie uit de 60er jaren met ontwerper Konrad Zuse; had een heuse programmeertaal “PlanKalkül”, maar dat wist na de oorlog niemand meer. Colossus, Engels apparaat voor decodering van de Enigma – eigenlijk geen computer, want niet programmeerbaar. De Colossus had 1500 buizen. ENIAC (USA 1943) Colossus (Eng 1943)
6
Geschiedenis van computers, programmeren, games: 1945-50
Programmeertaal: Machinetaal Mark-I (Eng 1948) Illiac-II (supercomputer, met transistoren), Mark-I in Manchester (gebruikte voor het eerst ‘index registers’ zodat een programma sequentieel uit het geheugen gelezen kon worden) Illiac (USA 1948)
7
Geschiedenis van computers, programmeren, games: 1950-55
Programmeertaal: Assembler Univac (1951) “Universal automatic Computer”. Eerste commerciele computer, bevatte 5000 buizen, woog kilo, 16 meter lang, 8 meter breed en 2,5 meter hoog. In 1951 werden UNIVAC computers ingezet om de voorspellingen van de presidentsverkiezingen uit te voeren. Univac (1951)
8
Geschiedenis van computers, programmeren, games: 1955-60
Programmeertaal: Fortran NCR304 (1957) fabrikant “National Cash Registers” – business computer, 99.3% uptime Zebra (“Zeer Eenvoudige Binaire Reken Automaat”), gebouwd bij het Mathematich Centrum in A’dam (voorloper van het CWI) NCR304 (1957) Zebra (NL, 1958)
9
Geschiedenis van computers, programmeren, games: 1955-60
Tennis for Two (1958) Tennis for Two was het eerste echte computerspel, gemaakt in 1958 in 3 weken tijd door William A. Higinbotham. Het werd door 2 personen gespeeld op het scherm van een oscilloscoop. Het werd getoond als attractie bij een open dag van een laboratorium. Omdat Higinbotham het zelf niets bijzonders vond, heeft hij er nooit patent op aangevraagd. Brookhaven National Laboratory, dept. of Energy
10
Geschiedenis van computers, programmeren, games: 1960-65
IBM Programmeertaal: Cobol, Algol, Lisp IBM mainframe (“International Business Machines”), en Dec (Digital Equipment Company) PDP-1 (“Programmable Data Processor”) (minicomputer, ca $ ). Op de PDP-1 werd bij MIT Spacewar gemaakt. Ook andere spellen, zoals Hunt the Wumpus en Lunar Lander werden op de PDP-1 gemaakt. PDP-1
11
Geschiedenis van computers, programmeren, games: 1965-70
Programmeertaal: Basic LINC-8 (1966) PDP-8 (1966) PDP-8 (1966) LINC-8 (1966). Various paper tape "operating systems" were developed for the PDP-8. Many utility programs became available on paper tape. PAL-8 assembly language source code was often stored on paper tape, read into memory, and saved to paper tape. PAL assembled from paper tape into memory. Paper tape versions of a number of programming languages were available, including DEC's FOCAL interpreter and a 4K FORTRAN compiler and runtime. Toward the end of the PDP-8 era, operating systems such as OS/8 and COS-310 allowed a traditional line mode editor and command-line compiler development system using languages such as PAL-III assembly language, FORTRAN, BASIC, and DIBOL.
12
Geschiedenis van computers, programmeren, games: 1970-75
Programmeertaal: Pascal PDP-11/40 (1970) (minicomputer, $20.000) PDP-11 (1970)
13
Geschiedenis van computers, programmeren, games: 1970-75
Eerste Arcade games, waaronder ‘Pong’. Ander voorbeeld ‘Death Race’ (geweld in games). Nog meer games: Breakout, Star Wars (gebruikte vector graphics). Eerst homeconsole: Magnavox Odyssey (1972). Populair vanwege Pong-achtige game “Ping-Pong”. Eerste arcade games Magnavox Odyssey (1972)
14
Geschiedenis van computers, programmeren, games: 1975-80
Programmeertaal: Simula Atari (1977) Apple-II (1977) (microcomputer, $2000). De Atari, een van de eerste consoles met cartridges, werd goed verkocht, maar vooral vanwege Space Invader. Andere game die toen uitkwam: PacMan (heette eerste Puck Man). In 1979 werden ook de ‘high scores’ voor het eerst gebruikt in coin-up machines. Apple-II (1977)
15
Geschiedenis van computers, programmeren, games: 1980-85
Commodore64 (1984) Vax-11 (1981) VAX-11 (80er jaren), IBM PC (1981) “Personal computer”, commodore64 (1984) spelcomputer. Nintendo introduceert ‘Donkey Kong’ met als secondary character ‘Mario’. Programmeertaal: (Objective)C IBM-PC (1981) Donkey Kong (1981)
16
Geschiedenis van computers, programmeren, games: 1980-85
Odyssey2, Coleco, Atari 5200 Commodore 64GS, Nintendo Famicon, Coleco Adam Veel verschillende consoles, maar voornamelijk met slechte games, incompatibiliteits- problemen, enzovoorts. Veel bedrijven failliet.
17
Geschiedenis van computers, programmeren, games: 1985-90
Apple Mac (1985) Windows 2.0 (1988). Tetris bedacht (Alexey Pajitnov). Atari en Sega komen met consoles. Met focus op goed gameontwerp (Legend of Zelda, Final Fantasy…). Eerste handhelds komen in 1989 uit (Gameboy, Atari Lynx).
18
Geschiedenis van computers, programmeren, games: 1990-95
Programmeertaal: C++ Moscaic (1994), XS4all eerste NL internetprovider (1993), windows 3.1
19
Geschiedenis van computers, programmeren, games: 1990-95
Nieuwere consoles (Sega Saturn, Playstation, N64)… Doom Nieuwere consoles komen uit. De SuperNES in 1991, later in ‘94 komt de N64 uit evenals de playstation en de sega saturn.
20
Geschiedenis van computers, programmeren, games: 1995-2000
Programmeertaal: Java, JavaScript Netscape ( ), Google (1998) SGI Onyx (1996) Nieuwe speltypes: simulatie en vechtspellen Tombraider komt uit
21
Geschiedenis van computers, programmeren, games: 2000-2005
Nina Brink, voorzitter van de raad van bestuur van internetprovider World Online. Brink begon met de voorbereidingen van de beursgang van World Online, en werd in korte tijd het symbool van de Nieuwe Economie. Op vrijdag 17 maart 2000 vond de beursgang plaats. Geholpen door een enorme reclamecampagne en veel media-aandacht, verdrongen beleggers zich rondom het nieuwe aandeel. Het aandeel World Online noteerde een koers van €43, waarmee de totale waarde van World Online € 12 miljard was. De foto van Nina Brink, die triomfantelijk de camera inkijkt met beide duimen omhoog, sierde alle kranten en televisieprogramma's. Enkele grote aandeelhouders, waaronder de TROS, de Nederlandse Spoorwegen en Telfort verkochten nog die eerste dag hun belang. Tegen de hooggespannen verwachtingen in, steeg de koers van het aandeel op de eerste handelsdag slechts met € 0,20. Maandag 20 maart 2000 ging het mis. De verkooporders van de grote aandeelhouders wekten argwaan bij de andere beleggers en het regende verkooporders. De koers van het aandeel daalde met tientallen procenten in enkele weken tijd. Al snel werd bekend dat Nina Brink enkele weken voor de beursgang haar eigen aandelen had verkocht voor zes euro, nog geen zevende deel van de introductiekoers. Veel beleggers zeggen niet van dit feit op de hoogte te zijn geweest, alhoewel het (zij het enigszins verbloemd en op pagina 99) wel in de prospectus stond. Veel van de kritiek richtte zich op Nina Brink persoonlijk. Op 13 april 2000, nog geen maand na de beursgang, werd ze door de Raad van Commissarissen ontslagen als bestuursvoorzitter en niet veel later vertrok ze bij World Online. World Online werd later in 2000 overgenomen door de Italiaanse internetprovider Tiscali voor een fractie van de €12 miljard die het bedrijf ten tijde van de beursgang waard was.
22
Geschiedenis van computers, programmeren, games: 2000-2005
Programmeertaal: C# PHP Windows-XP, Apple OS-X
23
Geschiedenis van computers, programmeren, games: 2005-2010
Netbook, iBook, iPhone Nintendo Wii Windows 7, Mac Snow Leopard
24
Geschiedenis van computers, programmeren, games: 2010-2016
Programmeertaal: Swift, ES6, TypeScript iPad, Microsoft Kinect, OnLive
25
Geschiedenis van programmeertalen
1945 Assembler Mach.taal Fortran Algol Basic Pascal Simula (Obj.)C C++ Java 1950 1955 1960 Cobol SQL Lisp Prolog Haskell PHP Perl Python 1965 1970 Functioneel Programmeren (jaar 2) Databases (periode 3) Web- technologie (jaar 2) 1975 1980 1985 1990 1995 Game- programmeren JavaScript 2000 C# 2010 2015 Swift
26
Geheugencapaciteit 65er jaren: 8 kB RAM ponskaarten
70er jaren: 16 kB RAM tape 80er jaren: 64 kB RAM floppy-disk 85er jaren: 640 kB RAM 90er jaren: 4 MB RAM harddisk 95er jaren: 16 MB RAM CD 00er jaren: 128 MB RAM DVD 05er jaren: 1GB RAM 10er jaren: 16GB RAM SSD, “The cloud”
27
Programmeer-problemen
vroeger: hoe kan ik het geheugen zo efficiënt mogelijk gebruiken? nu: hoe kan ik die overvloed van geheugen nog overzien?
28
Indeling van het geheugen
plaats in het geheugen met een naam groepje variabelen dat bij elkaar hoort groepje objecten dat bij elkaar hoort variabele object object
29
Indeling van het programma
voorschrift om het geheugen te veranderen groepje opdrachten dat bij elkaar hoort groepje methoden dat bij elkaar hoort groepje klassen dat bij elkaar hoort opdracht methode klasse namespace
30
Programmeer-paradigma’s
Imperatief Declaratief Assembler Fortran Basic Functioneel Lisp Procedureel Algol Excel Haskell Pascal C Object georiënteerd Logisch Simula Prolog C++ Java C#
31
Vertalen 1/5: Assembler Een assembler vertaalt machine-specifieke broncode naar objectcode, die vervolgens kan worden uitgevoerd .asm sourcecode voor processor 1 Assembler voor processor 1 .exe machinecode voor processor 1 .asm sourcecode voor processor 2 Assembler voor processor 2 .a machinecode voor processor 2
32
Vertalen 2/5: Compiler Een compiler vertaalt de broncode naar machine-specifieke objectcode, die vervolgens kan worden uitgevoerd .cpp sourcecode Compiler voor processor 1 .exe machinecode voor processor 1 Compiler voor processor 2 .a machinecode voor processor 2
33
Vertalen 3/5: Interpreter
Een processor-specifieke interpreter leest de broncode en voert die uit .php sourcecode Interpreter voor processor 1 Interpreter voor processor 2
34
Vertalen 4/5: Compiler+Interpr.
Een universele compiler vertaalt de broncode naar een bytecode, die gemakkelijk kan worden geïnterpreteerd .java sourcecode .class bytecode Interpreter voor processor 1 Compiler Interpreter voor processor 2
35
Vertalen 5/5: Compiler+Compiler
Een compiler vertaalt de broncode naar een intermediate language , die vervolgens wordt gecompileerd .cs sourcecode .il Intermediate language Compiler voor processor 1 .exe machinecode voor processor 1 Compiler .a machinecode voor processor 2 Compiler voor processor 2
36
Vertalen 5/5: Compiler+Compiler
Een compiler vertaalt de broncode naar een intermediate language , die vervolgens wordt gecompileerd .cs sourcecode Compiler .il Intermediate language Compiler voor processor 1 .exe machinecode voor processor 1 .vb sourcecode .a machinecode voor processor 2 Compiler voor processor 2 Compiler
37
Programmeer-cyclus Modelleer Specificeer Implementeer Edit Compile Run
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.