Git Product home page Git Product logo

summer-code-jam-2021's People

Contributors

anand1310 avatar hizv avatar jasonho1308 avatar oliviavespera avatar pritam-dey3 avatar stonesteel27 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

summer-code-jam-2021's Issues

Load dialogues from json files

Dialogues are stored in the json file in the following way:

{
    "dialogues": [ [ [6,0], [4,2], "This is a box. You know what to do ;)"],
                   [ [6,18], [-3,16], "Oops, I think you are trapped. Fortunately you have echo location"]]
}

This says that when player reaches location (in matrix) (6,0), the text "This is a box. You know what to do ;)" appears in (4,2) (matrix location) and so on.

  • First dialogue should be shown in if start_frame == True: block. (assuming (6,0) is starting location)
  • For all the dialogues after that we need to store the hit-points (moving cursor to this place makes corresponding dialogue appear), and check whether user is currently in any of those points. In if val.is_sequence: block.
  • Show the dialogue. (? Remove the dialogue)
  • Remove the location from hit-points list.
  • You can start on the branch level_design from here.

Make the scenes support animation.

This can be easily done by changing term.inkey(timeout=3) to timeout=0.05. But the levels need to be more efficient. For example it should not refresh the screen at each frame.

Write a good README.md

  • Description of the game
  • How to play
  • How we chose the game's name
  • What we were working on but couldn't add due to time constraints

Implement echo location.

Let the player make a sound, the sound travels towards the direction player last moved. (If I am going right and then stop to make the sound, the sound travels right. If my last movement was moving upwards, then the sound would travel upwards) The sound then bounces back from the wall it was travelling towards and the player hears it. This forces the player to make some tactical decision instead of just moving blindly.

  • Number of echoes will be limited per level basis
  • If the sound hits the goal (when there is no wall between player and the goal and the player was moving towards the goal) it doesn't travel back.
  • There should be two sounds. One when the player makes it. The other gets delayed based on how far the wall is. (If the player is at 1 and the wall is at 3, the second sound should play after 4 seconds)

Important classes and methods

  • You mostly need to use Player class. The update function gets current maze which will be helpful.
  • Add another key-binding in Level (say e) that will make sound for the player.
  • Use maze.matrix to figure out the wall locations.
  • Use maze.screen2mat(self.avi.coords) to figure out player's location in the matrix.
  • Call play_echo(direction, distance) to make the sound (I have requested @Jason11ookJJ to add that)
  • Use thread to create the second sound

Dynamic box placement

To place boxes automatically

File related: maze.py

Our current plan is to divide the maze into 4 quarters and in each quarter, there will be at least one box

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.