Code Monkey home page Code Monkey logo

laser-game-ag19's Introduction

laser-game-ag19

[Laser Game] is a project created by KTH students 2019 from the course AGI20.

laser-game-ag19's People

Contributors

bhatnathan avatar alexander-hjelm avatar kaszim avatar yaronye avatar agylling avatar therealcarpy avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar

Forkers

yaronye

laser-game-ag19's Issues

Code clean up

Go through all code and make sure it is clean, makes sense, and is commented properly. Quick check you don't have to be too careful!

UI improvement

Move UI to be farther in the corner and have somekind of border.

An idea would be to have an x/max type system so if you have 2 lasers total and you've placed one it will say 1/2.

Prisms

Prisms are static objects that split the laser upon collision. The lasers propagate through the prism and come out at separate points and angles.

Black holes

Black holes are objects that bend all incoming lasers.

Likely this will have to be done using many LineRenderer segments and LineCast.

Black hole causing multiple sparkling effects

This happened when testing on the pixelsense. On level 4, the one with the black hole, multiple sparkling effects (that occur when the laser bounces against a object) appeared in places they were not supposed to. I am also not sure if this bug still happens for the current version of master, but needs to be checked on the pixelsense.

BGM (code)

Write code to allow background music.

Doors

Some system to have a door that opens at a certain trigger, such as the laser hitting a switch of some sort. The door should be able to open when meeting certain conditions, and if we implement a mobile player there could possibly be buttons that the mobile player must press etc.

Phycon detection

Detecting the physical icons on the surface of the platform and translating coordinates and rotation into an in game position. The correct game object (matching the icon) should be spawned at this point in game.

Strange behavior after adding models

It seems that after adding models right before the Hello World Demo, the scales of some of the game objects became messed up, which we believe affected the colliders and their sizes. To solve this issue go through each level and adjust values accordingly and make sure to apply the scaling to the prefabs in the projects.

Switching between levels sometimes skips a level

I get this bug when I start on level 1, and complete it, then level 2 is skipped. After this Level 1 is skipped every time, but level 2 is present. I'm not sure if this always happens or not, but it happens for me every time I tried it.

Placeable Area for Laser Phycons

There should be an area that is clearly marked (possibly with text) that this is where you can place a laser phycon.

One should only be able to spawn one laser in each area.

The color of the laser spawned should be defined by the area.

The area should be easy to rescale (but the shape can be set, such as either a rectangle or circle)

Switch Buffer Period Feedback

There has to be some sort of feedback like a charging meter or something to show that you are hitting the switch and it is buffering.

Laser Switch

A switch that when hit by a laser turns on, and then when the laser stops hitting it, turns off.

Aura

Placing a phycon creates an aura, this doesn't seem to work 100% of the time and at the moment the aura is too bright.

We discussed only displaying an aura when a phycon is placed in a place that it should not be.

ForskarFredag Level 1 Redo

Level 1 in ForskarFredag needs to change switch and change number of lasers and mirrors so it makes sense.

2x Mirrors
2x Lasers
Switch should be temp not perm

SFX (code)

Write the code to have sound effects in the game. Buzzing sound from laser, fanfare for goal etc.

Wall

A wall that is impassible for the laser. Should be easy to configure dimensions and orientation, so it is reusable.

Switch Buffer Period

Switches should have to be hit continuously for a while before opening (so you can't just stutter onto it and off again).

Fix prism bug

Remove the laser from prism when the laser gun is removed.

Reduce stuttering on black hole

Black hole is a little stuttery when rotating lasers in a black hole field. A solution to this might be to use a higher order integration scheme like RK 3 or 4.

Rotational resolution on the Surface is low

When rotating a phycon on the surface, the low resolution will make it problematic when the user tries to align the laser, and can't quite get the correct angle.

Suggestions for fixes:

  • Snap the reflection angle to fixed increments (degrees: 22.5, 45, 67.5...)
  • Provide some guidance for the laser. Correct the angle to hit the nearest object if it is close enough

Laser colors

A laser color structure.

  • Set renderer material color.
  • Define what colors are created from splitting a laser.

Environment Design

Fix up the levels so that they look good aesthetically (look at the in game version too)

Can start on the 6 FF Levels

Splitting lasers

Some method of splitting a laser. Preferably it should instantiate multiple new lasers at the split point that continue to propagate. How to do this in an efficient manner? Preferably without having to spawn/destroy all child lasers every frame.

UI No. of placeables

Create some sort of UI that tells the player which phycons they can place for that level. An example would be to have icons for the different phycons and then have 2xmirror icon in the corner of the screen. It should be relatively easy to see without distracting from the game, and note that the player might not be facing "the right way" on the screen.

Laser Phycons

There should be phycons that spawn lasers. The color of laser spawned should be decided by the level (See the issue on placeable laser areas).

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.