Project: Virtual Monument

Quick presentation
Create a virtual memorial or monument commemorating something specific.

  • The environment must be 3D and navigable through standard first person controls.
  • You can have dynamic elements, environmental narratives, and some basic interaction but avoid game mechanics and NPCs.
  • The environment doesn’t have to be realistic or architecturally possible, but you have to design it around the avatar/human scale.
  • It doesn’t have to be about deaths or even “serious”.

Brainstorming

Join my team on this Miro board
Use black sticky notes.

Phase 1

Datasets that could be visualized as memorial (eg. casualties of a war).
Events or people unlikely to be commemorated by official authorities, but that perhaps should be (eg. victims of police killings).
Events or people commemorated by official authorities that should be remembered differently (eg. Christopher Columbus).
Events that haven’t happened yet but that are in the realm of possibilities (e.g. first human on mars)

Phase 2

Votes for the 10 most interesting subject, whether or not you’d be interested in working on them.
One vote per idea.
The ones with the most votes are selected and moved in a new area.

Phase 3

Create two sticky notes with a pseudonym or emoji that secretly identifies you and place them next to two ideas you would be interested in developing.
The pseudonym or emoji is just to avoid focusing on people rather than proposals.

Use a yellow note if you have some game development experience (game engine/programming), use a blue note if you have experience with 3D modeling, use a green if you don’t have experience with either (don’t worry that’s fine).

If an idea has more than 3 people move on.

Phase 4

Teams of 2-4 are formed, split in breakout rooms.
Start a miro board for each team and designate a note taker.

20 min discussion:
Why is this subject interesting to you?
What are the emotional states you want to evoke in the player? Discuss and write it down.
What kind of information do you want to convey? Discuss and write it down.

Phase 5

30 minutes of individual research:
Are there memorials or monuments that are similar, in terms of subject matter or emotional goals? Create a mood board with references.
Are there completely unrelated architectural or sculptural projects that can provide an inspiration? Add them to the mood board

Starting points for research:
https://www.dezeen.com/tag/memorials/
https://divisare.com/
Free registration needed. You can use the account:
user: paolop@cmu.edu
pw: gamestudio
Look at projects > types > memorials, churches, museums, pavillions, gard and other non-functional buildings
Split up the categories so you are not looking at the same things!

Phase 6

10 minutes: discuss your findings and see if there are converging inspirations and elements that could work for the goals you defined before.

Phase 7

Individually read these chapters from Robert Yang’s WIP book about level design
layouts
composition
landscape

Phase 8

Together, start sketching out a layout of your environment on your team’s Miro board. You should follow the process in the layout chapter you’ve just read.

Some discussion points:
-Focus on an ideal pacing and how that could be conveyed through space.
-Are there multiple ways to traverse it or is it just a single path?
-What are the landmarks and the vistas? Sketch out some first person views and concept art in addition to the top down floor plan. (composition chapter)
-Think about the relationship between “built” and “natural” environment. (landscape chapter)

Let me know when you have a plan so we can discuss it.

Phase 9

Discord team setup and overview.

Unity Collaborate setup and overview.
Make sure you have the same version of Unity and that you are in the same team.
Do a test by creating a couple of object in the same scene, uploading and downloading a new version.
Always communicate what you are working on to avoid merging conflicts.

Homework for Feb 12

  1. You can start implementing the project if you want but mostly I’d like to see a series of annotated sketches (top down, details) that give me a sense of the environment. It’s phase 9 in case you haven’t finished it yet.
  2. All team members have to read the chapters about blocking aka grayboxing:
    https://book.leveldesignbook.com/process/blockout
    https://book.leveldesignbook.com/process/blockout/massing
    https://book.leveldesignbook.com/process/blockout/metrics
    For more examples of grayboxing check out this video and the hashtag #blocktober
  3.  The team should pick at least 3 games to play among the ones listed in Homeplay I. Have an asynchronous discussion on your discord channel about what you liked and disliked, and what parts could be an inspiration for your project. Try go in detail, even if you didn’t like a game as a whole, it probably still has something to offer. I might send you some project specific references as well.
  4. Each team member assumes a primary role among the ones below and is in charge of a deliverable.
    Of course the roles can overlap, and all team members should update each other asynchronously using the discord channel.
  5. If you haven’t worked with Unity recently, watch the intro video here.
  6. Go through the team checklist and make sure you are able to work together by next Friday.

Level Designer

Set up a simple First person scene with this package:
Download the first person controller + interactable + teleport scripts.
You can check this video explaining the package

One team member should act as level designer: set up a tool for blocking among the ones below and familiarize with it.
*Blocking is not the same as modeling environments, you want a tool that can be iterated quickly and in-engine.
Deliverable: a rough blocking of the environment, navigable in the environment.

SabreCSG
More tutorials
https://github.com/sabresaurus/SabreCSG
Non-destructive modelling using simple shapes (brushes). Allows you to subtract (cut) shapes from others, and allows you to modify afterwards, so it’s easy to remove a door just by deleting the shape. Downsides are that it doesn’t work well for organic shapes, generates a lot of brushes, and will have to be converted to a mesh afterward if you need it to be a physics object. Best for on-grid buildings for walls/rooms.

Probuilder + Polybrush + Progrids
More tutorials
https://unity3d.com/unity/features/worldbuilding/probuilder
https://unity3d.com/unity/features/worldbuilding/polybrush

Destructive (can’t be undone much later) polygonal modelling where you cut edge loops into shapes. Putting windows into a wall can be hard if your door has created edges in unfortunate places. Removing a door/window will be very difficult after its creation.
Polybrush is similar to probuilder but more appropriate for organic shapes.
Purchased by Unity but still technically “preview” packages meaning they are a bit buggy.

Art Director / Technical Artist

One team member should act as art director and develop an intentional, non-default visual style.
The goal is to find a stylization that conveys the mood of the environment, makes found assets blend together visually, and “masks” the inevitable limitation of a quick project.
This can be a rather technical role since it may involve shaders, skyboxes and post rendering effects.
Deliverable: put together a scene with some placeholder objects that exemplify the visual style.

The video covers: intro to materials and shaders.
Download the package with all the shaders and models.

Some useful “look-and-feel” shaders
I recommend to stick to the default aka pre-built render pipeline unless you know what you are doing.

Various retro shaders
https://github.com/dsoft20/psx_retroshader
https://github.com/keijiro/KinoBinary
https://alexanderameye.github.io/pixelation.html
https://github.com/Cyanilux/URP_RetroCRTShader
https://github.com/Kodrin/URP-PSX
https://github.com/oxysoft/RetroSuite3D

Outline shader
https://github.com/IronWarrior/UnityOutlineShader
Multi step toon shader
https://github.com/IronWarrior/UnityToonShader
Single step toon shader
https://www.ronja-tutorials.com/post/031-single-step-toon/
JPG compression effect
https://github.com/JanMalitschek/JPEG-MP4-Compression-PostProcessing-Effect-for-Unity3D

Painterly effect, neon, silouhette shader
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/snapshot-shader-collection-146666

Intro to Lighting

Intro to lighting, skyboxes, fog, Post-processing effects, and other general settings.
I made an advanced tutorial about Global illumination and baking lights to achieve more realistic lighting.

Artist

One team member should act as artist. Make a list of the needed assets (2D, 3D, and sound) and look for them online, fix/modify them, or make them from scratch if necessary. Since the level is likely to be iterated, prioritize the props and objects that can be moved around (eg. a tree) rather than bigger parts of the environment subject to change.
Deliverable: collect all the assets in a Unity scene to familiarize with the workflow, scale, name and organize them properly.

Finding assets online

The video covers: finding and importing found assets, import settings.

The best type of files are FBX and OBJ. You can usually import .blend. There are plenty of website with free assets online but some of them are a bit sketchy.
These ones are legit and have a lot of free stuff, they generally require a free account:

Unity Asset Store filter by free.
https://sketchfab.com/3d-models/popular artsy/stylish stuff not always great for games. Show download and import
https://www.cgtrader.com
http://www.blendswap.com/
https://free3d.com/
http://opengameart.org/
http://www.models-resource.com/
http://archive3d.net/ (mostly hi-res architectural 3ds)
https://kenney.nl/assets?q=3d (cutesy low poly)
http://quaternius.com/index.html (cutesy low poly)
Everything library free generic low poly assets from the game Everything
(expand the fbx in assets > drag the mesh in the scene > create new material > assign > change the material shader to Particles/Standard Surface to show the vertex colors)

Note: Some models will not import properly.
If they have a messy geometry, dark faces or holes, it’s probably easier to find an alternative model
Some textures and materials may not work, it’s kind of normal. I recommend to change all the materials within Unity for this assignment.

Remember we are working in real time so we need low poly count models!
What does low poly mean? It’s relative. For a character or prop, in anno domini 2020, the model on the right is preferable.
If, when visualizing the wireframe, the edges are too dense to blend together, the model is definitely too detailed for this purpose:

3D modeling

The video covers a couple of non realistic styles and their relationship with materials.

Simpler alternatives to Maya and Blender:

Doodle studio – 2D animation in engine
https://fernandoramallo.itch.io/doodle-studio-95
https://fernandoramallo.itch.io/doodle-studio-95-educational-license

Sketchup – simpler 3D modeling
Tutorials by studio oleomingus

Magica voxel – voxel based modeling
https://ephtracy.github.io/

There are plenty of tutorial focusing on quick low poly techniques eg:
Fast gradient texturing
https://www.youtube.com/watch?v=9_zY3iv1PIw&ab_channel=TinyWorlds

 

Second Session Plan

Teams start working in breakout rooms / channels.
Prof meets with all the teams: be ready to present sketches and deliverables.
Prof makes a list of technical needs and collect resources/tutorials.
Add a soundtrack or soundscape early on, it will help you set the mood.

Prof adds tutorials and resources to the website if necessary.
(TBD) Team-to-team feedback. Guide another team through your WIP.
Prof and teams set goals for the next week. The goal is to have a useful prototype.

What is a prototype?


-A game prototype is not a finished product but a dynamic, computational “sketch” of your game, a proof of concept.
-Prototypes are usually developed with the fastest techniques like pen and paper, or quick tools like twine (for narrative design), processing (for procedural ideas), flash (rip), etc.
-Because of that, prototypes are typically thrown away even if they are successful. The development starts from scratch.
-Prototypes use placeholder assets, concept art can be done separately to set a style and visual/polish goal
-Most prototype fail: turn out to not be good or feasible ideas or don’t generate the desired dynamics (fun or else). And that is not a problem.

Feedback and collaboration is not always useful in prototyping:

*From How to Prototype a Game in Under 7 Days

From a good prototype you should be able to tell:
* Can the player make meaningful decisions?
* Is the player getting the feedback they require to make good decisions?
* Are the major risk / reward schedules in place?
* What is the pacing of the experience?
* Is there enough meat here to hang the rest of the game on?
From Common game prototyping pitfalls

Sometimes student projects turn out to be proof of concept for bigger games.

Braid was prototyped in one week, but the time manipulation was just the beginning.
Each world introduces a new core mechanic that forces you to reconsider all the patterns you learned before.

Journey prototypes