Developing games using the Unity framework and the C# programming language
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
We will be looking at the user interface for Unity, how to navigate, where to find different aspects of our programs.
Building a game is a huge task. Unity organizes the many elements in our game, connecting objects with scripted actions. We must learn how a user interfaces with all Unity's powerful capabilities. \
Unity has changed
The software has been updated frequently since the recording of this video. Be patient and attentive to the new layout as well as changes in class procedures
Learning Targets
I can find and create primitive shapes in the hierarchy
I can find components of my objects
I can find my game asset folder
I can navigate the game space
Create and manipulate at least 5 objects.
We will be learning C# programming and Unity development during this course. All the concepts will be taught through the creation of games. Through tutorials, you will be able to work at your own pace and return to concepts which might be confusing. Mr. Vanek will be available to help if you have bugs that crop up in your programming and to clarify points in the tutorials.
In each unit, you will be responsible for completing an assignment which builds on the concepts you have learned. Feel free to flex your creative design muscles, especially in the assignment portion of the game. Adding extra features or finding new ways to accomplish them will help your game and your learning.
For the final project of the semester, you will be developing your own game. If you have good ideas for the form the game may take during the course of the semester, be sure to write them down.
We will be installing Unity Game Development Engine to develop your games.
For the final project, you will be designing and executing a game of your own design. This will be a proof of concept game. The importance is placed on the game's design and programming, not on how it looks. Make sure that levels are playable before working too much on art assets.
The final project needs to fulfill the following requirements:
The program runs with no bugs that break the game.
The game should be FUN. This is a game, after all.
The project should have a minimum of two workings animation with transitions between them.
The project should have a minimum of three levels or be procedurally generated. Levels should have transitions between them.
The project should use some aspect of user interface (text) either via instructions or heads up display.
The project should have a good use of materials and / or material assets from the asset store.
For your assignment, you will need to build on the ball roller game in the following ways:
Create at least three extra levels (for a total of five).
Make your game say "You Win" when you beat the final level.
Different colored power up with different point value from the ones we built.
Stop the timer and disable game controls if the game is over. (Hint: You will need a boolean (bool) type variable to control whether the game has ended and link those to if - statements within your game)
Create an death box or script under your level that will restart your level if the player falls off our hits it. If you are creating a death box, you will need at box collider, but not necessarily a renderer or material You can create invisible collisions.
Make a sharable build of your game using the instructions below.
I can create and use int, float and bool variables.
I can correctly change the value of a variable through code.
I understand when to use public and private variables.
I can access inputs and apply them to player movement.
I can implement if statements in C#.
I can write and call my own methods in C#
I understand and correctly use Start, Update, FixedUpdate and LateUpdate functions.
I can link components to variables.
I can determine how many of a GameObject exist in a scene.
I can organize and program based on my build index.
I can change scenes within my game through code.
I can create and manipulate several different 3D primatives.
I understand and can use several different components.
I can add text elements to the game screen.
I understand when to add RigidBody components and when not to.
I can use RigidBody components to interact with Unity’s physics system.
I can create and apply materials to objects.
1) Create five levels in which the player needs to explore in a controlled way. The level should have a start point and an end point. Think about how far / high characters can jump to keep parts blocked off.
Make sure you control how the players can progress through the level with terrain. You should use Probuilder, MagicaVoxel, or both to design your level. You can also use other resources such as physics materials.
2) Add at least one "hidden area" to your level.
3) Add at least one area which requires an item to progress.
4) Create one power up for your character (different than the progression item).
5) Use slime enemies in the environment. If your player touches a slime, restart the level (or if you are feeling like a bit of a challenge, make checkpoints and move the player to the last touched checkpoint).
6) Create at least one additional "humanoid" enemy complete with animations. Make sure the player can interact with the enemies in some way (attack, avoid, etc)
The above file is for the Tank Particles 1 video if you don't have access to Photoshop or Illustrator.
Make sure all tutorial sections have been completed and all features are implemented correctly.
Add the following to your game:
1: Make the tanks a target with appropriate health. (Video was added above for this assignment) 2: Add a non-destructible wall with metallic material.
3: Create one extra piece of destructible terrain. 4: Add a secondary fire weapon (missile, artillery, machine gun, laser, mine, etc) with it's own particle system. 5: Make a power up that lasts for a limited amount of time and affects some aspect of the game (speed, fire rate, damage, etc). 6: Create three separate arenas with realistic materials for everything. 7: Create a start screen for your game. When a player hits Start, randomize the arenas and begin the game. 8: Add a win screen to the game and prompt players to restart once they both hit X.
9: Turn in the game through GitHub (make sure you set it up with a Unity GitIgnore).
This page will be updated with videos to offer greater clarity or detail about Unity concepts. This is also the repository for student requested videos which are outside the classroom content.
This page describes how to get setup for distance learning, spring 2020.