General info

Contact details

To report bugs in, make complaints about, or suggest improvements to Pyskool, contact me (Richard Dymond) at <rjdymond AT gmail.com>, or leave a comment on the Pyskool blog.

TODO

Pyskool is now functionally complete, by which I mean that it does everything that the original Skool games do. (Except for a demo mode; if you think there’s something else it should do but doesn’t, let me know.) However, that doesn’t mean there’s nothing left to do.

Some things I’ll probably do, sooner rather than later:

  • Move data that is currently embedded in the code (e.g. frog hop animation phases) into the ini files
  • Tidy up the code
  • Optimise the sprite-drawing and screen update code

Yes, these things are pretty boring from an end-user perspective. Some less-boring things I am considering doing, which may or may not ever get done:

  • Add an in-game menu
  • Add the ability to save and restore games
  • Add a demo mode
  • Write a Command-writing HOWTO (demonstrating how to add commands to Pyskool)

Bugs

No doubt there are bugs in Pyskool - and in this documentation - or ways it deviates unacceptably from the original games. Please report any bugs (reproducible crashes, especially) you find, and help to make Pyskool a solid and stable platform for developing new Skool-based games. (See Contact details.)

Bugs and deficiencies that I’m aware of at the moment include:

  • When Eric is writing on a blackboard, text does not wrap

Changelog

Pyskool 0.2.4 (2010-04-30)

Added the following features:

  • ‘Back to Skool Daze’ example customisation
  • Keyboard is checked during long sound effects (so you can pause or quit while the tune is playing, for example)
  • Screenshots can be taken while the game is paused
  • [Screen] section in the ini files
  • API documentation

Pyskool 0.2.3 (2010-04-13)

Added the ‘Ezad Looks’ example customisation.

Pyskool 0.2.2 (2010-04-02)

Added the following features in Back to Skool mode:

  • Eric is paralysed and expelled after jumping out of the top-floor window
  • Albert alerts Mr Wacker if he spots Eric trying to escape
  • Mr Wacker shadows Eric after being alerted by Albert
  • Mr Creak and Mr Rockitt behave correctly during assembly
  • Mr Withit does assembly duty
  • Eric gets lines for not sitting down facing the stage during assembly
  • Eric gets lines for standing on plants
  • Miss Take chases Eric out of the girls’ skool if she spots him there when it’s not playtime

Also fixed the following bugs:

  • Game crashes if Eric tries to sit back on the saddle of the bike after standing on it
  • Eric gets lines for riding the bike in the playground
  • Eric gets lines if spotted falling from a window
  • Screen scrolls right every time Eric kisses Hayley

Pyskool 0.2.1 (2010-03-26)

Added the following features in Back to Skool mode:

  • Eric can release mice
  • The girls and Miss Take will jump up and down or stand on a chair if they spot a mouse nearby
  • Eric can kiss (or try to kiss) Hayley
  • Eric can open desks and collect the water pistol or stinkbombs
  • Eric can drop stinkbombs
  • Mr Wacker will open a nearby window if he smells a stinkbomb
  • Eric can fire the water pistol
  • Eric can fill the water pistol with sherry
  • Eric can throw away the water pistol
  • Cups can be filled with water or sherry
  • Plants grow when watered
  • Eric can stand on plant pots
  • Eric is lifted by a growing plant
  • Eric can step off a fully grown plant through an open window
  • Eric can step off a fully grown plant over the skool gate
  • Drops of water or sherry can be knocked out of a cup with a catapult pellet
  • Teachers reveal bike combination digits when hit by a drop of water
  • Eric can unchain the bike by writing the combination on a blackboard
  • Eric can ride the bike
  • Eric can stand on the saddle of the bike
  • Eric can jump off the saddle of the bike
  • Eric is launched over the closed skool gate if he hits it while standing on the saddle of the bike
  • Teachers reveal storeroom combination letters when hit by a drop of sherry
  • Eric can get the storeroom key (and hence the frog) by writing the combination on a blackboard
  • Conker falls from the tree when hit by a catapult pellet
  • Falling conker can knock people out
  • Eric can place the frog in a cup
  • Eric can get the safe key by knocking the frog from a cup onto Miss Take’s head
  • Eric can open the safe by jumping up to it when he has the key

Also fixed the following bugs:

  • Game crashes if a character is chasing or looking for Eric while Eric is on a staircase or jumping
  • Eric does not get lines if caught writing on a blackboard
  • Eric gets lines for being in the assembly hall during non-assembly periods

Pyskool 0.2 (2010-03-16)

  • Added mice and frogs and the ability to catch them
  • Fixed glitches in the animatory state graphics (sprites.png)
  • Added the SHERRY sound sample
  • Added the GameFps and ScrollFps configuration parameters

Also fixed the following bugs:

  • Game crashes if you press ‘Delete’ while writing on a blackboard
  • If a little boy talks to ERIC while he’s writing on a blackboard, pressing ‘U’ has no effect
  • During dinner, the teacher on duty keeps giving Eric lines for not finding a seat

Pyskool 0.1.2 (2009-07-22)

Fixed bug in Skool Daze mode where shields stay flashing after Eric’s been expelled.

Pyskool 0.1.1 (2009-04-29)

Fixed bug where Eric gets trapped in his seat if he’s knocked out of it by a catapult pellet and then tries to stand up.

Pyskool 0.1 (2008-11-12)

  • Eric is expelled after exceeding the lines limit
  • The Swot tells tales
  • Teachers track down Eric if he tries to skip class

In Skool Daze mode:

  • Special playtimes have been implemented
  • Teachers give lines for all possible infractions
  • All commands required in Skool Daze mode have been implemented

Pyskool 0.0.4 (2008-10-24)

  • Eric can write on blackboards
  • Improved keyboard responsiveness
  • Added ready-made example customisation: Skool Daze Take Too

In Skool Daze mode:

  • Teachers reveal safe combination letters when all shields are flashing
  • Eric can open the safe after writing the combination code on a blackboard
  • Eric can unflash all the shields after opening the safe

Pyskool 0.0.3 (2008-10-08)

  • Sound effects and tunes
  • Teachers give lines for some infractions
  • Eric can jump (into the air and onto other kids, too)
  • Eric can make shields flash

Pyskool 0.0.2 (2008-09-23)

  • Added --scale and --ini command line options
  • Bully can knock people out
  • Tearaway can fire catapult pellets
  • Eric can do these things too
  • Tearaway writes on the blackboards
  • Implemented several previously unimplemented commands

Pyskool 0.0.1 (2008-09-09)

Initial public release.

Frequently asked questions

At the time of writing this, there are no frequently asked questions, or even any infrequently asked questions. So for now I’ll fill this section with questions made up by me.

How does Pyskool differ from the original games?

Though the conversion of the original games to Python/Pygame is pretty faithful (I think), there are some differences, noted below.

General differences:

  • More than one character can be talking at any given time
  • Characters can talk while off-screen (so it’s possible for the scrolling screen to reveal a character mid-sentence)
  • Eric cannot walk slowly
  • Eric scores points if anyone but him gets lines (not just the Swot or the Bully)

In Skool Daze mode:

  • Boys can find the back seat in the Reading Room

In Back to Skool mode:

  • Eric can release mice anywhere (not just in the girls’ skool)
  • Eric can re-catch mice that he has released; well, why not?
  • The frog is visible from the start of the game; I think the only reason it was hidden in the original game was a lack of RAM (the frog shares its character buffer with the mouse, and the mouse needs to be visible from the start)
  • The ‘conker’ sound effect is played when Albert (instead of when Einstein or Angelface) is struck by a conker

Why Python (and Pygame)?

Because Python is an elegant, expressive, and excellent programming language. Plus it enables rapid development, which is good because I’m writing Pyskool in my limited spare time. Pygame’s pretty good too. I don’t know how else I’d do graphics with Python.

Why Skool Daze and Back to Skool?

If you need to ask, you probably shouldn’t be here. Actually, what are you doing here? Go and play Jet Set Willy, or something.