Giter Site home page Giter Site logo

directional-boring's People

Contributors

alin256 avatar arztklein avatar denisovichdev avatar shiffman avatar tyomka896 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

directional-boring's Issues

Some layers are obstacles

Love this! It would be cool to have the "boulders" integrate more with the layers so that they feel more realistic? Some other ideas are:

  • Different layers alter "randomness"
  • Some layers are obstacles (maybe they are thinner and don't cross the entire width of the window

Originally posted by @shiffman in #17 (comment)

Randomness

steering has additional randomness to simulate different ground conditions

Fog of uncertainty

One thought I had would be something along the lines of a "fog of war" other games use, simulating real-time scanning, that only reveals a small area around or slightly ahead of the drill head, and you'd have to react appropriately to any suddenly-appearing obstacles if you can, given the limited turning radius of your drill head. I assume there's scanning and mapping done well ahead of time IRL, of course, but this might a fun twist.

Originally posted by @aerger in #4 (comment)

Keyboard controls

After seeing this in Grady's video I, being programmer, just had to take a look. First of all, congrats on a great job, the game is really fun, and I'm still quite shocked how adequate the value 0.01 is for the const angle, I've experimented with different values and the range from 0.005 up to 0.02 is playable (And may be interestring to explore it as part of the difficulty settings), but 0.01 is by far the value that fits the largest range of possible scenarios.

That, however, aggravated my issue with the controls. Clicking depends on targeting the right element, which has nothing to do with the game, and playing in a laptop with a high DPI touchscreen makes it worse as the high DPI makes things smaller and it's noticeably hard to hit the button on the touchscreen.

I made a small addition to the code which fixed most of my issues:

function keyTyped() {
  console.log("J=Key typed: ["+key+"]")
  if (key === " ") {
    if (state == 'PAUSED') {
      state = 'DRILLING';
    } else if (state == 'DRILLING') {
      bias *= -1;
    } else if (state == 'WIN' || state == 'LOSE') {
      startDrill();
    }
  }
}

I put it right above // Draw loop, but it's my first time writing anything related to p5.js so that's probably not the best place to put it.

The angle experimentation also made me realize the steering limits shift ever so slightly, no idea whether it'd be easy to fix or not (It occurs to me that it may, for whatever reason, depend on the draw function and the time it takes to run, in which case it would be a very demanding issue and definitely not worth the trouble, but most likely that's not the case).

Again, congrats on the game and the channel, really happy to see such an amazing approach to spreading programming literacy, I'll be sure to spread the word.

Interface

  • start and stop drill
  • toggle bias (keyboard control?)
  • retract drill

Cool name for the game

I think it would be cool to give the game a name and a hashtag so that it can be made viral at some point.

Speed Slider

Am I the only one who feels like the drill moves too fast? As far as skill games go, it's not the worst. But it's a far cry from the highly calculated pace that I imagine. I looked at the sketch code and realized that I have no idea how the loop speed is controlled; in fact I'm not even sure if javascript (or P5 in this case) even does loop like a traditional program.

Is it possible to implement a feature like this?

Levels of Difficulty

Practice

  • You see everything and have full control

Hard

  • You only have access to
    • depth
    • distance to exit
    • distance to nearest obstacle

Toggling bias causes unwanted scrolling

Pressing space causes scrolling in the browser, which is not a problem with bigger screens since the body isn't long enough. But in small screens it's a big problem. I'll fix this in a small PR.

License

I would like to use your initial demo as part of my research.

What are the License and the best way to cite your original project?

Visualisation of drilling disasters

I suggest some additional visualization of drilling disasters:

  • Placing the water/river up a hill so that it is drained when you hit it. It would be nice to prevent the drill from exiting on the left side by the geometry of the max turn.
  • Placing some houses on the right of the water. If you hit a house, it would be destroyed, and you lose.
  • Placing a trench with the cable/pipe to be pulled back (https://youtu.be/JAhdb7dKQpU?t=620) on the right side of the water as the target to hit.
  • It Would be cool to have the hole enlarged and the cable pulled back animation if you win.
  • It Can be nice to randomize the size of the objects a little bit based on the simulation seed.

IMG_1443

The pop-ups while drilling

@shiffman finally managed to get time to start watching your life stream.

The pop-up is shown while there is animation of a new pipe loaded in the machine. Should we remove them?

Draw a scalable house that the player should not drill into

Draw a scalable house that the player should not drill into. This is a sub-issue of #41.

Please create a global constant color of the part touching the ground for the win/lose checking.
An additional broken house would make the loose screen look cool.

In the code, there is a placeholder for drawing house(s) into the scene (might be not merged yet).
// todo add the houses here
// it is important to color houses differently
// because the status checking occurs based on color

182111160-09ccacb8-5558-4914-97f0-9bb0f9a45382

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.