Giter VIP home page Giter VIP logo

openknife's Introduction

Welcome to Open Knife ๐Ÿ‘‹ ๐Ÿ‡ง๐Ÿ‡ท

Version Documentation License: MIT Twitter: ScriptsEngineer GitHub issues GitHub closed issues GitHub language count

๐Ÿ”จ Features

โœ”๏ธ Just a scene to make it easier to loading on your phone.

โœ”๏ธ Use of 3 game states (Menu, InGame, GameOver)

โœ”๏ธ GameManager is a singleton with all managers instantiated using interface.

GameStates[] internStates = GetComponents<GameStates>();
gameStates.AddRange(internStates);

โœ”๏ธ UnityEvents for easy use of designers in the editor Unity.

โœ”๏ธ Design with split structure with Assembly Definitions, helping in times of smaller compilations, obliging the use of SOLID and split of tests.

โœ”๏ธ Full separation of game logic with UI, nothing depends on the user interface and its logic.

โœ”๏ธ Use URP with quick and easy rendering for mobile platform.

โœ”๏ธ Simple UI animations using triggers.

โœ”๏ธ Boss mode Pull Request #7.

โœ”๏ธ Use of Test Framework for procedure testing. - Runtime tests. - Editor tests.

Managers

Certain managers have been created to use logic and data easily and cleanly.

๐Ÿšจ GameManager: A class singleton. with game states, It is important to note here the use of an interface for all components that want to receive event notifications from the game states.

๐Ÿšจ LevelManager: Obviously responsible for the stages and their shipments.

๐Ÿšจ UIManager: In addition to being the parent of the entire User Interface, it stores Canvas as well.

Actors

โ›น๏ธ Player with Shooter,Scorer

โ›น๏ธ Wood with Rotator,CurveRotator

โ›น๏ธ Knife with Knife,RigidBody2D

โ›น๏ธ Fruit with Rigidbody2D

Stages

โœ”๏ธ ScriptableObjects to separate data from scenes.

โœ”๏ธ AnimationCurves for time interpolation of wood speed.

โœ”๏ธ AngleObject is a list that keeps object items with an angle.

๐Ÿ“ˆ Challenges

Physics or Triggers?

One of the biggest problems seen in this production was the doubt that one should use physics or not. Problems using Unity physics can be seen here:

Physic problem

Where the stage โ“

For a designer it is very easy to just edit a file, in this way it was used the ScriptableObject.

Stage Object

๐Ÿ‘จโ€๐Ÿ’ป Shouldn't a designer use a code editor ?

Obviously a designer who wants to exchange an effect sound or choose when to instantiate a particle in the scene should create easily and quickly, so 'UnityEvent' was used extensively.

UnityEvents

Assembly Definition Use

Use of assembly packages for each namespace of the project, thus dividing the use of resources helping in the use of tests.

Production time

โฐ 12 hours

Author

๐Ÿ‘ค Rafael Correa (Script)

๐Ÿค Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Show your support

Give a โญ๏ธ if this project helped you!

Assets used

๐ŸŽจ FREE Casual Game SFX Pack

๐ŸŽจ 20 Evolving Fantasy RPG Weapons

๐ŸŽจ Free Pixel Font - Thaleah

๐ŸŽจ Free Pixel Food

๐Ÿ“ License

This project is MIT licensed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.