Skip to content
This repository has been archived by the owner on Aug 2, 2023. It is now read-only.

Initial stage of the game should be easy and then get harder #179

Open
izidormatusov opened this issue Aug 21, 2022 · 2 comments
Open

Initial stage of the game should be easy and then get harder #179

izidormatusov opened this issue Aug 21, 2022 · 2 comments
Labels
C-feature-request Request a new feature

Comments

@izidormatusov
Copy link

The current game requires pretty good solution to even get a single landed plane. Even though the user might correctly implement Dijkstra algorithm, two planes might collide.

The game could go through multiple scenarios (and becoming harder with each stage):

  1. generate single plane that can go straight to the airport (not having to deal with the restricted zone around the airport)
  2. Only once the first airplane lands, generate another airplane that needs to take into account the restricted zone around the airport to land)
  3. Once the second airplane lands, start generating multiple airplanes (the current situation)

There could be few more complications (later stages):

  • Modifying the map by adding / removing restricted zones
  • High priority planes (airplane would have limited amount of fuel)
@jdno
Copy link
Owner

jdno commented Aug 23, 2022

Hi @izidormatusov, thanks for your suggestions!

The current version of the game is pretty much a working prototype, so the accessibility and difficulty is certainly not ideal yet.

I like the idea of starting with a single plane and waiting until that has landed before spawning more. We can also slowly increase the spawn rate as the player manages to land more and more planes. That gives players more time when they start a game.

For later stages, I have the following ideas in mind:

  • Add towns and mountains to the map that make path finding more interesting/challenging
  • Spawn airplanes with varying levels of fuel so that players have to prioritize
  • Spawn priority planes that have a fixed flight plan and cannot be controlled by the player

Not sure if they'd be fun, and what they would do to the difficulty of the game. Guess we'll have to try and see...

@jdno jdno added the C-feature-request Request a new feature label Aug 23, 2022
@Nzen
Copy link
Contributor

Nzen commented Sep 18, 2022

Rather than the simulation choosing the difficulty of the level, it would be preferable for the client to choose. Preferably, the StartGameRequest would have fields for various aspects of the challenge : number of tags, map size, and airplanes spawned per minute. That way, we can develop the initial system against a small map with a slow rate, and stress test on a large map with a fast rate.

That also avoids mixing difficulty progression into ATC, which is really the client's job. If someone wanted to reimplement 'Flight Control', then the client is better suited for letting a player choose the same or the next level (perhaps I want to improve my score, first).

It looks like changing the spawn rate involves allowing runtime configuration of the SpawnTimer.

It looks like changing the map size is harder, given that it is a derivation of the screen dimensions.

It looks like the number of tags is currently assumed in several places. However, reducing it to just the blue tag could work by changing the probability of the tag choice to 1, rather than .5 .

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C-feature-request Request a new feature
Projects
None yet
Development

No branches or pull requests

3 participants