Git Product home page Git Product logo

battle-starfleet's People

Contributors

plencka avatar sbanasiak avatar tr4by avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

tr4by sbanasiak

battle-starfleet's Issues

Game Settings

I think we should be able to give the player an ability to edit settings somehow.

Some simple settings examples:

  • Mute audio [Maybe name it 'Immersive Sound Mode']
  • Windowed/Fullscreen Mode
  • Resolution?
  • Language?

Recommended implementation of it is PlayerPrefs.

Use at least 6 object-oriented programming principles.

The main requirement for the college project is using at least 6 of these programming principles:

  • Constructors and destructors
  • Encapsulation
  • Inheritance
  • Multiple Inheritance
  • Interfaces
  • Operator overloading
  • Abstract class and methods
  • Traits
  • Reflection

Audio Mixer Manager

We should split audio to channels [so Music is separate from sounds like explosions caused by the gameplay].
This will allow player to mute only specific elements.

Ideally Music and Sound playing should be managed by common manager.

Main Menu

As per #5, the game should contain the Main Menu.

It'll be the first thing player sees when launching the game (unless we decide to create 'first launch experience' to set language etc.).

For stuff we want to include in project, preferably we should have:

  • A button that will open up battlefield scene
  • Exit Button
  • Maybe settings?
  • Instructions how to play the game?

To spice things up, it would be interesting if text displayed on buttons was loaded from external source. Maybe by using Localized Assets?

Interactive Camera

We need a camera that will allow the player to comfortably survey the battlefield.

As discussed, the simulation's camera should be able to:

  • move across the game world view,
  • zoom/scroll (with the mouse wheel?),
  • limits to prevent player from losing battlefield view,
  • tracking mode for selected game object,
  • reset to center view / apply default transform settings

It would be nice if above functions were universal across keyboard user input and graphical user interface.
It's important to remember that not all mouses have built-in wheel.

Win Condition

I think simulation should end when:

  1. Flagship gets destroyed.
  2. Enemy forces are eradicated.
  3. Enemy decides to forfeit.

Maybe the 2. and 3. scenario could only be used when the side has no Flagship present from the beginning?

Naval Manager

To create an illusion of a proper simulation, I think it's best to structure battles around two opposing fleets.
This way, units can communicate with it to gain information about possible targets and general situation on the battlefield:

  • Fleets could be commanded by the Flagship guarded by other spaceships.
  • Smaller ships focused on bringing down enemy forces could be assigned to Squadrons commanded by a Leader followed by others.
  • If Leader dies, different one could be assigned.
  • Squadrons could merge in case of huge losses.

Naval Manager is intended to be able to transform information between units and trigger strategic behaviors. This should result in better performance compared to decisions done by individual combatants.

Separate Game Modes

I think the game should contain these game modes:

  • Main Menu
  • Battle simulation

Maybe more?

Main menu should allow you to exit and enter the simulator. Maybe include game options [like resolution]?
Simulation should contain configurable variables to allow creation of different battle scenarios.

Projectiles and Trajectory Prediction

If we want projectiles to be based on physic properties, we need to implement trajectory prediction.
This way fired shots should hit more often than miss.

We also require collision detection to properly damage combatants.

Create art assets for world representation

We have decided to use 2D sprites to represent game world.

We require images for:

  • Spaceships for various factions per type

    • So: Flagship, Capital, Support, Fighter
    • Translation: big slow ship, smaller (but still big and slow) ships, average ships, small speedy ships
  • Projectiles? Rockets? Bombs?

  • Planets for background, preferably in Grayscale for shader magic

  • User Interface icons?

  • Faction icons?

  • Space debris, like asteroids? Floating scrap metal chunks?

It's important to keep resolution of images in a proper resolution ratio for consistency and proper scaling. So small ships could be 64x64, average 128x128, etc.
Also: stealing designs is uncool and could make somebody unamused, so let's attempt to keep them unique.


If some art isn't done, don't be afraid to use placeholders* to prototype ideas.
*Yes. I know it's actually an Easter Egg. But it's fitting!

Combatable Units

Main component of the simulation should be units that contain Health Points.

  • They should allow special behavior when Health Points reaches certain percentage [Like death on 0%, attempt to escape on 10%]
  • There should be sources that decrease or increase Health Points
  • Combatant should be able to use above sources.
  • Combatant should be able to target different combatant, either to follow or to send repair/damage source.

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.