Giter Club home page Giter Club logo

wind-energy-lab's People

Contributors

jimver04 avatar panmig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

wind-energy-lab's Issues

Turbine size

Panagioti when I select the big turbines (A) they have the same size as the small turbines (C). They should be bigger and more sparsely located in the area spawner

Create a default strategy

The default strategy should always be all three scenarios shown, like without content adaptation.
Therefore, we have to edit the vanish function, if strategy == null, do not execute the hiding of the scenarios.

Reward Scene

Is there any rewarding in the end after everything is accomplished ?
Perhaps a milestone when some easy molecules are accomplished ? A trophy like the "Golden Microscope", "Silver Pipete" ?

Can you place some shortcut keys for cheating ? I do not want to play the whole game to see the reward scenes.

Error Handling for Strategies (low priority)

  1. A strategy is received with an sceanrio that doesn't exist eg [{"scenario": {"Area5"}}]
  2. The received strategy is an empty JSON
  3. The received strategy has a JSON which cannot be used eg [{"scenarios": "Area1"}] or [{"scenario": ["Area1"]}]

Error handling should be the following:

if scenario not exist skip it
if no valid scenario exist load default strategy
if scenario is null load default strategy
if JSON cannot be parsed load default strategy

Http requests

To make Http requests in the project you need to take under consideration two parameters.

  1. How to do it
    You can use the WWW class that Unity offers. There are many things that you can do but the ones that you will probably want to use are GET and POST.
    The first helps you retrieve a file that is on a server, and the second lets you post to a file (e.g .php) on a server.
    Let's assume that you want to make a POST request. You can follow the given examples
  1. Where to add the request on the code.
    Because the requests if not mistaken will be used for game analytic purposes, these are the main functions where you want to add the Http requests.
  • In the TurbineController script, all the actions upon the turbine are being called through functions. So just enter the request in the correct function. E.g, if you want to make a request when the player disables a turbine you can add the code to perform the request inside the DisableTurbine() method of this class. The same for all other actions that the user performs.

  • In the TurbineInputManager script, you can find all the actions that the user does when interacting with a turbine by using the mouse. So again you can add the request, inside the respective function. E.g if you want to get when the user clicks on the turbine add the request in the OnMouseDown() function.

  • In the PlayerPersonalInfo script just add the code you want in the TODO comments.

  • In TurbineSpawnManager script you can add a request when user press the button to add a turbine, which is handled by the spawnTurbine() method.

Main Menu Mockup

Please do the Main Menu like this. The envisage logo should be a button that goes to credits.

mainmenu_mockup

What extra can be added to improve the experience.

The use of a repair truck

  • Currently, when repairing, the player clicks in the turbine and the action is made instantly. That can be changed, and when clicking for a repair a truck can start and move towards the damaged turbine and repair it only when it reaches it. However, the rate when damages will occurred, must be scripted and fixed to avoid problems.
    truckimage

Sea enviroment

  • We can add a sea environment (and change values of the wind and power reqs according to the GDD). You can use a terrain that is already in the assets folder of the project which is a representation of the Kithira island.

"Uknown Publisher"

Panagioti can you see how can we become known publisher ? When I start the binary game I get the annoying message if I trust the developer

image

Check analytics in a Windows version

  • Check if the SDK throws errors in a windows version
  • Check if the SDK is initialized in a windows version
  • Check if the GIO backend receives tracking calls from a windows version

MainMenu and standard format

The game should have the standard format

MainMenu with a properly designed background image that allows the buttons to be apparent.
Credits button
Login button
Play button
Options button

What can be fixed in the game.

Damage turbine rate

  • Current mechanic: Turbines currently start to get damaged at a random - fixed time and if repaired, the method to destroy them is invoked (using invokeRepeating() ) at a standard rate. Generally, the invoked method uses a random number generator that if is greater to a specific value, the turbine is damaged and if not, the method is again called with the given standard rate.

  • Problem created: That creates the problem that, even if you repair a turbine, there is a good chance of it being damaged again after the method is called again.
    (E.g) : Let's say that a turbine gets damaged and you repair it at 3.25 (the time). Let's say that the method to damage a turbine is called every fixed 60 seconds, that means that there is a chance(because random numbers are used) of the turbine to get damaged every 60 seconds.

  • Solution: Because we are currently using invokeRepeating(method name, start, rate), it is not possible to change the rate in which the method will be called. That's why we can use coroutines and every time a turbine gets repaired we can increase the rate that the function that will calculate if the turbine is damaged, will be called.

Repair feature

  • Problem: The use of the repair feature does not always play a role in the game. In other words, there are times where turbines get damaged and no problem in the power usage is being created. An example will be that a player can be in an over power scenario, and when a turbine can be damaged the usage will drop to correct power, which means that there is no reason to repair the turbine.

  • Solution: We can add an extra condition to the method that calculates if the turbine will get damaged, in which a calculation will be used, that will calculate if damaging the turbine will have an impact on the power usage. If yes, the turbine will be damaged, and the player will be forced to repair it.

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.