Skip to content
IKaramitsos edited this page Oct 29, 2025 · 2 revisions

Introduction

The Space Invader game is based on the inspiration of the MIT-Licenced Space Invader project by Scott Gibson’s Space Invader with code reuse and modifications, which was combined with the educational inspiration of Allen-Conn & Rose’s “Powerful Ideas in the Classroom”. The exercise is planned and analyzed with an approach of the holistic design principles of Malliarakis framework, addressing goals, mechanics, feedback, progression and outcomes on each step.

The implementation is organized into five parts, in a step by step format using Squeak/Smalltalk. It is a breakdown of development phases from implementing environment setup, spaceship creation, mechanics implementation and enemies, to collision and score, concluding to advanced features and customizations. Each part includes an introductory, prerequisites, challenges and learning objectives. The educational objective of this exercise is to develop understanding of core computer science principles as is object oriented programming, event-driven mechanics, UI/UX principles through the game-based learning.

A three column table follows, summarizing the exercise parts, key skills and learning objectives. The exercise adopts a trojan horse educational approach, where in the case of university students engage with a game project and through implementations and reflection, understand programming concepts.

Exercise Part Key Skills Learning Objectives
Part 1: Introduction to the space environment and spaceship Familiarity with Squeak Environment and project setup Users will create their game environment, understand the organization of it and how classes are structured.
Part 2: Enemies and mechanics Declaration of Objects and Visuals, and class inheritance Users will manage enemies and their mechanics, by implementing movement using inheritance.
Part 3: Introduction to collision and shooting mechanism Event-driven programming, interaction logic and methods Users will grasp the firing logic and handle collisions between shots and enemies.
Part 4: UI creation and enhancements UI layout, morph manipulation, real-time feedback and score display Users will build their interface by adding a score component, provide feedback to the player demonstrating UI/UX design
Part 5: Extra features and customizations Game extensions and creative problem-solving Users will extend the core game by designing new features, which they have the opportunity to choose from, to demonstrate their creativity and skills.

Each part of the exercise, which is available in here, is mapped to the following holistic dimensions:

  • Context and motivation: Describing what the part is about and how learners will engage with it.
  • Prerequisites and learning objectives: Specific knowledge requirements and learning objectives
  • Exercise Workflow: Details the step-by-step process and game structure presented to follow
  • Progression-Extensions: Challenges and tasks after completing the exercise workflow, which reinforce learning and provide extensions.

Clone this wiki locally