Coding is one of the highest art forms achieved by mankind; an idea - just an electrical impulse - is made real in an alternate electronic universe; the created idea however, does not have physical form, and yet can change the physical world; it cannot be touched, and yet may touch all mankind.
Games Studies
The module is designed to provide the learner with the knowledge and skills to analyse and critique computer based games and create their own computer based games.
perl SDL samples to get started
- Basic SDL game + event loop
- Same as above, but with an image drawn in the foreground also
- Same as #1 above, but with mouse location displayed as text
- Same as #2 above, but the foreground item is redrawn at mouse
- The foreground item is resized to fit a rectangle; uses arrow keys
- Re-drawing only a portion of the screen (using a cover rectangle)
- Lunar Lander - 'official' demo program
- SDLx::App user constructed ('manual') game loop with two characters
- SDLx::App controller ('automatic') game loop with callbacks
- Simple audio starter
- Simple(-istic?) collision detection
- Game loop timing
- Pixel-color detection
- Pixel-color based navigation/collision detection
- Simple callback based projectiles
- Modified cursor
- Multiple bad-guys, multiple projectiles sample
- xbox sample code for the above
Simple DirectMedia Layer (SDL)
- Install SDL for perl
- SDL perl
- Games programming: Perl and SDL
- OpenGL (Graphics) Programming
- 3D Graphics Programming In Perl
- Building a 3D Engine in Perl
- A complete tutorial for SDL (PDF) (original)
Sample data structures
GIMP ideas
CPAN
- SDL modules (there's quite a few; scan the list to find what you want to do)
- SDLx modules (these make SDL even easier)
- SDLx::App - you'll probably start with this
- SDL::Event - the events that occur in-game
- SDL::Events - to access the game events
Perl Books (All from O'Reilly Books):
- Learning Perl
- Perl in a Nutshell (the 'official' book)
- Programming Perl
- Advanced Perl Programming
- Perl Cookbook
- Learning Perl on Win32
- Perl for System Administration"
Media
Worth looking at
- Empire Attack
- Bammi (Could be addictive)
- A simple idea leads to a challenging puzzle
- Equations of Motion
Enabling a games-console controller.
Wii remote
yum install cwiid cwiid-utils libwiimote wiiuse
is a good start. Once that's installed the command wmgui will be available.
If you can't connect the wii immediately, try using the reset button in the wii battery compartment. Also make sure that the wiimote is not already paired with your computer.
At the very least, the wiimote can be mapped to behave like the arrow keys on the keyboard. Press some buttons and see...
xbox controller
yum install xboxdrv
is the starting point here. Biggest problem seems to be the need to run the xboxdrv command as root.
man xboxdrv will give a lot of information about the program. This:
sudo xboxdrv --type xbox --ui-axismap x1=KEY_LEFT:KEY_RIGHT,y2=KEY_UP:KEY_DOWN --ui-buttonmap guide=KEY_X --detach-kernel-driver ./spaceChase
is one sample command that has worked for me to run the spaceChase sample game.
Current Year
Assessment 2014/2015
- Assignment 20%
Student work:
treebeard.ie - Learner Record 30%
Students will record all steps in both the assignment and then the project to show key stages and decision making. This record, as both a 15 minute video presentation and a printed submission, will show:
- Clear and unambiguous evidence of individual research
- Notes on game play - in assignment and project
- Visual research
- Clear and unambiguous evidence of individual ideas and of concept progression
- Cuttings of reviews and articles of influence and interest
- Project 50%
Create a video game using perl and SDL, which incorporates your digital pet, and which may be downloaded from the Digital Pet Shop website you are creating. Possible digital pets include:
- Deadly Dolphin
- Edible Elephant
- Exploding Kitten
- Fanatic Flying Fox
- Flying Fuzzy Merkel
- Funky Hippo
- Gravity Goose
- Laser-guided Love-Puppy
- Manic Mole
- Megalomaniac-al Marsupial
- Meter Fairy
- Slippery Elephant