In Depth Blog Post #6: Almost there!

For the last few weeks, In-Depth has been a roller coaster of ups and downs. Bad news first. My mentor and I discussed the possibility of making a survival game for In-Depth night, and we decided that with the limited time, making it would be impossible. With the game design skills I had built on, I could either choose between a survival shooter or a survival game. The latter was obviously not going to be possible, but I did not want my game to be just a simple survival shooter either. I decided that I would create a survival shooter with a survival aspect to it (eating food to maintain hunger). I have also realized that as more and more variables are added to my game, the game has more console errors, crashes, and bugs. These can be very time-consuming and mess up my schedule, as I can set aside time to work on my In-Depth, only for my game to crash, and then I have to spend hours trying to find a solution. Challenges aside, the fruits of my labor are finally coming together, as my game’s map has been successful in being both aesthetically pleasing and challenging for the player. The health and hunger variables and bars are also working successfully. With the addition of a script that makes the health drop rapidly once the hunger reaches 0, the player is no longer able to stay in one place and has to search a dense forest for small bushes and potentially poisonous mushrooms.

unity-2017-3-1f1-personal-64bit-scene1-unity-in-depth-game-pc-mac-linux-standalone-_dx11_-2018-04-24-5_41_16-pm

Health bars, score, and game over screen.

unity-2017-3-1f1-personal-64bit-scene1-unity-in-depth-game-pc-mac-linux-standalone-_dx11_-2018-04-24-5_41_36-pm

The map.

For In-Depth night, I plan to have a learning center with my game running on a laptop and printed copies of some of the scripts I used for my game. I also plan to have a visual diagram with minimal text that explains how the scripts work and what the C# on one of my scripts means. With my scripts literally being words and symbols, I plan to keep any other text to a minimum, if not none.

The journey so far has had it’s share of bugs, glitches, and crashes, but with my game nearing completion, I am looking forward to In-Depth night!

In-Depth Blog Post #5: Week 11

Since my last blog post four weeks ago, I have had two sessions with my mentor. My progress has been coming along nicely, and at this stage, I am equipped with the skills needed to create basic scripts and create my map. Rather than my mentor starting the session by showing me a new skill, we discuss my progress from the last session and any difficulties I had. From there, my mentor shows me different ways to solve any technical issues and gives me suggestions on what I could add to my game.

During our sessions, we went more in-depth with the enemy scripts. My mentor showed me some examples online that I could use for inspiration. He explained how I could use the C# scripts to add all sorts of different actions at different times on my enemies by using colliders. My mentor also showed me some tools on the engine that I could use while I was creating my map. Before, I would have to drag tree by tree to create a “cartoonish-looking” forest, but Rafael showed me how I could experiment with opacity, density, and the brush tool to paint realistic forests and grass fields on my map.

Progress wise, I would say I am on track. I know all the C# scripts I need as of now, but that will change as new ideas pop up. I am also starting to create the map for the game, adding trees, sound effects, and all kinds of assets from the asset store. Getting the right texture and getting the aesthetics nailed down will be challenging with only free assets, as they are very limited in selection and quality, but by experimenting with different brush sizes, opacity, and assets, I can find different ways to create my map.

1. What kinds of learning opportunities does the mentor provide to expose you to new learning?

During our last meeting, my mentor showed me various websites where I could download sound effects for my game, such as Sound cloud. He showed me how I could listen to the sounds that I might want for my game and download them. From there, it is just a matter of picking the ones that work best and pressing the import button on the Unity engine. My mentor encouraged me to find new sound effects, such as a forest sound effect for the forest.

2. What kinds of learning opportunities exist to reinforce new learning?

Since Unity is an IT skill, it has the support of the World Wide Web, allowing millions of other game design enthusiasts to help me out on the internet. If I have a question or want to learn more about what a special function does, I can usually find it on a search engine in a few seconds. By using the learning opportunities available on the internet, I can reinforce the concepts my mentor discusses in our sessions.

3. What kinds of opportunities exist that might accelerate learning?

Having my mentor guide me and helping me out when the internet fails, might accelerate my learning. The internet is a great resource, but since there isn’t always just one answer to solving a problem in Unity, answers from 2006 and 2011 may not help me with working with the current version of Unity. Searching for answers on the internet can be time-consuming sometimes, and by having my mentor to answer any questions I have, I can move on to other concepts instead of spending hours on single concepts.

4. When you get together what do you talk about?

My mentor and I talked about his career and his game. I learned more about what type of game he was creating and his experience with game design. I was surprised to learn that it was his first game, but considering how much time it took an indie game developer to create a game, it was understandable. By the end of the conversation, I felt I had a better idea of who my mentor was and what kind of games he was interested in.

5. What is going particularly well in your mentoring relationship right now?

Our communication is working well. We listen to each other’s thoughts and ideas, and Rafael is always willing to answer my questions. I am open to Rafael’s constructive criticism, not taking a defensive stance when he critiques my work, but instead trying to find out why and improve from there. Additionally, I find our conversations to be more fluid and natural as we get to know more about each other through the weeks.

6. What are you learning about one another?

We have learned each other’s interests, such as our preferences in video games and what genres we prefer. Rafael has learned what games I prefer and why, while learned that my mentor enjoyed survival and strategy games, but didn’t have too much of a taste for FPS shooters. He has also shared with me some details of his game that he plans to release soon, but only small details, as he plans to keep most of the game a secret until the release.

unity-2017-3-1f1-personal-64bit-scene1-unity-new-unity-project-pc-mac-linux-standalone-_dx11_-2018-04-02-6_05_24-pm

unity-2017-3-1f1-personal-64bit-scene1-unity-new-unity-project-pc-mac-linux-standalone-_dx11_-2018-04-02-6_06_18-pm

 

In Depth Blog Post #4: Week 7

It’s been two weeks since my last blog post, and the amount of progress I have made since then is really astonishing. As I start to understand more and more of the C# scripts and the fruits of my labor start coming together, Unity is getting more and more fascinating. I initially knew that Unity had been a powerful game engine, but the amount of things it automates blows my expectations, and learning a new programming language is also very interesting.

We had originally planned to have the session on February 23rd, but we had to reschedule to February 24th after the inclement weather. This didn’t affect the length or quality of our session, however, as we still managed to cover assets, and how to create a basic script for an asset downloaded from the asset store. These assets make interesting game objects, and I found just experimenting with different assets amusing, as I could quite literally make anything in my game into anything I could find in the asset store, whether it be a goat or an iguana.

Alright Jerome, answer the questions now.

What has been my most difficult mentoring challenge so far?  Why?

My most difficult mentoring challenge so far is remembering and incorporating all the C# scripts Rafael teaches me. There are tons of different C# functions and codes, and I find that just trying to remember which ones are a class, a function, or a variable is really proving to be a challenge for me. I can usually find the right code when I need to perform a certain task in Unity, but occasionally, I don’t know the format or which code I need to use. Rafael is great at teaching the material, but he goes over the C# scripts really quickly, as we simply don’t have the time to explain every single code that we type. Weeks of classes are being crammed into a single session due to the accelerated nature of our sessions, so writing down the material I learned and going over it over the two weeks I have between our sessions should prove to be effective.

  1. What is working well? Why?

Our progress is going really well. We are covering weeks of material in single classes. Rafael said that we are currently covering materials that he learned when he took weeks of Unity classes. It’s astonishing to think that just a few months back, I had no idea how Unity even worked, and now I’m already creating scripts and creating the rudimentary foundations of my game. Additionally, our communication is excellent. We communicate effectively during mentoring sessions, and when I need Rafael’s assistance when we are not having a session, I can always reach him through phone or e-mail.

  1. What could be working better?  How can you make sure this happens?

Now that I have a grasp of how Unity works and how much time is needed to learn the material, I can update my schedule and start setting goals between each of our sessions. My schedule, which I created before I had even touched Unity, doesn’t really make much sense now, and by setting goals between each session, I will be able to process and comprehend everything Rafael is teaching me.

With every week bringing new challenges, In-Depth has had its share of ups and downs, but the excitement of seeing the different pieces coming together and creating my goal of an original game is making it a thrilling experience!

unity-2017-3-1f1-personal-64bit-scene1-unity-new-unity-project-pc-mac-linux-standalone-_dx11_-2018-03-01-7_02_59-pm

In-Depth Blog Post #3: Week 5

It’s been five weeks into In-Depth, and so far, I have learned a lot. Rafael and I have moved on to new C# scripts, and he guided me through the various assets that were already pre-installed in Unity. This was awfully convenient for me, as this meant that I didn’t have to write all the assets from scratch but could simply attach the pre-written assets right to my game objects. I have also finally decided on what type of game I will be focusing on, a first-person maze game. Anyway, here are some questions and answers on my progress so far.

  1. What went particularly well during your mentoring sessions?

One thing that went well during our mentoring session was the amount of progress we made. Like last time, Rafael and I had already planned what I was going to learn during the mentoring session, as we had a phone call a few days before the session to plan what materials each of us should bring and what he was going to mentor me. We got through most of the FPS scripts and we even got to discussing popular games and what components were in them. We also strengthened the fundamentals, as having a good base knowledge was important when I moved on to more complicated scripts and games. Despite the meeting only being our second session, we made a lot of progress.

  1. What relationship challenges did you face?

There weren’t really any relationship challenges that my mentor and I faced. We were communicating with each other very well, Rafael made sure that I was getting the concepts and not just nodding my head, and I made sure to ask plenty of questions and paraphrase what Rafael said in case I missed a point. We were also very open and thorough. We answered each others’ questions with depth; Rafael answered my questions about assets and game objects, explaining that everything in the game was a game object, and I answered my mentor’s questions about the type of game I wanted to create and what I had planned. Additionally, I had plenty of time to ask questions and catch up on the information that was being given, as a lot (capitalized) was being covered!

  1. What learning challenges emerged?

Although the Unity engine has been easy to use, learning the various C# scripts for my game objects has been proving to be quite difficult. Using the engine is easy, as I only need to know which functions do what, and it’s just a lot of just clicking around and experimenting. The scripts, on the other hand, have been really challenging. The difficulty of digesting all the different scripts needed to create just the most rudimentary of games has been challenging, as even with questions and paraphrases, I have difficulty knowing when to use specific codes, such as void, if(), or else().

  1. What three strategies could improve the quality of your mentoring interactions?

First, I can increase the efficiency of the mentoring interaction by having everything we need for the meeting set up beforehand and making the best use of our time. Last time, I wasted a few minutes of precious time due to an unexpected accident, and considering how fast my mentoring is going, a lot could have been covered in those few minutes. Additionally, I can also ask more questions and focus on getting the fundamentals set in stone before moving on to more complicated scripts and games. Finally, I can spend more time outside of my mentoring interactions to study and comprehend the material Rafael is teaching me. My mentor has shown me an awesome Wiki where there is a list of all the different C# scripts and the functions of each one. He has also shown me different tutorials I could work on between our biweekly meetings. Doing a few more hours of studying and learning the material outside of our meetings will make sure I fully understand what my mentor taught me the previous meeting and will allow me to accelerate my learning.

Unfortunately, I was unable to add any pictures of my progress this time, as my laptop was unable to screenshot my progress for some reason, but I will add pictures the next time I post.

In Depth Blog Post #2: Week 3

Last Friday, I had the chance to meet with my mentor Rafael, a game developer currently in the midst of creating a strategy game using Unity. Since we had already discussed over e-mail how the meetings were going to be formatted, we could get right into the project. We started off by discussing the user interface and helping me locate where all the various functions were. While Unity is not as complicated as some software, it was still a bit intimidating for me to find where to start with all these fancy buttons and complicated words covering the entire screen. I also had no idea how the camera worked, frolicking with my mouse for half an hour before giving up. Rafael told me that since I was just starting out, I didn’t need to know everything in Unity, and that even he doesn’t use every single function. He answered my questions about how the camera worked and the various possible game designs I could do. I had initially expected to cover only a little bit of the software, but surprisingly, during our narrow time frame, we managed to even get into creating rigid bodies, game objects, and creating a game object that could even roll and jump! My mentor told me that rigid body was basically the physics of the object, such as gravity, speed, and mass. Later, we further discussed rigid body when the object we had created was able to infinitely jump. He explained how we had to define the number of times the object could jump in our script, as for all Unity knew, it was just jumping every time we hit the key associated with that command.

We also discussed about the various resources that I could work on between our bi-weekly meetings. He gave me some resources, such as the Unity website and various Unity tutorials on YouTube. Besides my mentor, the Internet is probably going to be a really good resource. There are hundreds of Unity tutorials and Wikis describing what all the C# scripts can do. I plan to use these resources to accelerate my learning while I’m not meeting my mentor.

The meetings are working out great so far. Since we already had a phone conversation over my background on C# and game design, Rafael already knew what level I was at. We were able to find the perfect media to start from and start almost immediately. I find the mentorship meeting to be a nice alternative from the regular school environment. Since Rafael is only mentoring me, I find that learning is much quicker than in the regular classroom, where one teacher has to tend to thirty different students with different needs.

Besides discussing about using the software, we have also talked a little about ourselves. I went to the meeting not even knowing what my mentor looked like, and I left knowing not only his appearance, but his current projects and opinions on Unity. I learnt that my mentor was currently creating his own game, a grand strategy game with a twist to it. Rafael has been working on the project for years and is planning on releasing sometime next year. He has been working on game design for a couple of years now, and he initially started because he was always interested in playing games and thought about creating his own. He started off by taking a weekly course, and then decided to take game design in university.

So far game design has been very interesting, and I am excited to see what I learn next week.

Here are some pictures of Unity and the scripts I wrote.

unity-progress-3 unity-progress-2 unity-progress-1

 

In Depth Blog Post #1: The Journey Begins

This year, I will be learning about video game design. More specifically, I will learn how to use the game engine, Unity, to design hand crafted, delicious (okay, maybe not that), original video games.

Video games have always been a part of my life, making up about four percent of my average week to this date. The intricate details and creative graphics captivated the attention of little Jerome. The way each video game had it’s set of rules and was able to adapt to all the different variables during each individual player’s experience intrigued me, and I wondered what it felt like to be the creator, the rule maker, instead of the consumer. With In-Depth around the corner, and an urge to embark on a new journey and learn something interesting, I felt that video game design would be an interesting and challenging topic for my In-Depth project.

My goal for In-Depth is to be able to create at least one complete video game to showcase on In-Depth night, gain fluency in using Unity, get a deep understanding of game design, and create an original and innovative idea for my final product, my game.

Some of the difficulties I will probably face will be finding a timetable that works for both my mentor and myself. My mentor, being a busy person, is only available at certain times, and I am also mostly limited to the weekend. Finding a way to fit in a couple of hours for my mentor will be difficult as I will need to use better time management to find a few hours to squeeze in. I will also need to design my own game, something I have zero experience with. Despite constant reassurance from the optimistic Jerome, the pessimistic Jerome finds the project intimidating, as he does not have a step by step idea for his game and has absolutely no experience with working with game design software.

I have contacted my mentor Rafael, a university graduate who studied game design, and is currently developing other IT projects. I managed to find him through one of my parent’s contacts. We are currently finding a biweekly timetable that is convenient for him. In case he is unable to mentor me for the entire five months, I have sent e-mails to Microsoft, A.C.R.O.N.Y.M Digital, and Next Level Games, but so far, I have not had any replies.

Despite In-Depth being a dive into uncharted waters for me, I’m excited to learn something that’s more than just flipping through a textbook.