Introduction to video game design

          -This is the first game that Richard Jones invented from scratch in 48 hours using Python for the Ludum Dare 48 hrs competition some years ago.

OK, not much to  do  with libraries here but you know, we cataloguers are told that we must morph into coders, and there are some libraries who use facilities such as Lemontree to introduce educational gaming on their websites- it's another tool in our box of tricks.

Today I watched Richard Jones' three hour Youtube video 'An Introduction to Pygame' which described how to write games in Python. I was disappointed to hear that it is quite complicated to share Python games with others who do not have Python: there are conversion programs available but they sound much too tricky for me. If he had mentioned this at the beginning I might have skipped the rest, but that would have been a pity because it was very interesting. Increasingly these days I start off wanting to know something, but end up learning about what other people want to tell me, which might or might not bear much  relation to what I actually wanted to know. Being open to ideas is important.

Anyway, the general stuff he explained was very interesting. It was partly interesting just to learn the vocabulary and concepts involved.

He explained about different genres of games: shoot 'em ups, beat 'em ups, platformers, puzzle games, adventure games, strategy games, simulations, Japanese role playing games (JRPG's) -[must investigate these further- hope they are like Shenmue, my favourite game ever.] and FPS's [no idea what they are, some mixture between adventure and strategy apparently.] A lot of games involve mixtures of these elements at different levels. Games have different themes and styles: medieval, steampunk etc.

He warned about some elements that can be really annoying: not leaving enough places to save, injecting horrible surprises or hiding treasure in impossible places: having bosses which are nearly impossible to beat after gamers have spent hours getting to them. Sudden permanent death was particularly unpopular, not surprisingly. In normal, temporary death(!) , once your player reappears he advises that you have to allow them time to recover their wits, and you need to turn enemies around when they reappear so that they don't just immediately bump into you again. [Enemies spend most of their time trundling to and fro, it transpires.]

He showed how to open a window, keep it open on a loop, load up an image, switch between buffers(!), how you design a map and how a viewing window leads the gamer across the map. He described how you can program different types of events : three types of collisions, some basic types of enemies you can design with various properties, then he explained how you can design landscapes and platforms using layers and tiles and different programs that you can use to help with images, tiles, sounds and maps and how to use special effects such as particles and sound to 'juice' a game up. Anyone familiar with playing games will recognise these concepts and it was fascinating to see how they are effected: you only need to grasp quite a limited range of design elements to be well on the way to understanding how most games work, it seemed.

He talked about how he'd attended Ludum Dare, [LD48] a competition to design a game from scratch during forty eight hours and the Pyweek challenge that he runs, which allows you a week to design a game using Python.  He recommended some sources: apparently the guru of all animators is Preston Blair and his short book Animation .  Blair was the man behind the dancing hippos in Disney's Fantasia. He also recommended the site Invent with Python, who have a freely downloadable book on inventing games using Pygame.


Comments