Day 8 – Last Work Day

As we close this discovery term, we will hear from our student leader, Ben (gr. 11), Grant (gr. 9) and Brett (gr. 9) . . .

Ben
During the past two weeks, I’ve worked on two projects. One was a 2D space game, and the other is a 3D simulation of this year’s robotics competition field. I finished the 2D space game on Thursday of last week. It mainly served as a simple warm up to coding in Unity so I would be prepared for the heavy workload of the 3D robotics simulation that I’m currently working on. Right now I have realistic driving with joysticks and a model of the field, plus two obstacle courses that our team can use for practicing driving and determining who is the best driver. Hopefully, once finished with the project, I will post it for other robotics teams to use and practice with.

Grant
Throughout my two weeks in this discovery term I have explored programming in many ways. I worked with Unity for my time in this class learning the computer language of c#. I have built a multi facet game called “The Adventure’s of Mr. Blue” The game includes 4 single player levels (1 in progress) of an obstacle course and a fun multiplayer racing game to race against friends. My time in this discovery term has taught me the basics of c# in unity and I am looking forward to continue my growth outside of this class. Here are two screen shots of my code and game, and you can play my game here!!!!!

Brett
In this Discovery Term I learned how to use the Unreal Engine’s particle effects, cinematics, blueprints, landscapes, and lighting. Unreal Engine seems difficult when you first start to use it but because of the online documentation on everything by the developers, the online videos also by the developers, and my Sam’s Teach Yourself Unreal Engine 4 Game Development book, I now understand how to create my own video game. Below is a photo of my Game that is in development.

Day 7

Today, we have Matthew, Preston and David, who have worked on various projects . . .

Matthew
During this discovery term, I decided to make a 3D Game Engine. A game engine is a commonly used tool to make game design easier by focusing more on game design than manipulation of the computer, and its components. It sits behind the scenes to calculate how it needs to manipulate each pixel on the display to accurately represent the 3D space the programmer has designed. For example, it would be the job of the game engine to take a list of coordinates and information, and turn it into an object which the player can see on their screen.

From my experience with making a game engine, the backbone is math. Specifically for my engine, linear algebra. Most of the difficulties I had were from conceptualizing the three dimensional space and how each vertex of a shape needed to be calcualted. The consistency of this code is also extremely important, since a modern display display shows almost 2.1 million pixels at a time. This “image” is then updated 60 times every second. This means that every second, the game engine has to determine the color of 124 million pixels! If anything in the engine doesn’t work 100% of the time, your game would have 124 million chances for it to break the game.

David
One of the things I’ve worked on this discovery term is my “NBA Simulator”. I learned Java using online tutorials and used what I learned to create a console-based game in eclipse that will predict the winner, score, and point-scorers of any given NBA match-up. I learned how incredibly difficult it can be to code. Countless errors must be researched and you must constantly look for new solutions to achieve the desired goal. Even something as simple as this required over 590 lines of code to function.

Preston
I am currently finished with my soccer penalty kick simulator. It includes celebrations, an intro, and countless videos which I taught myself. I taught myself how to add videos, manage videos, and learned lots of coding with help from Ben and Josh and the internet and the Documentations from Unity. Some challenges were seen, but were all avoided in the end besides one where my goalkeeper gets stuck on one post of the goal and glitches out. The rest of the project is a success as I thought this project would be too hard for me.

Day 6

Today, please welcome Nate (gr. 9), Saavan (gr. 9), and Josh (gr. 11) . . .

Nate
During my time in this Exploring Programming class I have worked on four iPhone applications, and begun learning the Unity software. I started to learn how I could store numbers on the phone using Dictionaries and Arrays in the programming language Swift. My first app randomly chooses an image in the camera roll/a set of images, and displays them. My second app was a basketball simulator using the formula David had made that compares two players stats, and determines how many points were scored in any given game, from both of the players. My third app was the same concept of comparing two player’s stats, but this one was for hockey. It determines the amount of shots taken on goal, and the percentage of shots made in based on that number. The fourth app I created was more of a test app that was the first time I had worked with an API that connects to a webserver. I had to apply for a Google Maps Authorization key, and then used it to enable me to display any given location using their giant database. That is the app that I am currently working on, and has been the most difficult one I have worked on yet.

 

Saavan
I have learned how to use unity and how to program. On the first day of this discovery term I didn’t know anything about how to program but now I can program games. It was cool to see what you can do with programming. I did this Discovery term because I knew in the next 20 years everything is going to be computerized. It has also been fun to see what my peers have made. It has been a fun experience programming games and playing them. I have learned a lot in this discovery term and might do it again next time.

Josh
Today in the Exploring Programming Discovery Term, I continued to work on my two-player racing game (yet to be named). I tweaked movement controls and player interaction, such that collision between the two players would launch the one being struck. I also continued to work on the map layout, adding a few pitfalls and enclosed areas. I ended the day with some improved camera work when following the players, creating map boundaries, and adding in moving platforms for the players to use. Tomorrow I plan to finish the map, add invisible walls to enforce the existing map ones, and playtest the game.

Day 5

Hello,
We have 3 bloggers today: Brandt (gr 11), Jon (gr 10), and John (gr 9) . . .

Brandt
For the past week and today during programming discovery term I’ve been working with Unity. Last week I started working in Unity and used multiple tutorials to learn the basics of Unity and C# to create games in the Unity engine. I finished a variety of tutorials that did various types of games to learn the different components of Unity and how to code different game mechanisms, level creation, and camera controlling. After working in Unity some and using pre-created assets I created my own assets and used blender to create models for new game objects. I then created a new project using new assets I made and combining that with camera controls and level design that I imported from the previous tutorials to create a more custom game and tweak various game mechanics to begin making my own kind of game which I started today.

Jon
For my game, I started by completing the tutorials for unity. I ended with the tank tutorial which was a two player game where the players would try to shoot at each other and destroy their tank. I decided to use this as a base for a new game that combined different aspects from the other tutorials. First, I wanted to make it so instead of having two players against each other there was only one player who was going against bots that would chase them by deleting the second tank and moving the camera to a first person view. Originally, I wanted the player to be able to shoot the bots and destroy them and for the bots to damage the player when they touched them but I could only figure out how to get the bots to deal damage or take damage but not both. I then decided to switch the bots to be invincible zombies which I found a free model for on the unity asset store. The asset also came with a running animation which I used for the zombies. I then added a secondary camera which acted as a mini map in the top corner and added a timer which tracked how long the player could stay alive. I then removed the tank’s ability to shoot and added in collectable coins from the roll a ball tutorial which could be collected to win the game. I later decided to add drones which were smaller, faster enemies that dealt less damage but would knock the player back further to make the game harder.


John
Over the past couple of days, I have been working on a couple of projects. For the first three days, I made a different classic game a day. I started with Snake, then Breakout, and finally I made Space Invaders. After I made the space invaders game, I continued working on it, improving graphics and making it into more than just a prototype. I added in powerups and a better AI difficulty curve, and am now working on debugging the game. There are images of the games below, you can click any one to start the gallery.

 

Day 4

Today’s contributors come from Colin and Jack T, both Freshman and both working in Unity 3D.

Jack T

Great process was made today in a way that the spaceship in my game has started to move. The game that I am making is a space shooting game. There is your ship and you are trying to survive from the shots and collisions of other ships. I made the spaceship turn around a pivotal point so that it will slowly turn in a circle. I also worked on the ships shooting and the spawning of the ships. I made the rates and tested the rates to a time of my liking. This might be edited later based on how the game feels once played. Tomorrow, I will work on the ship dying and damage. Multiple lives may be implemented. I have done all of this using unity and C#.

 

Colin

I have been working on Unity for the past few days. Specifically working with 2d games. I have learned how to use Unity as a program and I have learned how to program with Unity. Overall Unity is very interesting and has lots of potential for exciting games. The game I am working on is a version of soccer with 2 players. The players will face off against each other and try to score. The Unity engine takes away a lot of the difficulty and programs the physics for you. Using Unity has been fun and I look forward to programming more with Unity.

Day 2 & 3

On Day 2, students got more immersed in their program of choice and made some great projects. We also decided that these blogs would be more engaging with real excerpts and examples of their experience. So beginning Day 3, and with this post, we will be hearing from the participants.

Please welcome Jack and Will, both grade 9 students, who will share their experiences thus far.

Jack
I learned how to code in GameMaker Studio 2. I am able to make a sprite that can move around the screen via the arrow keys. I learned how to make "bullets" fire from the sprite, and then disappear after they hit a target. I am able to make enemies that independently track the sprite, and when they come into contact with the sprite, the game restarts. Some challenges I faced would be having to code exactly where the bullets come from, and linking names of sprites in different lines of code to make everything connect. I had a lot of success with implementing my partner's designs into the game, and sizing and scaling them to fit.

Will
Today in the Programming Discovery Term I designed a terrain and created objects that “PLAYER1” can use in my game. To design the terrain, I first created a flat surface on the y axis, equal to “0”. Then, I used a raise tool and made parts of the environment have a higher y value, thus giving it height and variation. Then I painted the terrain on the y=0 value blue, which represents water. Then any terrain that was higher than y=0 was colored to represent either sand or grass. This resulted in an island. Then, I added trees to make the environment more appealing for the player and to also add some more variation. Secondly, I began creating objects for the player to use. I started off with a cylinder in front of the player camera to act as a handle. I then attached a cube to that to ultimately represent a hammer. In my opinion, this process is instrumental to my game as it combines the playing experience with immersion. Tomorrow I will be working mainly on animations and the details of the tools.
 

Day 1 (the Day After)

Today, we got started on the various project we chose. We have a large variety of experience and interest here, though many are learning to code for games. Several students are working in Unity 3D, some for the first time, a few others pursuing more in depth projects. We have one student learning in Unreal Engine, and a couple creating games in 2D engines like GameMaker or ClickTeam Fusion. Finally there are a handful of students coding in Java. Some are learning the language for the first time, others are improving their skills and taking their knowledge further.

Skip to toolbar