Select Page
Game Design
Class 01: Introduction to Game Design


    • Course Introduction
    • Game Design
    • Unity
    • Platformer (basic mechanics) Lab Demonstration
    • Assignment: 2D Game Design Document

Nice to meet you!

Course Introduction

Hi There!

I'm Jon Cone

I am one of the full-time faculty in Cecil’s Visual Communication Program. I am mostly responsible for the game design and web design programs. I am also a freelance animator typically working on visualizations.

Office Hours
None currently available on campus
Honestly just e-mail me. I will make time when it works for you.
Contact Information: (prefered)
(240) 466-1996 (personal)
410-287-6060 X 1470

Actual photo of me.


Assistant Professor, Cecil College

What’s your name? What do you go by?
Why you are here:
Is this required for your major? Are you taking this course as an elective? Personal Enrichment?
Do you have any history with graphic arts or arts in general? Any experience with Adobe or other graphics software?

Alright. Here is an actual picture of me.


Assistant Professor, Cecil College

Course Description:

Introduction to Game Design provides an introduction to computer game development, starting from concept development to implementation of a playable game prototype. Aesthetic and technical aspects of computer game development are covered, including game mechanics, story development, content creation, and game programming.


Each week a new lab assignment will be given.  These mimic the exercises we would do in a face to face course. You must simply follow the instructions given as closely as possible. You should feel free to explore and “make it your own” however. In fact that is encouraged. All labs will be submitted by the end of each week on Blackboard.


Two long form projects will be due by the end of the course. These are the completion of the labs as well as the addition of elments and polish of the results. These are how you separate the results of your labs from your peers and create a novel game.

Labs 12 50%
Projects 2 50%
Total 100%

Game Design

Defining Games:

No one can agree. It is similar to defining art. What we can do is suggest some common game elements. So what are the universal game elements?

Common Game Elements:

  • Player:
    • Agrees to follow the mechanics of the game and follow the “rules.”
    • Games are player-centric. If the player is not engaged then the game must be adjusted.
  • Rules/Mechanic:
    • Dictate what is, and is not valid play.
    • A game must be challenging in some way to be entertaining. Player pleasure comes from mastery of the game challenges. Therefore, the difficulty must escalate and provide variety to maintain player stimulation.
  • Victory Condition:
    • The successful completion of the game’s given tasks.
    • This is the ultimate carrot to lead the player through the level.


Fun games involve learning and mastery (are you having fun now?). When you watch animals (particularly young) you see their play organized around skills necessary to hunt or evade.

Our minds crave input and information. It has developed a reward system. When you acquire new skills your brain releases endorphins.

It is important to create variety in your game and to constantly challenge your player, usually scaling difficulty.

Game Genres:

  • Action
    • Physics, Fighter, Platformer, Shooter, Stealth/Survival
  • Adventure
    • Real-time, Turn-based/Text
  • Role-playing
    • Traditional, Sandbox, MMO
  • Simulation
    • Vehicle Simulation, Life Simulation, Construction
  • Strategy
    • RTS, Tower Defense, Physics, Turn-based, Puzzle
  • Sports
    • Racing, Sport
  • Idle

These are almost always combined together. Most modern game contain elements from all major genres.

Accurate example of games today containing elments from all game types

Game Design:

Game Design is the development of rules that establish play for one or more individuals. Game designers are the most desired and fewest jobs available in the industry. In order to pursue this career you need to show a history of developing games. Therefore, you must be able to create the assets and code or inspire others to produce your games.



Unity is a game development software that allows for the creation of 2D and 3D games. The name Unity is very fitting. It has the ability to import assets in a variety of formats including all the most popular industry standards. It also has the ability to export game builds into a variety of formats appropriate for mobile devices, game consoles, and computers. It is a very dynamic, logical, standardized, software that is very approachable. The overall graphical and programmable quality of Unity is not as impressive as other full-featured game development software. You may download Unity from their website and use it for free.

Visual Studio Code:

Unity is the game engine that we will build our game in. The assets of our game cannot be made inside Unity (well, not really). That means the graphics and code must be produced elsewhere. The code we create can be made in any text editor. You may use whatever you like but I will be using Visual Studio Code. If you do not have  preference I suggest using this as well.


The artwork for the game must be made outside of Unity. You may use whatever you feel comfortable with. In fact I would prefer you use your own unique methods. In the later weeks I will be using piskel since it is free, simple to use, and outputs sprite sheets.

Platformer (basic mechanics) Lab Demonstration

This is what we are making today

You may download the Unity project here.


The imagery that the player character can actually contact, ground, platforms, walls, etc.
The protagonist controlled by the player
Other(pickups, UI, etc.)
We will be adding this next class
we will use stand-in sprites to start off with but you will eventually make your own graphics.


Moves the player based on user input
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
    public float movSpd = 2.5f;
    public float jmpStr = 50f;

    public bool ground = false;
    public bool doubleJump = false;

    private Rigidbody2D pRB2D;
    private Vector2 startPos;

    void Awake()
        pRB2D = GetComponent<Rigidbody2D>();
    // Start is called before the first frame update
    void Start()
        startPos = transform.position;

    // Update is called once per frame
    void Update()
        pRB2D.velocity = new Vector2(Input.GetAxis("Horizontal") * movSpd, pRB2D.velocity.y);

                pRB2D.AddForce(Vector2.up * jmpStr);
                ground = false;
                doubleJump = true;
                    pRB2D.AddForce(Vector2.up * jmpStr);
                    doubleJump = false;

        if(transform.position.y <= -10)
            transform.position = startPos;

    void OnCollisionEnter2D(Collision2D col)
            ground = true;


Assignment: 2D Game Design Document

2D Game Design Document:

Your first project will be to develop a 2D platformer game. We will work together to develop the bones of the game but it is up to you to customize it and set it apart from your peers. For this first assignment you will create a Game Design Document. You may create this document in an program you would like (Word, Google Doc, Photoshop, etc.). It should contain a written description of the game that describes the basic narrative, style, and mechanics. There should also be a rough illustration of what the game will look like.

You will be graded on the following:
  • Lab Requirements
    • Techniques and processes covered in the instructional material is followed and implemented.
  • Creativity & Craftsmanship
    • Excellent design choices, novel & appealing, and solid clean caliber work.
Assignment Video Tutorials
You may watch the tutorial videos below to help you complete your assignment.

Assignment Video Tutorials

Wait! Before you go!

Did you remember to?

  • Read through this webpage
  • Submit 2D Game Design Document Assignment on Blackboard