Introduction to GDD 201

In this course you will practice the skills needed to break into, and excel in, the games industry.
We will be beginning our Student Passports, which will serve as a place to showcase your achievements in the GDD program.
We will also start building your Portfolio. Your Portfolio will be one of the most important assets you bring to your eventual job search, it is what employers look at to understand who you are and what you can bring to their studio.
To become better at making games, we will also be reading Seven Games by Oliver Roeder, exploring and critiquing new game ideas, and analyzing games to evaluate their strengths and weaknesses.

Introduce Yourself

  • Let us know who you are, why you're here, your experience in game development, and the area of game development that you're most interested in. This will help me introduce material to the course that might help with your specific interest if there isn't otherwise a lesson on that subject.
  • Show off or discuss anything you've made in the past
  • Tell us your favorite game/genre

Getting Started

  • Review the course syllabus and grading rubric.
  • Download and install Cyberduck to connect to  MyWebspace FTP . Instructions on how to connect
  • Cyberduck will allow you to copy files from your computer onto a server so that they can be viewed from the internet. This is how you will share your work.
  • When connecting: User name "mywebspace.quinnipiac.edu|QUUsername" (there is a vertical pipe before you enter your QU Network Username, the shift+backslash key)
  • Use the Bookmark > New Bookmark button in Cyberduck to save the connection for easier log in.
! The files that you add to Cyberduck become copies that no longer live on your machine anymore. This means that whenever you update a file on your machine you will need to upload that file again to update the Cyberduck version of the file.

Portfolio building with HTML/CSS/JavaScript

Our first exploration of portfolio building will lead us through some of the basics of front-end web development: using HTML, CSS, and JavaScript, to make a webpage from scratch.
In this assignment, we will cover the basics in a lecture, and I will provide resources for continuing to beyond what we cover in class.
The objective it to learn the basics of what makes a web portfolio work, how the various tags in HTML are used, how CSS can be leveraged to style your portfolio, and the features that JavaScript brings to your website.

  • Portfolio Analysis - Review these portfolios and discuss effectiveness, clarity, professionalism.
  • HTML

    • HyperText Markup Language is the code that web browsers look at to understand how to display content to a user. HTML is not a programming language, it cannot perform operations or define variables, it doesn't evaluate "if" statements or offer the ability to loop over a section of code. HTML is a markup language, something used to define how content should look when displayed to a user.
    • Begin by creating a new folder in your GDD201 directory (on your computer). Call it Portfolio.
      Open VS Code and create a new file (File > New File). Call in index.html, and save it in your Portfolio folder. All of the content for your portfolio will live inside this folder.
    • To add an image, video, PDF document, or other file, you can upload it to the same place as your webpage, and then reference it by it's path.
      Example: To add an image I would use <img> src="media/myImage.png">. This means that wherever my website is uploaded to needs to have a folder called "media" and inside it a file called myImage.png.
    • Webpage Boilerplate Code - Copy and paste this code into the index.html file. Save the file and then open index.html in a web browser.
      <!DOCTYPE html>
      <html>
      <head>
        <title>Professor Blake's Game Development Portfolio</title>
      </head>
      <body>
        <h1>Game programmer, designer, and I got to Gold once in Apex Legends.</h1>
        <p>Hello, I'm XYZ.</p>
      </body>
      </html> 
                    
    • You can now add content to between the body tags to start building out your site. Experiment with the following tags:
      • Tags

        Here are a few common HTML tags to get you started.

      • <b> : Bold Text <i> : Italic Text <u> : Underline Text
        <u>Thank you Mario</u>, But <i>our</i> Princess is in <b>Another Castle</b>!
        Thank you Mario, But our Princess is in Another Castle!
      • <p> : Paragraph Tag
        Welcome to my Website <p>I hope you enjoy your stay!</p>
        Welcome to my Website

        I hope you enjoy your stay!

      • <h1> : Header 1 Tag - <h6> : Header 6 Tag
        <h1>This is Header 1<h1> <h6>This is Header 6<h6>

        This is Header 1

        This is Header 6
      • <a> : Hyperlink Tag
        Here's a link to the <a href="https://games.qu.edu/">QU GDD Website<a>
        Here's a link to the QU GDD Website
      • <div> : Section Tag
        The classes for the following sections are defined in the <code>style.css</code> file that is referenced in the header of this website.
        <div class="myDiv">Here is a section which uses the "myDiv" class.<div>
        <div class="myOtherDiv">Here is a section which uses the "myOtherDiv" class.<div>
                        
        The classes for the following sections are defined in the style.css file that is referenced in the header of this website.
        Here is a section which uses the "myDiv" class.
        Here is a section which uses the "myOtherDiv" class.
      • <code> : Code Tag
        To destroy a GameObject in Unity, use <code>Destory(gameObject);</code>.
        To destroy a GameObject in Unity, use Destroy(gameObject);.
      • <ul> : Unordered List Tag <li> : List Item Tag
        Professor Blake's Favorite Games: 
        <ul>
           <li>Quake</li>
           <li>Chrono Trigger</li>
           <li>Half Life</li>
           <li>Mario Kart 64</li>
        </ul>.
        Professor Blake's Favorite Games:
        • Quake
        • Chrono Trigger
        • Half Life
        • Mario Kart 64

    CSS

    • Cascading Style Sheets are used to style how a webpage looks. By creating classes with various visual properties, and applying those classes to HTML elements, we can create interesting looking websites.
    • CSS can be added to a webpage by defining CSS classes within the <head> of a single page, or by placing the classes inside a separate file that is hosted elsewhere online and referenced in your <head> section.
    • To override a standard HTML element style you can add the element to your CSS classes and when used in the webpage it will inherit your definitions:
      body{
        color:greenyellow;
        background-color: black;
        font-size: 24pt;
        font-family: 'Courier New', Courier, monospace;
      }
      
      h1{
        font-size: 21pt;
        color:red;
      }
                    
    • If you want to define your own CSS classes, you can define them with a "." before the name you choose, then use the class attribute in your element tag.
        .menuArea{
          color:greenyellow;
          background-color: black;
          font-size: 24pt;
          font-family: 'Courier New', Courier, monospace;
        }
      
        .importantInfo{
          font-size: 21pt;
          color:red;
        }
                      

    JavaScript

    • JavaScript is the programming language used to control the behavior of websites. It can be used to change web content, read data from APIs, perform calculations, event to make games that play in the browser.
    • JavaScript code can be added to a webpage by using the <script> tag: <script>console.log("Hello World!");</script>
      • Useful JavaScript
      • document.getElementById() allows you to reference any element on your webpage by giving the element an ID, and then finding it.
        <script>
          var d = new Date();
          document.getElementById("time").innerHTML = d.getTime();
        </script>
                        
      • innerHTML is the HTML code found between the open and close tag of an element.
        document.getElementById("gold").innerHTML = "</h1>You've found 100 gold!</h1>";
                        
      • style is a reference to the CSS properties of an element.
        document.getElementById("name").style.background-color = "red";
                        

    Code Examples

    Student Examples

    Portfolio building with a Website Builder

    As you begin your journey into the game development industry, your portfolio is the key to landing your first, or next, job. A potential employer's perception of you can be heavily influenced by the way you design your portfolio.

    Now that we understand the fundamentals of front end web development, we're ready to start utilizing the tools available to us to build effective, professional, web portfolios.

    These tools will help you deliver your message to potential employers or clients, showcasing the work that you are capable of producing, your skills, education, and experience. Using website building software can allow you to focus on creating a portfolio that works for you, without the need to be an expert front end developer.

    Website Builder Features

    • Drag & Drop Design: Most website building software allows you to add common website elements with a drag-and-drop interface, making it simple to size and position text, images, GIFs, video, etc. This makes a web portfolio accessible to everyone, not just programmers.
    • App Integration: Some builders also offer a marketplace of useful website plugins to boost the functionality of your page. For example: If you have a social media feed that you want to stream alongside your portfolio, you may be able to add an app that does so seamlessly.
    • Responsive Design: Designing your portfolio for large and small screens is essential, you don't know where a client or employer will be viewing it. Most website builders provide a simple way to build both views, ensuring your portfolio is ready to be viewed anywhere.
    • Search Engine Optimization: Getting to the top of search queries is important when you want to be found. SEO tools provided by website building services can help ensure your portfolio doesn't get stuck at the bottom of the list.
    • Web Hosting: At Quinnipiac, we have access to server space on MyWebspace. After you graduate, however, you will want to host your work somewhere that you can control. Most website building software also provides the option to host your website on their servers, ensuring you never lose access to your portfolio or encounter server downtime when you need to show your portfolio.
  • Website Builders - Explore these popular options, all with a free-to-use option that will be sufficient for this course.
    • SquareSpace: SquareSpace features a suite of tools and integrations that make it easy to build your portfolio, or any other webpage.
    • WIX: Powerful and easy to use, Wix is one of the highest rated, and most popular, website building tools.
    • Google Sites: Simple and effective, on a reputable platform.
  • Portfolio Analysis - Review these portfolios and discuss effectiveness, clarity, professionalism.
  • Portfolio Review/Technique - Resources to help you build a better portfolio.
  • Game Ideas: Ideation Strategies and Planning

    All game designers go through a humbling process early in their education where they sit down to come up with an idea for a game and after jotting down a few of the high-level bullet points, they realize their game idea just isn't good. Or, worse, they begin developing their bad game idea, and after weeks/months/years, arrive at the same conclusion.
    Coming up with bad game ideas isn't a fault of the designer, but pushing one through to production can be a very costly mistake. So how do we come up with good game ideas?

    Fail Fast

    • The mantra of good game design is to Fail Fast. This phrase has applications across a wide swath of industries, but in game design, it is a term that is aimed at pushing designers to test out many ideas quickly to find the best ones, rather than to roll around with one idea forever, trying to make it into a winner. This helps designers avoid getting hung up on their love for an idea that might not actually play well when brought to life.

    Utilize Ideation Techniques

    • As creatives, we often feel like our value lies in simply pulling good ideas out of thin air. New designers often coin themselves "The Ideas Person." This line of thinking can stunt the progress of a team as they await their Ideas Person's next great game to appear out of the ether.
      The better way to create strong game ideas is to use ideation techniques and work as a team to find something worth pursuing.
    • Here are a few techniques you can try. Find these, and others at the Interactive Design Foundation's Website. You should also look around for other techniques, the best one is the one that works for you and your team!
      • Brainstorm / Brain Dump: These are very loose techniques that can evolve as teams use them to fit what works best. The Brainstorm involves a team simply throwing their ideas out in a group setting, building on previous ideas or introducing something new. It's important to create an environment where each team member feels comfortable sharing even the wildest idea. If people are feeling their voice is being unheard, they're likely to stop participating and their ideas, and contributions, are lost.
        The Brain Dump technique is a method that aims to avoid this potential issues of the Brainstorm by asking everyone on the team to contribute ideas by writing them on a piece of paper and adding them to a pile. This prevents the outgoing and loud members from silencing the voice of the quieter team members.

      • Brainwriting: This technique allows teams to benefit from the Brain Dump process but also gains the value of the community input by asking team members to write down their ideas, and then pass those ideas around for others to iterate on them.
      • Worst Idea: This is a fun, and helpful, technique that asks designers to list horrible ideas in place of good ones. This can be entertaining, but also helps identify directions to avoid going and focuses designers on a path to a successful idea. This is best used when a core element of a game has been decided on, perhaps a strong narrative element for a game, but the rest needs to be iterated on.

      • Mind Map: One of the tools that works great for individual designers and teams, this technique starts with writing the down ideas and building off them with brief (one or two word) follow up ideas. A series of nodes and paths emerges and game ideas can arise by following a route through the nodes.

    Game Idea Assignment 1

    Develop a game idea for a new game. Your game can be a digital videogame, a board game, card game, sport, etc. There are no constraints on the game theme or mechanics, but if having one would help here is a prompt for a memory based game:

    Develop a game idea for a new game that involves using memory. There are many games that involve memory and they are explored at length in the book. Look at the sections on checkers, chess, scrabble, and bridge in particular. Think about games that you enjoy that require memory either of strategy, game pieces, or mechanics.


    Use a milanote board and include:
    • Overview: High-level look at your game, the elevator pitch. A few sentences describing what the game is about.
    • Theme: The background of your game, the subject and scenarios that set the scene.
    • Game Mechanics: Detailed descriptions of how the player plays the game, what makes the gameplay interesting, how player decisions are translated into the game world. What happens in the game that the player must understand, and eventually master?
    • Mood Board: Create a Mood Board that helps set expectations for the visual style of your game. Consider 2D/3D art, pixel/low poly/stylized/photorealistic, tone, brightness, etc.
    • Win/Lose Conditions: If your game has important "state" changes, such as the player losing the game, or winning the game, describe how these conditions are met and the impact they have on the game.
    • Characters: Describe the important characters in your game, the subjects that drive your story or gameplay.
    • Rules: What rules govern your game? Is there a gameplay arena, like a field? A time limit? A score?
    • Target Audience: Who is this game designed for? What considerations need to be made for this group? How does your game design support the needs of this group?
    • Hardware Goals: If the idea is for a digital game, what platforms would it be appropriate for? What considerations need to be made for each platform you wish to deploy it to? If it is not a digital game: What material would the game require? Is it purchased in a box?
    • Feedback to Player: How does the game communicate back to the player? How does the player know when they're doing well? When they're failing? When they're going in the right direction, about to lose, close to victory, or totally lost and in need of a map?
    • Supporting Material: Provide supporting material for your decisions from our readings, or other sources. Your design decisions should be based on a combination of creativity, intuition, and research. Set yourself up for success by using the knowledge others have worked hard to gain as you design your games.

    Check the Grading page for more information about what is required.
    James R 2022

    Priscilla E 2022

    An in depth analysis of the tools used in the game industry

    As a student of the games industry, you may find yourself scrambling to find the right tools to do the job you're working on. I've seen countless programming students call me over to ask me a question about their Unity script, only to see them working in a bare-bones text editor without any features to make their job easier. For an artist, it would be the equivalent of trying to make photorealistic art in MS Paint.
    In this section we will take a look at some of the tools and techniques used by game programmers, artists, designers, and sound engineers, to do their jobs effectively and efficiently.

    - Teams: Tools for managing teams.
    - Game SDKs: Game development kits to bring together all the components of a game.
    - 2D Art: Tools for creating raster and vector art assets.
    - 3D Art: Tools for creating 3D models.
    - Platforms: Tools unique to various deployment platforms.
    - Capture: Tools to capture your content in images, GIFs, and videos.

    Teams

    Working on large teams is one of the first major changes from the early stages of learning a game development role. We often begin learning on our own, so when it comes time to collaborate, it can be confusing to know how to best contribute as a team member.
    • Jira: Jira is one of the most popular issue tracking and agile project management tools in the games industry, and beyond. Jira's tools allow for studios to manage the development of a project by managing the tasks teams, and individuals, are responsible for, throughout the lifecycle of a project.
    • Git & GitHub: Git is a tool that allows users to manage virtual snapshots of a digital project they're working on, tracking changes between each snapshot. Teams can utilize this tool to divide tasks on a common project among many developers, who can then merge theri snapshots together when appropriate to contribute small parts to the larger project. This is known as Version Control.
      GitHub is a website where teams can host their Git projects online, so they're easily accessible to others.
    • Slack / Teams / Discord: Effective communication between team members is vital to a teams performance, so teams generally use a communication platform like Slack, Teams, or Discord, to ensure they can stay in contact. Each platform offers some unique benefits over the other, but at their core they're all chat rooms. Sometimes everyone will share a common room where they can talk and ask questions to the rest of the team at any time. At larger studios the chat may need to be broken up into smaller teams, where each department might have it's own channel: Programmer Chat, Artist Chat, Management Chat, etc. This allows members working on similar tasks to freely communicate without overwhelming a General channel.
      A common feature of these platforms is integrating other software, receiving updates in your messaging software that a Jira task has been assigned to you or a Jira task that was blocking your work was complete. There are also Git integrations, alerting a team that a Pull Request has been created, for example.

    Game Software Development Kits

    Creating a modern digital game can require many resources, assets, and tools. Combining the scripts that programmers write to handle game mechanic functionality, 2D and 3D art that artists create to build the game world, audio assets that sound designers build to immerse the player, is a monumental task. Then there are systems to handle rendering these assets onto the players device, utilizing various asset formats, handling game physics, etc. An environment that can handle all of this is known as a Software Development Kit, a single piece of software that brings all of these tools and resources together to allow developers to build a game without needing to reinvent many of the common processes shared between games, like showing an image on the screen.
    • Unity: One of the most popular game engines, Unity software provides an easy to manage environment for assembling game assets and building a game for almost any modern platform. It can be used effectively for creating 2D or 3D games, with the potential to create very high fidelity games.
      Unity historically has utilized a revenue-share pricing model, where games that earn money owe a small percentage of those earnings to Unity and games that do not earn money can use it freely.
    • Unreal: Unreal Engine is a powerful SDK that readily provides very high quality results. Users can take advantage of Unreal's fantastic lighting and rendering technology to bring their games to life and tell their stories. Features a visual scripting system to allow users to program their game without writing any code.
      Unreal historically has utilized a revenue-share pricing model, where games that earn money owe a small percentage of those earnings to Unity and games that do not earn money can use it freely.
    • Godot: Of of the most popular free game engines, Godot is revered as a powerful game SDK for 2D games and also boasts it's 3D capabilities. While it is generally regarded as less feature packed as Unity and Unreal, for developers making games that don't need as many features, it has proven a capable tool.
      Godot is completely free to use, without any restrictions.
    • Cryengine: Powerful game engine behind games like the Sniper series, Hunt Showdown, Prey, and Star Citizen.

    2D Art


    • Photoshop: The standard in 2D image editing software, Photoshop is ubiquitous in the art creation world. In 2023 Photoshop began rolling out it's AI image generating tool, Firefly

      Image by Adobe
    • Illustrator: Adobe's Vector art program, creates crisp, scalable graphics. Raster art programs like Photoshop work by setting each pixel of a canvas to a specific color, which means that scaling a raster image can change the look of the image. Vector art is created using mathematically defined shapes instead, so they can be scaled up or down without ever changing their look.

      Image by Adobe
    • GIMP: GIMP is the "Free Version of Photoshop", with a similar set of tools and features for creating raster art. It doesn't offer quite as many of the powerful features of Photoshop, but it is free.
    • Inkscape: A free vector art image editor, the "Free Version of Illustrator".

    3D Art


    • Blender: Blender is a powerful 3D modeling, rigging, and animating tool that many find as powerful as any paid modeling software, but is offered for free.
    • Maya: Create assets for interactive 3D applications, animated films, TV series, and visual effects.
    • Houdini FX: Procedural modeling and animating tools to help make game assets look and feel more natural and adaptable.

      2021 Houdini Games Reel from SideFX Houdini on Vimeo.

    • ZBrush: Digital sculpting tool that combines modeling, texturing, and painting.

    Platforms


    • Steam:
      Steamworks is a set of tools and services that help game developers and publishers build their games and get the most out of distributing on Steam.
    • Epic Game Store:
      Epic Online Services (EOS) are free, games-platform agnostic, services to launch, operate, and scale your game, whatever games platform your game clients run on, and whatever game engine you use for development, or if you use no game engine at all.
    • Playstation:
      PlayStation is home to adventure and innovation. Every week, millions of people experience the extraordinary through us, playing solo or together through a best-in-class online network. Our devotion to play has made PlayStation a global market leader in interactive entertainment. Our eyes are always on the future.

    Capture


    • OBS - Open Broadcast Software:
      Free and open source software for video recording and live streaming.
    • Screenshot (Windows): To capture an area of your screen press WindowsKey + Shift + S. Then you can drag the mouse around the area you want to capture. This copies the selected area to your clipboard, which you can then paste into an art program to edit and save
    • Screen To Gif: Select an area of your screen to record as a GIF.

    Exploring Careers In The Games Industry

    Many students start their journey into the games industry knowing exactly what they want to do after graduation: "I want to be a lead designer at Ubisoft" or "I'm going to design characters for Nintendo".
    Other students know only that they love games, and enjoy being a part of the development process, but don't know where they fit in. They may not even be aware of what the options are. In this section we will identify several of the roles that exist in the field and create a plan to help you reach your goal.

    • Engineers, or programmers, are responsible for writing the code that drives the games and tools at a game studio, or in a related area. The most common roles for programmers are in game programming, writing the scripts that give characters their movement mechanics, tell enemies how to track the player, control the physics of a tuned race car, or allow players to craft gear from the items in their inventory.
    • Engineers can also be responsible for developing the game engine that the studio uses to build their games. Large studios often craft their own proprietary engines and hire developers to continually build upon their in-house tools.
    • Tool Development is another engineering role at some game studios. These programmers are responsible for building the tools that the studio's designers, artists, game programmers, etc., use to create their games. The tools these engineers develop are designed to improve the productivity of the team as a whole.
    • More Engineer Roles

    • Artists are responsible for creating the visual components of a game, and must work closely to ensure the art style of a game is unified. Images, models, textures, and UI, all need to work together to create a compelling visual style.
    • 2D artists are often creating art assets in tools like Photoshop or Illustrator for use as sprites in a game. 2D artists can also be responsible for creating concept art, to help solidify ideas from the art director and bring a visual understanding to the game content. Texture artists also work with 2D art creation tools, designing the textures that get applied to the characters, environment, equipment, and more, in the game.
    • 3D artists can be responsible for creating 3D models, rigging, animating, lighting, and visual effects.
    • Resources:

      - GameDeveloper.com Article - Crafting the Perfect Game Art Brief: A breakdown of a game artist defining the visual style for a new game.

    • Game designers are responsible for designing and iterating on the various elements of the game, starting their work before any code is written or any art is created. They help ideate on the story, game mechanics, characters, enemies, items, quests, camera work, etc. Designers form the ideas for all of the game content, and then continually update their designs as the artists and programmers implement them into the game.
    • Designers are largely responsible for testing and tweaking, frequently playing through updates to the game and finding things that need adjustment, or even complete replacement. The designers goal is to dictate how the game should play, making adjustments to details small and large.
    • Resources:

      - JeremiahGames.com: Game designer for Lord of the Rings Online, at Standing Stone Games, writes design blog posts about working as a designer.

    • The writer in a game studio is responsible for creating all of the narrative and story content for a game.This includes crafting a story, developing characters, filling out text and voice lines that will end up in the game, etc.
    • Writers are also responsible for maintaining the plot through changes to the story and characters. As the game is developed and undergoes changes through its iterative design process, the writer must go back through their work and make the required changes to ensure there are no errors.

    Assignment 1 - Identify Your Role

    Your goal for this component of the assignment is to identify 2 or more roles you might be interested in within the games industry. One should be a potential entry level job, something you could apply for soon after graduation. Another should be a goal, a role you would like to eventually reach.

    Resources:
    - Game Studio List
    - Grackle HQ
    - Game Dev Map
    - Game Jobs
    - Game Developer.com
    - Work With Indies
    - Remote Game Jobs
    - Creative Heads

    Requirements
    - Approximately 1 page, posted to Blackboard (Assignments > Working In Games : Identify Your Role)
    - Describe the roles in detail. What are the responsibilities? What are the education and experience requirements? How much can you expect to earn?
    - Describe the requirements that you don't meet. How can you make sure you do meet them? Is there a chance you can work around a requirement with a sufficient related experience or portfolio piece?
    - Find job postings for the role, current or expired, and add them to the document.

    Assignment 2 - Draft Email

    • Compose a draft email to be sent to somebody working in an entry level role and dream role that seeks information from about the position, how the person broke into their role, the steps they took to achieve their career goals, and the things they're doing to continue to grow in the industry.
    • Submit on Blackboard. Approximately 1 page.

    Assignment 3 - Identifying Your People

    Assignment 4 - Building Your Network

    • Your network is massively important in this industry!
      Who you know can often determine if, and where, you get a job. Your network includes everyone you interact with in this field, this includes your fellow students, professors, employees and owners of local studios (Game Dev CT), people you talk to at conventions and events, guest speakers you meet in class, and the connections you make online, through social media, Discord, and platforms like LinkedIn and Handshake.
    • Submit on Blackboard - Building Your Network: Link to your LinkedIn profile and Handshake profile.

    Game Analysis Paper

    Most of us have been playing games throughout our entire lives. We played kids games with our parents. We played sports with our friends. We may have played board games and videogames. Playing games is a crucial aspect of becoming a good game designer. It gives us a chance to experience good, and bad, game design, and to learn from the experiences of those who made games before us.
    The act of playing games itself doesn't guarantee we get better at designing game mechanics, creating art assets, telling moving stories, etc., we need to consciously assess the aspects of the game and analyze the various components of our experience to form meaningful insights into how we can make better decisions when creating games of our own.

    Assignment

    🎮 Choose an aspect of game design that you want to focus on improving your understand of.
    Here are a few examples:

    - Game Mechanic Design : The design behind the various mechanics that make a game interesting to play.
    - Game Narrative Design: Creating compelling interactions to drive a players through the story of a game.
    - Game Artist : Craft characters, items, equipment, and worlds, that immerse players in the game and create a tailored experience.
    - Sound Designer : Utilize the power of music and sound effects to engage players with your game world, driving player emotion and interest.


    🎮 You will be writing a detailed analysis of a topic of your choosing. The goal is to practice critically analyzing an aspect of a game to better understand that element of game design. You will write a 5+ page analysis of an element from a game that you think is worth critical study, supported by at least 3 academic citations to published research on games and as many citations as needed to playthroughs, player remarks, videos, etc.
    You should focus on a critical discussion of the element you've chosen, and avoid summarizing the game itself.
    Submit your draft and final version on Blackboard > Assignments.

    Final Project - Paper Prototype

    Developing games, in any medium, often requires a massive investment. The investment is paid in time, money, and creativity.
    To bring a game from it's birth in an ideation process, to it's first sale on a store shelf (physical, or digital), through years of supporting the game and player base, can require thousands of collective hours and millions of dollars.
    To ensure that this investment is worth the cost, many game ideas need to be assessed for viability before a studio lands on their next project. If a studio is going to commit all of it's workforce, money, and energy, into building a game, they need some reason to believe that their game will be successful, and there's only one way to ensure your game has a chance at succeeding: Playtesting.

    The final project in the course is designed to take you through the process of coming up with a unique game mechanic, forming a game around the mechanic, and developing a physical prototype (paper prototype) that allows you to playtest your game idea frequently, with a rapid rate of iteration. You want to get your game played by as many people, as often as you can, throughout the development process. This will provide continuous feedback on updates so that you can "find the fun" of your game and cut out the parts that don't work. Each time you update your game, through the use of feedback analysis, you will add more of what players enjoy about your game and strip away any of the areas that make people less interested in playing your game.

    🎮 The goal of the prototype is to create a concrete playable experience for players.
    🎮 It should allow you to quickly test your game idea, mechanics, rules, and player feedback systems.
    🎮 Through playtest feedback, you should learn what part of the experience players find compelling, identify problems and meaningfully improve the game idea over time.

    • Game Ideation and Pitch
      • Use ideation techniques to choose a game idea. Come up with at least 3 ideas that you like before selecting your final choice.
      • Pitch the idea to the class in a 5 minute pitch. Try to sell us on the idea, not just describe it.
    • Game Design Documents
    • More Outline Options - More Outline Options
      • Overview: A high-level description of your game that focuses on describing the core game mechanics in a way that leaves the reader with a clear understanding of the experience of playing your game. Similar to your a game pitch, but you don't have to "sell" the game.
        • Genre
        • Target Audience
        • Build Target Platforms
        • Game Flow Summary
      • Gameplay: What is the player doing from moment to moment? What is the goal? When does it end? What is playing the game supposed to feel like? What emotions does the game seek to evoke in the player?
        • Gameplay Progression
        • Game Objectives
        • Play Flow
      • Game Mechanics: Describe the game's mechanics. How does the player interact with the game? What are the rules that govern the game (explicit and implicit)?
        Think of large scale mechanics that affect everything, ex: On your game's planet the gravity is 1/2 of Earths. Everything falls to the ground slower and characters can jump higher. Players can lift things that would be too heavy on Earth.
        Think of small scale mechanics, ex: Locked doors require a key, which the player can find by searching the room.
        • Physics
        • Character Movement
        • Interactable Objects
        • Actions
        • Combat Systems
        • Economy
        • Saving/Loading Player Progress
      • Game Elements: Describe the elements in the game. How do they interact with each other or the character (if there is one)? What are their attributes? Are there NPCs that live in your world? Does the player gather resources, items, equipment, friends, points, fuel, etc.? Complex factions that shape the culture of your characters? Is the environment Earth-like, or something alien? Are red things bad and green things good?
      • Artistic Direction: Identify what your game will look like, and describe why it should look that way. Decisions about artistic direction should be made to evoke a feeling from the player. Is the feeling of your game fun and comical? Or is it brooding and cold? How does your art direction support this theme?
      • Story: Explore the important details of your game's story. Who is the player in your game world? Why are things the way that they are, and how does this affect the gameplay? What is the player's motivation? What, or who, is the antagonist? Why?
        • Back Story
        • Important Plot Points / Story Beats
        • Game Progression Elements
        • Cut Scenes
        • Game World: Significant details about the look and feel of the world, important physical locations, elements that tie into gameplay.
        • Characters:
      • Levels
        • Level Design
        • Description of differences between levels/areas.
        • Onramping
      • Interface
        • UI Design/Elements
        • Player Controls
      • Audio Design
      • Changelog: List of dates/changes to the design document that reflect updates to the game as you iterate on it.
    • Examples
    • Playtest Report
      • To gather effective feedback about your game, you should observe playtesters playing your game and conduct an interview after the playtest.
      • Observe
        • Avoid providing the playtester advice. Your game needs to be playable when nobody is around to explain it. The rules should be clearly explained, or better yet, intuitively designed and taught to the player through gameplay.
        • Take notes on playtester behavior, things they say while playing, and mark where in the gameplay they are doing these things. Ex: At a challenging moment of gameplay, a player might say or do something that indicates their emotional response to it.
          A moment of frustration could arise from an engaging challenge that the player felt they were beaten fairly but they want to try again.
          There might be a similar reaction if a player feels the challenge was unfair, a moment that might cause a disengaged player to stop playing the game.
          Identifying the difference between these will be vital to improving your gameplay.
      • Interview
        • Talk with your playtesters about their experience. Ask specific questions about game mechanics, characters, story beats, UI/UX, art, environment, etc.
        • Discussion should be open-ended and in depth. Listen to their answers, and ask follow up questions. Let the playtesters lead as much as possible, avoiding leading questions that could influence their response.
        • Take notes. Be detailed about responses: The game version played, specific moments in gameplay discussed, details about emotional reactions
        • Record playtests and interviews. If the playtester agrees, record their playtest session and the followup interview. This will provide a visual element to support notes in the analysis.
      • How Yo Get Feedback On Your Game - Extra Credits

    Page Under Construction

    This page will become available soon.