Archive for November, 2016

Unity again

November 11, 2016

I found a nice set of YouTube videos by Dawn Dupriest (search YouTube for “Unity and VR in the classroom”) on how to make a very basic maze game using Unity.  She has four videos that do a simple job of walking through the basic process.  There are a few glitches were Unity was not cooperating (the collision box handles were missing when I tried to resize the box but a little Google work found the issue) but the videos themselves were spot on.  I am going to throw this at four of my sharper students and see how kids handle it.  There is such a big difference from me working through these things with my years of working through things, and their limited number of years of working through things.  If I am going to give this a try next semester I want non-experienced kids doing a pre-run.

A couple of years ago I tried using the tutorial on the Unity site.  Too many leaps of assumed understanding.  I see they have been redone so after completing this series I will try them again.  Too many tutorials are just a list of tasks without any explanations.  This is fine if you do not want to do more than the tutorial.  A little bit of “why” goes a long way in really understanding what you are doing.

I already found one issue.  I have the kids working on some school tower computers because I can setup dual monitors on them.  The towers were on the school domain and only admins can save on domain computers.  Opps.  I pulled the computers off the domain and just made a workgroup as the easiest solution.  This is not an issue with BYOD or the school laptops (school laptops are not in the domain) but dual monitors is a must when doing video learning.  My older laptops have a VGA output so I could have dual monitors on them but the newer i5 laptops have HDMI only.  I do not have HDMI monitors, adapters or cables.  So towers it is.  Something to consider if I want to do a Unity class.

Unity is just such a tempting environment to teach.  3d objects, game feel, C#, make cool things; what more could you want to get kids into coding and problem solving?  Admittedly it looks and is pretty intimidating, lots of things going on and lots of stuff on the screen but for the sharp kids I think it is doable.  I just want the kids to learn how to learn.  Follow directions, read, and when the tutorial and book do not seem to jive with what is happening on the screen, to be able to scratch their head and figure it out.

First Game Programming Course and misc stuff

November 1, 2016

This semester I offered a game programming course.  Fourteen students signed up, freshman to seniors.  Only one girl.  I started the course using Gamemaker with Ben Tyers “Gamemaker Studio Course: Space Shooter – Level 1”.  The book walks the reader through making an Asteroids-like shooter game by using the coding language built into Gamemaker.  (Gamemaker also has a drag-and-drop programming environment.)  The book is intended to be used as a high school level text book so the progression level is supposed to be somewhat gradual.  We got through Lesson 3 and I decided to switch to a different language.  There was just so much left out of the book it was extremely hard for the kids to do any of the assignments.  The book would show the basics of programming but would not give enough on how to use what was learned.  I was also not to enamored by the Gamemaker programming environment.  Lots of moving parts and not enough “why”.  I do think that given enough time to write my own material to add to the book a course could be designed around Gamemaker.  It does teach programming with tradition line code but I am not sure the other requirements for building the game using the Gamemaker interface would lead to being successful in other, more tradition languages encountered at the college level.

So we are going with Corona for a while.  Corona SDK is a very traditional programming language for making apps and games for Android and iPhones.  Corona is just a front end for the language Lua.  Corona adds the physics and handlers needed for a touch screen gaming environment.  Like Gamemaker, Corona is just 2D games but the coding is much more to my old school liking.  I will be using Brian Burton”s “Beginning Mobile App Development with Corona”.  Again the book is intended to be a textbook so there are assignments and discussion.  Compared to Tyers book the chapters are much more complete with fuller explanations of the ”whys”.  Being a more traditional language I think it will lead to a better understanding of other traditional languages like Python and Java.  (These two seem to be the big two when it comes to programming in intro college CS courses.  Why do I not just teach these two if I am trying to prepare kids for college you may ask?  Because making games is fun and the course title suckers the kids into my class.  Yes, it is possible to make games with Python and Java but the level of difficulty seems to be a lot higher and the games are not as cool.  Some of the students are a bit surprised when they discover making a game involves much more work than playing a game.  Surprise!)

I have been working through Burton’s book for the last few days.  All I can say is it works.  You cannot ask for much more from a book.  As can be expected there is a lot of explaining to do to overcome the “assumptions” authors seem to make but so far nothing major.

I am going to do a coding club with 6 – 8 graders for 6 days once a week after school starting this month.  I want to do Corona but using the book is out.  Just not exciting enough for middle school and a bit dry.  So I started digging.  Now a good place to dig is the product’s website.  I had a successful dig.  Under Learn > Getting Started > Create an App is just what a middle school coding club needs.  Build this simple little game where you touch the screen rapidly to keep a balloon from touching the floor.  The really nice thing about the tutorial is that it explains every line of code.  There is a second tutorial on how to build a simple asteroid shooting game and again it is perfect for middle school.  It is definitely a step up from the balloon game but not so bad it is going to bury them.  Since I do not deal with middle school kids much these little tutorials are going to be life savers.  Building little phone app is also a really big hook for when these kids show up at the high school.  Sort of an introductory drug.

It is amazing how the number of students increase when you change the name of a course from “Introduction to Python” to “Introduction to Game Programming”.  Now I am sure there are some experts out there that will flap their hands above their heads and protest that I am not teaching language X so my students will not be ready for a college programming course.  Nope, I am not.  I am teaching them why programming is interesting and why it can be fun.  That might temp them into a college programming course with a positive look at programming.  I do have a book on writing games in Python.  There is just something different from writing a number guessing game and writing an asteroids game you can put on your Android phone.  Maybe that is just me and every middle and high school kid in the world.

I have been looking at different editors for Corona.  I have used Outlaw IDE the most but I notice it has not had an update since 2014 and the company seems pretty dead.  I am now looking at ZeroBrane and Sublime Text.  Neither is quite as nice as Outlaw for file management (Outlaw is drag and drop) but both are active products.  Sublime is definitely the most visually pleasing of the three.  I am going to need something easy for 6 – 8 graders to use.  “Full featured” usually is not a good thing with beginners.  (One of the reasons I like Small Basic is the editor is as simple as a brick.  Nothing fancy, just enough to do the job.  I was considering using Small Basic for the coding club but writing a phone app that they can actually put on their phone pegs the cool meter to the super cool pin.)

I cannot believe I volunteered to do that 6 – 8 coding camp.  I have enough trouble communicating with high school kids.  Oh well, it is important to have the occasional social challenge every now and then (besides being married that is).