INVADIRS

invader image

This tutorial is designed to introduce the core concepts of Object Oriented Lingo through the gradual development of a simple "Space Invaders" type game. It is ideal for eager beginners and intermediate users who have a basic understanding of the score, the stage and the cast.

I also expect users of this tutorial to be familiar with modern computer interfaces such as the MacOS or Windows 95. You should understand how to use a mouse, how to double click, how to drag and drop, copy, cut and paste, how windows, menus and scrollbars work etc.

Finally, it is important that users of this tutorial are familiar with a version of a 'Space Invaders' game. Anyone who does not know this ubiquitous game in one of its many forms must have been living in a hole for the last twenty years and probably needs to learn some other stuff before getting into multimedia design. For a recap of the original arcade space monsters, you might want to try http://www.davesclassics.com/ which seems to have moved here.

OK, let me start!


Show Off Your Invaders

If you work through this tutorial and end up with a shockwave invaders game that you would like to show off, please let me know and I will list them as links here.

James Newton Link to Game Director Case Studies
Dave Vanderkloot Soul Invaders Soulsoft
Mark Daggett McDomination Flavored thunder
Jesper Skoog Alien invaders Jesper Skoog Homepage
Ronald Jaramillo Raining Cats and Dogs Homepage
Michal Finegold Cookie Fight Shmonster


Pedagogical information. Educators take note.

I have been using 'Invadirs' as a teaching example with absolute beginners at Danmarks Designskole in Copenhagen with considerable success. It is very common to teach Director starting with linear animation and buttons, gradually introducing Lingo and leaving object-oriented programming to the very end. Unfortunately most courses are too short to get on to the OO stuff, and the other stuff throws up so many distractions and complications (mostly to do with making the paradigm shift away from the movie metaphor) that by the very end, everybody is sick, jaded and confused.

I have found that students who were exposed to the OO material early on gained a far greater understanding of Director, and produced higher quality work much more rapidly than when I followed the more conventional multimedia teaching approach.

I used to believe that it was important that every student have a computer to herself. Although I still believe that there are problems when there are too many people fighting over the mouse, I have discovered that when there are two or three at the same machine, there is a greater willingness to exchange suggestions and try stuff out without the same fear of failure that arises in a student working alone. If it goes wrong, it's easier to share the blame or just laugh, if it works out, miniature celebrations and whoops of pleasure can be enjoyed by everyone involved.

If you would like to use this material in a teaching environment, please feel free to do so. You may print out and duplicate the text and distribute it for educational puposes in a public institution. I only ask you to email me with some feedback about how it went, perhaps some links to finished student work based on this material and so on. I'd also be very interested in any other suggestions you might have about the pedagogical aspects.

 

How this Tutorial Came About, What it's REALLY for and all that.

When I started teaching Director in 1996, i was soon surprised to find that the quality of educational material for Director is so poor. Things have really improved since then, but I was inspired to prepare some teaching material which introduced what were seen as 'advanced' or 'difficult' topics, and which I saw as fundamental in a way that could be swallowed easily even by absolute beginners.

It took some courage for me to start teaching the way I actually use Director myself, feeling a bit crazy because no-one else seemed to do it that way. Ironically it was a decision at the school to make the courses harder and encourage dropouts (too many students, not enough resources) that made me go for space invaders seriously as a teaching example.

It had the opposite effect. Not only did I have zero dropouts, two 'stowaways' sat in on the course until the very end! The work produced was dynamic, witty and unique. No one produced a slide show. Instead of everybody solving different problems in the same way, the students found themselves dealing with the same problems in different ways. This was a victory for creativity.

With such success I became curious about whether the material would work on the web, or as text, hence this site.

My master plan is to get a more people into using Director in a similar way to me so that they will be able to hassle Macromedia into improving the tool to suit my own needs! Naturally I believe my approach is the right one, so I want to see it served better by the tool. It's no good people sending wishlists to Macromedia if they still swallow the movie metaphor uncritically.

I have already made suggestions about improvements at odd places during the lessons. Towards the end of the tutorial I will expose some of the more serious weaknesses of Director and expressly encourage readers to make informed wishes for these things to be improved in future versions. This way we will all get a better product.

Some people have asked me whether I will make tutorials for other games, or whether I have any plans to make a book about Shockwave games. This was not my original intention, although I can see now that there is a need for such a book especially now that Macromedia is focussing on this kind of content.

It is unlikely that I will make similar tutorials for other games, I hope that the techniques described for space invaders can be applied to other kinds of interactivity. This is why I chose space invaders as my first proper object-oriented Director project when I was teaching myself Lingo with Director 5.

If there is continued interest in a book on Shockwave games I will strongly consider it. Please email me with any comments about this or any other suggestions and questions you may have.

...AND BEFORE YOU SEND ME ANY ATTACHMENTS...
I'd rather you didn't. I can usually advise on stubborn errors if you describe your observations, which lesson you are on and so on. Enough people have sent me large files asking "Please check my code" for me to request now that you ASK before sending unsolicted attachments. If you send me large files without asking, you can expect a disgruntled reply at best.

All email contact will result in you being personally informed of any enhancements/revisions of the content presented here. I promise I will not sell your email address to unscrupulous capitalist spam scum.


Tutorial Lessons

I have made all the Lingo examples inside <PRE> tags, so that they can be more easily copied and pasted from html browser to script window. If you have trouble copy/pasting text and scripts from your browser, it is recommended that you save the pages as text (.txt on Windows) and import them straight into Director.

Lesson 1 Getting Started
Lesson 2 The Playback Head and the Frame
Lesson 3 The Cannon
Lesson 4 Tests and Truth
Lesson 5 The Invader
Lesson 6 Messages to the Bullet
Lesson 7 Messages between Objects
Lesson 8 Repetition
Lesson 9 Lists
Lesson 10 Adding Sound
Lesson 11 Displaying the Score
Lesson 12 STOP!
Lesson 13 Caught in the Crossfire
Lesson 14 Did I shoot six bullets or only five?
Lesson 15 Sharing Data for Fun and Profit
Lesson 16 Getting Connected
Lesson 17 Getting in a State
Lesson 18 Packaging a Script for easy Reuse
Lesson 19 New Improved Invaders
Lesson 20 Lives and Levels

Future lessons are planned.

Copyright Information.
The material in this tutorial is Copyright ©1999 Brennan Young
You may print and copy this tutorial freely for educational use within a public institution.
You are permitted to make a single printed copy for personal private study.
It is expressly prohibited to make copies or duplication of any material in this tutorial
for financial profit or for commercial use without permission.
This tutorial or parts of it may not be distributed digitally without permission.
All duplications of this tutorial must include this copyright notice.


Visits here since Monday 11th January 1999