Giter Club home page Giter Club logo

itchy's Introduction

Itchy

CS482 Interative Computer Graphics - Fall 2022 - KAIST

Development

  1. Check app/src/main/java where we import kr.ac.kaist.itchy
  2. OOP Design Choice
Main Activity - UI 
│   Surface View 
│   │   MyGLRenderer 
│   │   Game Manager(arg: MyGLRenderer)
│   │   │   All Objects: Boxes, Cube, Sphere, etc
│   │   │   CollisionClass
GameObject
|   id: UInt
│   transform: Transform
│   │   pos: Vector3
│   │   quat: Quaternion
│   mRenderObject: RenderObject?
│   │   draw()
  1. Codes Directory Structure
kr.ac.kaist.itchy
└───collisionCheck (need to be re-described by Elli)
|   |   AABB
|   |   Collidable
|   |   Collision(?)
|   |   SphereWrapper
└───gameEngine
|   |   GameObject    : A Class representing a object in game
|   |   RenderObject  : An abstract Class containing rendering information of a object
|   |   Transform     : The class containing spatial information (position, quaternion, scale) of object containing it.
└───gameObjects       : Classes that inherits GameObject
|   |   Camera        : A class representing a camera
|   |   CubeObject
|   |   Indicator     : An indicator that indicates the location of target in game.
|   |   SphereObject
|   |   SquareObject
└───managers
|   |   GameManager   : A Manager class that manage game-logic things.
|   |   InputManager  : A Manager class that manage user input.
|   |   Managers      : A class containing all managers for the game program. Singleton pattern.
|   |   ObjectManager : A Manager class that manage game (Game)Objects in game.
|   |   SceneManager  : A Manager class that manage scenes.
|   |   TimeManager   : A Manager class that manage time in game.
└───renderObjects     : Classes that inherits RenderObject
|   |   CubeModel
|   |   IndicatorModel
|   |   SphereModel
|   |   SquareModel
└───scenes
|   |   BaseScene     : An Abstract class for all scenes.
|   |   GameScene     : Scene for in-game situation. Inherits BaseScene.
└───util
|   |   Constants     : Constants should be located here
|   |   Extension.kt  : Some general useful Extensions and Functions (ex. Math functions) should be located here
|   |   Quaternion    : A class representing a quaternion
|   |   Vector        : A class representing a multi-dimensional vector
|   |   Vector2       : A class representing a 2-dimensional vector. Inherits Vector.
|   |   Vector3       : A class representing a 3-dimensional vector. Inherits Vector.
|   |   Vector4       : A class representing a 4-dimensional vector. Inherits Vector.
|   Collision(?)
|   MainActivity
|   MyGLRenderer
|   MyGLSurfaceView
  1. Known Issues
  • Indicator is overlapped by other game objects in the game, if player goes too close other objects like walls. We need to make indicator visible always.
  • UI, depending on android version, time-sign overlay may be duplicated

Wiki for This Project

https://github.com/KAIST-VCLAB/cs482-2022-team3/wiki

Files

Final Presentation Slide

References

itchy's People

Contributors

mikodham avatar

Watchers

 avatar

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.