Final Design Component

The design component will be a 3D platformer game with a focus on making levels for it. The game will feature multiple goals/themes to make levels towards, will allow for the sharing of these levels and in-game feedback for the levels. The aggregate of feedback can be seen on a player’s profile along with badges and awards they have earned.

The Design Component will consist of a game with 4 simple components

  • Third person platformer game
  • Level editor for the platformer game
  • Feedback tools to give feedback on levels
  • A hand made player profile (This won’t be automated)

students and the instructor would set a goal, for example make a level in a week. They could spend time on their own after that playing other people’s levels. The more that participate the better the feedback becomes.

The feedback given to each user can then be aggregated and displayed in a player profile. This profile is what creates conversation/critique in the classroom. Currently my ideas for feedback systems are

  • Stars (a player can collect these through play. It is a symbol of how many levels one has completed)
  • Map annotations (A player can scribble and mark up and use emojis on a top down map, these can be viewed in the profile as a heatmap of comments)
  • Text feedback (leave unformatted written text, Similar to a private message sent to a person)
  • Trophy system (award trophies for level goals, Will be displayed on profile as symbol of achievements)

The game's editor mimics controls from other popular 3D software which should help create familiarity for new users and feel comfortable for advanced users. The game will also try and stick to technical language in the editor and feedback sections of the game to make the player feel more like an actual designer and try and promote such language use in class.

Prototype Implementation

3rd person platformer gameplay

Currently the playable game features a simple 3rd person player character that can jump, dash and wall jump
                                                                                                                                     
The game also features a few obstacles such as ramps, walls, movable platforms.
There are also utility items such as health, stars, coins, player spawn and player death.

Editor-camera controls

The games editor features camera controls similar to most 3D editors out there. You can move around with the keyboard, use the mouse to rotate around the camera or orbit around a certain distance.

Editor-Gizmo Controls

The game features gizmos that are very similar to other 3D software. You can move, scale and rotate. The game also supports transformations on multiple axis at the same time.

Shift+click will copy the selected object

One current issue is that the controls get reveres if the camera is looking at an axis from the opposite direction.

Edit-object panel

The game features an edit panel that pops out for the selected object. This panel is dynamically built so it provides the options relavent to the object selected.

Currently only 2 options are available (change color and destroy) however the system is built to easily support more options

Editor-Add asset panel

The game features a dynamically created asset panel. To add an asset to the pane all that as to be done is, the asset needs to be placed in the resources folder and have a custom tag on it.

If the asset does not have an image the game will attempt to create an icon for it
. If the object doesn't have a renderer it will display a red X. There is also a tool tip box that can be customized by adding a txt file with the same name as the asset and writing a description in there.

FeedBack (sketch)

Feedback screen will pop-up when someone beats a level. It will provide simple tools to give feedback. Here the players can
•Award trophies
•Add emojis to a map of the level
•Annotate map of the level

Player Profile (Webpage)

The player profile will not be a part of the game directly. I will collect unity data from testers of my prototype and manually enter this data to build a small webpage that represents a player profile. This profile will be used to generate conversations during interviews.