2021/2022 Co-op Work Experience

 

Current gameplay of card placement action

Current gameplay of action card selection

Current main menu screen

Screenshot 2021-08-16 152843.png

Progress pic of procedural heightmap generation

This project is open-source!

myWATERSHED Game [WIP]

TOOLS USED: Unity, Visual Studio, GitHub, Miro, MS Teams

A joint project between several Ontario post-secondary institutions brings together game developers, environmental scientists, and education specialists to create a watershed simulation strategy game that will be used to help teach students about ecological restoration. Players are given “god perspective” over a procedurally generated watershed system, and must use the economy of volunteer power to create a healthy, supportive ecosystem for our species of focus: the Red Side Dace.

ROLES & RESPONSIBILITIES

Game Systems Designer and Programmer on a team of 3.
Research and understand the subject matter in order to discretize and gamify real-world systems and processes. Experiment and prototype different solutions to design challenges with a main focus on creating a procedurally generated world and ecosystem. Presenting work to the team through documentation and demonstrations. Noting feedback, recording and posing key questions to the development team in meetings.

TAKEAWAYS

I knew this project would be a challenge going in considering that I would be given a lot of responsibility and ownership over the design and implementation of solutions, and I was able to prove to myself that I can succeed in taking on that much in such a short development time.

I gained experience working for a client, which is something I had never previously done.

One of our biggest design challenges was making the game educational. I discovered that the best approach is to break down educational goals into gameplay beats or moments and deliver information gradually.

I also learned a lot about optimization and debugging because this system ended up being quite complex.

Documentation

Click on the gallery images to link to its respective Miro board (view only).

Research board to help the team select which river we wanted to model our simulation after and our resolution of detail.

Research board to help the team select which river we wanted to model our simulation after and our resolution of detail.

A chart that categorizes tile types that corresponds to the land cover types. Useful in establishing a shared understanding a vocabulary for our tiles.

A chart that categorizes tile types that corresponds to the land cover types. Useful in establishing a shared understanding a vocabulary for our tiles.

Statistics and map of land cover for the targeted watershed used to inform procedural world generation.

Statistics and map of land cover for the targeted watershed used to inform procedural world generation.

A chart that describes the relationships between variables and how they affect our most critical variables.

A chart that describes the relationships between variables and how they affect our most critical variables.

Flow chart of method execution order. Useful to have an overview of how the procedural generation is working in code in order to solve issues that arise and be able to share with any new additions to the team.

Flow chart of method execution order. Useful to have an overview of how the procedural generation is working in code in order to solve issues that arise and be able to share with any new additions to the team.

Problem Solving

I like thinking things out on paper. This is process work of how I visualize to logically solve programming challenges.

 
 
Determining the positional relationship between a tile and its neighbours.

Determining the positional relationship between a tile and its neighbours.

Creating clusters of one type of tile.

Creating clusters of one type of tile.

Finding nearest seeded point to determine tile type, used for implementing Voronoi Algorithm for segmenting land.

Finding nearest seeded point to determine tile type, used for implementing Voronoi Algorithm for segmenting land.

 
Creating a meandering river using tiles.

Creating a meandering river using tiles.