Spooky Video Game Design!

Welcome back to Messy STEM! This week I will be continuing my coding theme and focusing on designing video games. The software I use for this is called Gamemaker Studio 2. Let me start by saying this is an authentic software. It has been used to create a wide variety of popular video games including Undertale, Hyperlight Drifter, and Forager. This software allows games made with it to be published on every platform including Steam, Nintendo and Playstation. That alone I have found is enough to get kids excited. I have yet to have a student not tell me what they’re going to do with their millions of dollars once they upload their games and start selling them.

Whenever I teach this software I am always amazed and motivated by the different and creative things students come up with. They can really dive in to the software and mess around with different coding concepts.

I also want to state that there are a ton of resources for this software made specifically for educators and a lot of great youtube tutorials out there. So, if you finish reading this and want to learn please let me know and I will be happy to share resources I’ve liked, as I learned the software!

Over the course of this post I will be showing a quick run through of how the software looks and some basic things you can try out yourself. I know that I will be glossing over some steps but my main goal here is to show how the software looks/feels and to present you with a resource you might not have known of before this.

The photo below shows what Gamemaker Studio 2 looks like it when you open it up and sign in. For those of you wondering, the software is the same in Windows and Mac, so though I am showing this through Mac you can still learn and try it through Windows

Once you open up Gamemaker, it gives you the option to create a new project with either drag

and drop code options (similar to those on Scratch for example) or GameMaker Language which involves writing the code. I have always preferred the code! It’s what I will be writing about today.

 

Once you start a new project, don’t be overwhelmed by what you see! This is a professional software but it is very straightforward! Below is a summary of what you will see.

In the spirit of Halloween I thought I would do some spooky examples!

The main things you will work with initially are Objects, Rooms and Sprites. These are all things you will find in the left sidebar above.

Sprites are where you store your artwork for your game. This can include animations and gifs. It’s important to remember that a Sprite is not something you program, it is what you attach to what you have programmed. Below is a photo where I have selected my sprite, a dancing skeleton. In it I have painted a bit over my skeleton’s feet. It also shows the series of images that will be played on repeat to animate my character. In Gamemaker Studio 2 you can design and draw characters within the software or import images from your computer. In this case I used free graphics to upload a dancing skeleton gif. To make a new sprite simply click the Sprite category and select add new sprite.

Rooms are essentially your levels, they are your backgrounds. Anytime your character goes to a new place or a new level, they go to a new room.

 

Objects are the parts of your game that you actually program.

These would be your characters, bad guys, walls, etc.                                                        Basically, anything you want to respond in any way, you will make in to an object. In this case I have made an object named Skeleton. Once you make the Object (just double click Objects in the asset bar shown above, click and select make new object) you then can attach the artwork you saved in the sprite section, which was my dancing skeleton gif.

Once you make an object you will then be given the option to select it and begin programming! Above you can see my Skeleton and that I have attached the sprite/artwork to it. The next thing that pops up are Events. Events are essentially where you program coding and reactions of your object. 

As I mentioned in my previous post, computers are not mind readers, when programming you need to consider every aspect of what you want to happen. In this situation I want my character to move to the right when I press the right arrow key. So to do that I clicked Add Event, and Key Press, then Right. After that you will see on the right the place where you can type in your actual code. To keep things simple I wrote in ‘speed = 2;’

What I have basically said is, when I press the right key I want my skeleton to move to the right at a speed of 2. If I wanted him to move to the left I would do select left arrow key and have the same code but my speed would be -2.

The next thing I did was work on my room, I decided to create a spooky sprite and select that as the background in my ‘Room’. After making my room, the next thing you can do is drag your objects in to your room. You can then press the play button on the top bar to run the software and see what the game looks like!

 

Here is a sample of what our spooky skeleton looks like.

This was just a basic run through of some simple concepts. Often I start this software by teaching students to make a game of tag where characters throw food at each other. In it we can do different things like set up a score and special affects. Here is another silly sample! 

That being said you can easily go much deeper into this software. You can challenge your students to define and set their own variables and even define constants. Below is an example of a more complicated platformer game I have been messing around with based on some online tutorials. I also have a photo of an array I started that will allow my character to have an inventory!

I understand that this was a big post with a lot of information, but if I have interested you at all in this software and you want to try it out in your school please feel free to reach out to me and I will be happy to share resources and ideas. I also highly recommend the educator resources that this software offers.

I really hope you are all having a great week and that you have a great Halloween. My goal this year is to help you all get back into a hands-on STEM class where you can get messy, build things and break them. I believe this software is a great tool for that and I hope that it helps you as well!

Bitmoji Image

How to bring Coding into your Classroom.

After looking through my list of resources I wanted to review and share and considering some questions I got from peers, I thought the next thing I would write about is different coding and video game design software that I love to use in my classroom.

I know a lot of Math/Science teachers are feeling anxious about teaching coding, especially if it’s something that is completely new to you or you have not done before. To that end I wanted to share two of my favourites over the next two posts and explain the different ways you can use them in your class.

Before I get in to that I want to explain why I love teaching coding and video game design and why I think it is so great to have in the classroom.

  • It teaches resiliency.
    • When you code, NOTHING works on the first try. Often students will have to try things multiple times before things work. They will get frustrated and learn how to push through it. They will learn that mistakes are a part of the process and how to move forward. If anyone ever wants to tell a bad coding joke in their class here is my favourite “99 problems with code on the wall, 99 problems with code! Take one down, pass it around, 126 problems with code on the wall!”
  • The feedback is instant.
    • If something doesn’t work you will know right away. There is not waiting or worry. You are not waiting for feedback from a teacher or peer. You will also know right away if something does work!
  • It teaches students how to break tasks down.
    • Computers are not mind readers, they will not infer. You need to be completely clear on your code and break down every step of the process. This is a very useful life skill to have!

That being said, here is my favourite way to teach basic coding to students. It’s a fantastic software called Code Combat.

Code Combat is a site where you can teach students Python, Java or C++.

In it, students can pick their own avatar and fight through dungeons using code. The levels get increasingly more complex and are surprisingly fun. I have had lots of students develop quite an addiction to solving the problems!

The other thing that makes Code Combat great? It has built in assessments! Here is a sample grade book they have that allows you to keep track of student work.

 

It also creates fun certificates with the student’s avatar to show when they have completed a list of tasks that you can print out and give to your students.

The levels themselves can get wonderfully complex for your kids that need enrichment but also are user friendly enough for any beginner.

So, if you are panicking about how to broach coding in your Math or Science class this is one resource I highly recommend trying out. It’s free and is very user friendly for teachers.

For my next post I will be showing a more complex software that allows students to design their own video games.

Please let me know if you have any questions and I hope that you can have fun and get messy in your class with this!

 

 

Finding a Direction-Making lessons that fill my bucket during a pandemic

After leaving our first Face to Face meeting last weekend, I took some time to sit down and really reflect on all the ‘How Might We’s’ that I got to consider during our discussions, and I wanted to think about what was really important to me when teaching in this new world. What was really important to me when considering pandemic pedagogy for grades 7-12?

After going through a few bouts of imposter syndrome, and considering what would fill my bucket in a time when it feels like everything is exhausting, I reached a conclusion.

What really fills my bucket every day, is the mess that I can make in my class. I can throw messy, difficult and hands-on problems to my students that they need to solve using Science and Math. We get to break things, and build them again, we get to seek out problems and try to solve them. That’s what fills my bucket, and I’m not sure about you, but with current safety protocols and changes to how we teach, I don’t feel like I’m able to do that as much this year.

To that end I have decided on a direction. My goal this year is to gather resources that will allow me to still make my messy classroom whether it be virtual, hyflex or in class but distanced. I am going to find these resources, review them and share them out with all of you. I want to take some of the pressure off other teachers who feel like the day itself was too much and they can’t think of what to do next. My goal is to show you things that you can use that will helpfully fill your bucket in class.

I’m going to start with a program I tweeted about earlier this week- Polypad by Mathgion

One of the first things I noticed this year was that I could not use any of the math manipulatives I love to show certain concepts in math. To that end I found Polypad, it’s an online platform that allows students to mess around with all the different tools I normally have in class.

The general layout looks like this. You will have a list of manipulatives to choose from on the left and a general blank work space that you can place your tools in and manipulate them. You can see me messing around with fraction bars here.

From there you can also try out different things like tangrams, or even visual representations of algebraic concepts. Overall I found the program very easy to use and I firmly believe students from grade 7-12 will find this easy as well.

They can use this to show patterns, to compare fractions, or even represent the multiplication or differences between x and x^2 and other algebra concepts. They even have cool things like Penrose tiles which I am not entirely familiar with yet but may be interesting to others!

This was useful to me for number talks where I could ask students to consider things like finding fractions between 1/2 and 1/3 or explaining why dividing fractions results in a bigger number.

My hope is that his will be helpful to anyone else struggling to let kids mess around with different things in math and that they will still be able to have some trickier, messy math discussions and show their thinking!

Please let me know if this was helpful for you in the comments and if you looked through this and it resonated. Please also comment if you were thinking of anything in your STEM class you might want to know more about and I will be happy to post about it!

I hope you all have a lovely long weekend and I hope you can take some time to fill your bucket!

Bitmoji Image