Open For Enrollment
Starts in 6 days
This exclusive course is part of the program:
Digital Game Design: Getting Started with Perlenspiel
You can also choose to start immediately after joining!
Go at your own pace
4 Sessions / 6 hours of work per session
Included w/ premium membership ($20/month)
Skill Level
Video Transcripts
Gaming, Digital Game Design, Gamecrafting, JavaScript
Open For Enrollment

Exploration: A Closer Look at the Microgame API

Starts in 6 days
This exclusive course is part of the program:

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Enrollment for this course is currently closed, but the next offering will be available shortly. Check back soon!

Go at your own pace
4 Sessions / 6 hours of work per session
Included w/ premium membership ($20/month)
Skill Level
Video Transcripts
Gaming, Digital Game Design, Gamecrafting, JavaScript
Course Description

This hands-on course continues the exploration of Perlenspiel’s application programming interface (API) begun in the previous course. A wide assortment of commands for controlling the appearance and behavior of beads, the grid and the status line are presented and demonstrated, together with the subsystems supporting animation, faders, images and pathfinding.


This course is in adaptive mode and is open for enrollment. Learn more about adaptive courses here.

Session 1: Timing and Animation (November 26, 2019)
This session demonstrates how to use Perlenspiel’s timer API to implement animation.
7 lessons
1. Timers: Project Tic-Toc
2. Animation Control: Rain? I Don’t Mind
3. Illusion of Motion: From a Trickle to a Downpour
4. Illusion of Gravity: Flood Control Dam #3
5. Location Reference: Houston, We Have Liquid Water
6. Array Splice Removal: Good to the Last Drop
7. Thoughtful Code Architecture
Session 2: Nuances of Color (December 3, 2019)
In this session, we'll take a look at the API commands used to control exotic bead attributes such as alpha transparency, size and radius. Automatic faders for bead elements, the grid background and the status line are also introduced.
8 lessons
1. Transparency: Let Me Make One Thing Perfectly Clear
2. Scaling the Heights (and Widths)
3. Let Me Tell You About My Background
4. Bead Corner Radius
5. Bead Utility Functions: V’Ger Requires the Information
6. Visibility: I Don’t Have to Show You Any Stinkin’ Beads!
7. Faders: Not Fade Away, Part 1
8. Faders: Not Fade Away, Part 2
Session 3: Images & Motion (December 10, 2019)
Perlenspiel’s API subsystem for handling images is introduced, together with techniques for safely encapsulating JavaScript project code.
7 lessons
1. The ImageData Format
2. Loading and Displaying Images: PS.imageLoad()
3. Image Asynchronicity, Capture and Dump
4. Code Security I: A Better Firewall
5. Code Security II: Fortress of Solitude
6. Code Security III: Building a Framework
7. Keyboard Animation
Session 4: Actor Movement (December 17, 2019)
In this session, we'll further discuss animation techniques that lead to a demonstration of the API’s pathfinding AI subsystem.
7 lessons
1. Mouse Animation: Lines
2. Mouse Animation: Lively and Agreeable
3. Paths: Opportunities and Obstacles
4. Intro to the Pathmap Subsystem
5. Pathmaps: Preparing an ImageMap Object
6. AI Pathfinding
7. Making Maps Malleable
Learning Outcomes

Below you will find an overview of the Learning Outcomes you will achieve as you complete this course.

Instructors & Guests
What You Need to Take This Course

Prior Knowledge: This program is at a beginner level. However, prior familiarity with digital games and the basic principles and tools of software engineering are recommended.

Materials: No special materials required.

Equipment: Computer with broadband Internet access and a updated web browser, preferably Chrome or Firefox. Installation privileges may be required if a student wishes to employ an integrated development environment (IDE) for project work.

Software: (Optional but strongly recommended) An interactive development environment (IDE) for HTML/JavaScript such as WebStorm (JetBrains), Brackets (Adobe) or Atom (GitHub).

Additional Information

Please note: Taking part in a Kadenze course as a Premium Member does not affirm that the learner has been enrolled or accepted for enrollment by Worcester Polytechnic Institute.

If a student signs up for the Digital Game Design program, it is recommended that these courses are taken sequentially.

Peer Assessment Code of Conduct: Part of what makes Kadenze a great place to learn is our community of learners. While you are completing your Peer Assessments, we ask that you help us maintain the quality of our community. Please:

  • Be Polite. Show your fellow learners courtesy. No one wants to feel attacked - ever. For this reason, insults, condescension, or abuse will not be tolerated.
  • Show Respect. Kadenze is a global community. Our learners are from many different cultures and backgrounds. Please be patient, kind, and open-minded when discussing topics such as race, religion, gender, sexual orientation, or other potentially controversial subjects.
  • Post Appropriate Content. We believe that expression is a human right and we would never censor our learners. With that in mind, please be sensitive of what you post in a Peer Assessment. Only post content where and when it is appropriate to do so.

Please understand that posts which violate this Code of Conduct harm our community and may be deleted or made invisible to other learners by course moderators. Learners who repeatedly break these rules may be removed from the course and/or may lose access to Kadenze.

Learners with Disabilities: Learners who have documented disabilities and who want to request accommodations should refer to the help article via the Kadenze support center. Kadenze is committed to making sure that our site is accessible to everyone. Configure your accessibility settings in your Kadenze Account Settings.