Well, one of the methods of telling stories in the new millenium is through video games! As an English teacher in a 5th grade classroom with students who have never been challenged to write anything in a second language before, they are lacking in the ability to write stories.
However, they certainly have stories to tell! One of my students told me about the program Hopscotch that they were using in their tech lessons. I looked it up and found it to be a very easy to use, drag-and-drop programming app that we could use easily on the iPads. Since they had already been exposed to the app in their tech lessons, it was a simple transition.
The first step was talking with my students about what the “adventures” of Tom Sawyer really were. I decided that we would be trying to turn those into the video games. A few examples are:
As a project at the end of the year, I could not have been more pleased with how it turned out. My students had a blast putting these adventures into the form of video games that they could play on their iPads.
It has also given me ideas on where to take the concept. Learning about Hopscotch pointed me in the direction of other, similar tools, such as: Scratch, Blockly, and Stencyl. Finding these alternative ways to tell a story makes a great project!
I am going to be documenting my progress through the MongoDB University course. It is just an introduction to MongoDB, but I am still so very new at working with Mongo that it can’t hurt to have the extra practice. And at the end of the course I should have created a few more applications! Here goes…
Welcome to M101JS
Course grade is made up of 50% homework assignments, and 50% final project.
What is MongoDB?
Simple explanation about the document model and scalability benefits of using mongodb
Overview of Building an App with MongoDB
Clients make requests to the node server and the server uses a driver to make requests to the database. Still very simple..
JSON and BSON
string, number, boolean, array, objects
standard key, value pairs
BSON is the binary translation of the JSON that mongo uses for storage
Intro to Creating and Reading Documents
I am noticing that the instructor uses ‘document’ and ‘object’ interchangably
using mongo does not return an object or an array of objects. Instead, it is a cursor object with a few methods of its own:
.next() allows you to cycle through the returned objects
.hasNext() returns a boolean depending on whether there are more documents in the cursor object
Hello World on Node.js
Just a demonstration of creating a simple server with nodejs
Intro to the Node.js Driver
require(‘mongodb’) and establishing a connection with the database
this section also discusses asynchronous callbacks
Hello World using Express
introduces the basic structure of an express server, which I am already familiar with through freeCodeCamp instruction.
For that matter, all of the mongo information thus far has already been covered in various assignments I have done through FCC.
Hello World using Templates
Discusses the concept of template libraries. ‘nunjucks’ is the engine used in this example.
Express: Handling GET Requests & Express: Handling POST Requests
How to extract GET and POST variables from a request
Using the body parser for post variables (req.body) and get parameters (req.params)
The homework for this first week was just 3 simple exercises. Each involved using ‘mongorestore’ and ‘npm install’ to find an answer key. Very simple
Challenge Problem: Create Movie Entries
Write a Node.js web application that presents users with a form containing three fields and a submit button. The fields should be:
title, year, imdb
Aaaaaaaaand, that is it for week 1! Great start. Having done a lot of this with FCC helped significantly, but there were still some new concepts. I had never used ‘mongorestore’ and it is very helpful to know how to import a new db.
I am just waiting on the grade for my final project, but I am finished with the course! I think I did very well, and have even started to enjoy programming in PHP. I started with a hatred of PHP but it did kind of grow on me. I want to link to a couple of the web apps that I created for the course, but I will make a separate post for each of them. This post is simply to brag about the 100% I got in an online course from Berkeley.
Here are some practice images from my lessons in Blender. There is still a lot to figure out in the realm of animating the movements of characters. I am also wishing that I had more formal sculpture training! Starting with a simple cube and extruding it out and shaping each piece is a very complicated process.
The next step is putting one of these characters into a game world and making them run around!
This series of videos is really fun. There is tons of information in the videos with the added benefit of the survival shooter being really fun! I am going to post just a few things that I will eventually want to return to. Link to the project contents is below…
2. Player Character – what programs were used to create the animations?
3. Camera setup – good camera setup guide. Orthographic cameras remove perspective.
4. Creating Enemy #1 – using prefabs to setup the scripts and effects associated with a character who will later be spawned repeatedly.
5. Health HUD – new UI options in Unity 4.6. Should rewatch to get an idea about how to setup a UI.
6. Player Health – scripting with C#
7. Harming Enemies – scripting with C#. Also, introduction to the Raycasting function.
8. Scoring points – scripting with C#
9. Spawning Enemies – deleting the pref and creating spawn points for different enemies. Rewatch this for a detailed explanation about instantiating prefabs at different locations.
10. Game Over – back to the UI. First use of the animation window. Good introduction to very basic uses of the animation window and how it relates to the rest of a project.
As I walked through the steps of this project it became very clear that I would need to learn how to use a program like Blender to create my own assets. I will probably spend this weekend learning what I can about creating 3D models and see if it is something that I can pursue beyond the tutorial level.
Here is the first real thing that I have created with Unity. There is no sound, no end, and nothing extremely interesting in the game. However, it is an example of me being able to take the things that I learned in the Space Shooter Tutorial and apply them to my own ideas. I really just watched the videos and then tried to recreate something with my own ideas and using the code to fit my own needs. I had to solve several problems along the way. The rotation of prefab quads caused me an annoyance. Also, getting the score to count only when the player collider made contact was difficult. I managed to solve these problems and for now I am done with this. I am going to move onto another tutorial and see what I can create next. This has motivated me to do an actual C# coding tutorial. I think that would really help me to understand the basic concepts behind object oriented programming.
This is a pretty comprehensive guide to all of the features of Unity. At this point I have only watched the tutorials in video series 1 and have not taken any of the tests. I am waiting on that until I have some more practice actually using said features. I am getting that practice with…
Why not go right to the source? For free tutorials, these have been incredibly helpful. I have been through, and completed, the roll-a-ball and space shooter tutorials and I’m currently working on creating something based on the scripts taught in those lessons. Hopefully I will be able to post that creation soon.