ertugrul013 / ChildsPlay

Final assignment for 2nd years.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ChildsPlay

Child's Play

Context

This final assignment, together with the code organization challenge will be the primary points of grading for this block. The assignment needs to be delivered as a pull request to this repository (Exactly the same thing you did with the code organization challenge).

You are supposed to create a simple game, based on the mechanics of child's playground games. The game does not need to be about children or for children, the mechanics are set but the context is not. For example: Hide and Seek could be a ghost / horror game or a zombie shooter, duck, duck, goose could be a mobile puzzle game. etc... Use your imagination and don't be afraid of straying away from the idea, just take the requirements literally, if it checks all, or at least most of the points you'll be fine.

The focus of this is on the mechanics and AI. Graphics and variety of interactions are of less importance. Try to make it interesting but focus on the requirements first.

Submitting your work

This project will be developped in teams of two, collaboration and version control will be done through GitHub.

You need to choose one of the mechanics below (it's possible to combine two if you are feeling brave), fork this repository and develop the game. When you are done, submit a pull request.

DO NOT FORGET: Comment your commits properly, you will be graded individualy, based on your commits. If all the commits are from one of the team members, the other will fail this module. So commit often and clear. Also, make sure you put both your names on the description of the pull request.

Requirements

  • The game will be single player.
  • The player will play against or with NPC's powered by the best AI you can make.
  • You can adapt the ruleset of the original game but the rules should be clear.
  • The focus of this assignment is on the mechanics and AI. everything else will be just extras.
  • Navigation of the NPC's is to be done by Unity's NavMesh

Mechanics

Hide-and-seek

https://en.wikipedia.org/wiki/Hide-and-seek

You can choose any of the variants of the game. And even make up your own. For the purpose of this assignment, hiding might mean "sneaking as well", meaning the hider(s) can move around during the game trying to avoid the seeker(s) The human player could play as a hider or a seeker or both. Depending on your interpretation and adaptation of the game.

Tag

https://en.wikipedia.org/wiki/Tag_(game)

This is a classic, not much to say about it. As an interesting example, PacMan could be seen as a great implementation of Tag.

Duck Duck Goose

https://childhood101.com/games-for-kids-how-to-play-duck-duck-goose/

This one is less known but still widely played around the world. There is a lot of interesting material on the mechanics of this game.

Scarecrow tag

https://childhood101.com/games-for-kids-how-to-play-scarecrow-tag/ Same as Tag with an interesting twist.

Please mister crocodile

https://childhood101.com/games-for-kids/

Interpret as you will. This game has some interesting choices and modes for the AI.

Whats the time Mr Wolf

https://childhood101.com/games-for-kids-how-to-play-whats-the-time-mr-wolf/

The balancing between when, and how many, steps to call and the size of each step have a lot of interesting strategies for the AI.

Topics covered in the block

Week 1

Week 2

  • OOP and Design Patterns
    • Singleton game controllers
    • Organising the code.

Week 3

Week 4

  • "Parallel" execution - Coroutines
    • What are they exactly, why are they fake.
    • How to use them consistently.
    • Dealing with timing.
    • The future, Unity's support for real Threading.

Week 5

  • NavMesh and navigation.
  • NPC behaviour.

Week 6

  • Continuation of NPC behaviour. Simple AI.

Week 7

  • Getting teams of 2
  • Final assignment

Week 8

  • Final assignment

About

Final assignment for 2nd years.


Languages

Language:C# 60.3%Language:HLSL 26.2%Language:ShaderLab 13.5%