Giter VIP home page Giter VIP logo

mesopotamia-jones's People

Contributors

illbexyz avatar misterdev avatar snyk-bot avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

misterdev

mesopotamia-jones's Issues

Blockly Editor sfasa

Non si riescono piu' a draggare i blocchi decentemente:

  • Le prime 3 volte che si dragga un blocco nel workspace, quando lo si rilascia si sposta
  • Quando si prende un nuovo bloccoo dalla toolbox viene rilasciato automaticamente

Mi ricordo che successe schifo simile quando ci lavoravo anche io :D ma non ricordo why

Improve tutorial Aesthetic

I think the actual controls could be improved this way:

  • The 'close' button is too small
  • The 'next' and 'prev' buttons should be more visible
  • Pressing the spacebar should advance the tutorial and close it only if in the last step

screen shot 2017-10-03 at 18 23 34

Riddle text-block correspondence

It could not be very clear the correspondence between the numbers in the riddle text and the blocks "numeroX".
image

We could differentiate the colors of each variable in order to create a correspondence between the letters and the blocks.

Traduzione riddle

Anche se dopo poco si prende il traduttore, tradurre a mano gli indovinelli usando la leggenda è abbastanza tedioso.

Potremmo fare che passando il mouse/tappando sopra alle lettere dell'indovinello, si illumini la lettera corrispondente nella legenda.

Add new rooms

I think there should be at least 5 room in order to explain every feature of the game:

  1. The first room where the user lands at the beginning, with a locked chest and a door
  2. The riddle leading here should be easy to solve, the room has 2 doors leading to 3. and 4.
  3. (ghost) The riddle should be easy to solve (the sum one is ok), there is the ghost who will warn Jones about the evil mummy and gives Jones the key to open the chest in the first room, which contains his computer
  4. (intermediate) From here onwards the riddles should be hard/annoying to solve by hand, in order the encourage the usage of the computer. A more advanced level design should include backtracking.
  5. (evil mummy) The final boss of the game.

Blockly run code button

Currently the run code button is inside the Riddle component, but I think we should create a component which contains both the blockly editor and the button.

Also, we should make the button prettier.

Interactive map usefulness

Is the interactive map a good idea? I mean, while it's cool that a user can remotely hack a door, is he ever going to do that?

The only scenario I can think about is when a user wants to see how he solved a previous riddle without going all the way back to that door. But even in this scenario I don't see why he should change his solution.

Change riddles to blocks

The current riddles' configuration provides this interface:

export interface Riddle {
    id: string
    question: (variables: any[]) => string
    defaultCode: (variables: any[]) => string
    parameters: (variables: any[]) => string[]
    solution: (variables: any[]) => string
    solutionLength: number,
    solutionType: SolutionType,
    argsGenerator: () => any[]
}

We need to change:

  • defaultCode, we need a default (and possibly unmovable, see this) XML configuration for the initial workspace
  • parameters, we still need the parameters, but they have to be inserted inside defaultCode

[a e s t h e t i c] Riddle screen

  • The beige/orange colors are okay with theme of the game (and with doge's colors too!), but the current color selection is awful.
  • Every button needs a pimp up.
  • Furthermore, we should try to blend together the riddle screen's colors with the toolbox ones.

Variable block usability

After an user test I conducted tonight, it turns out that the Rename variable and Delete variable buttons are very confusing, I think we should remove them.
image

It also would be nice if we have a block for each variable already created in the toolbar, e.g.: in the sum problem, I'd like to have in the toolbar a numero1 and numero2 blocks, instead of a single variable block, which I think users would find confusing at first.

[UX] Automatic door opening

It is not clear why an already code-solved door opens automatically.
We can make the ghost say that to mesopotamia jones when he gives the computer to him, but imo the game should be totally playable even without reading the dialogue lines.

To address this, we could insert a screen after the door interaction which says if the user's code worked or not.

[UX] Riddle screen

I think the current usabilty of the screen is good, but we need to emphasize the functionality of the buttons, in particular the ones inside the header.

We have two options:

  1. We find very meaningful icons which leave no doubts about what a button do
  2. We add a compact textual description under the icon

Simplify Blockly

In order to make Blockly easier I think we should:

  • Translate every block to italian
  • Possibly, add a nice tooltip to every block
  • Lower the number of customization options that can be confusing:

screen shot 2017-09-26 at 14 13 58

screen shot 2017-09-26 at 14 14 06

Additionally:

  • Use only customized blocks
  • Associate a block color to a type

Improve keyboard controls usability

Playing the game I often find myself moving the hands too much, for example:

  1. Arrow keys to move the player and 'F' to interact with doors/npc
  2. L+R arrow keys to move in the tutorial and 'Esc' to close it
  3. Mouse to focus a LockCode and then mouse or arrow keys to change its value
  4. Mouse click on "Apri la porta"
  5. Mouse for the blockly editor

Imo, it would be great to map every control on fewer keys:

  • 'F' to close the tutorial

  • 'F' to open the door on riddle solved

  • L+R keys to change LockCode focus

  • Another nice solution could be to use W,A,S,D keys to move and a key (space?) to interact/close, so that the user can keep the left hand in a fixed position on the keyboard and the right hand on the mouse.

Additionally, we can think about shortcuts to open the inventory/map and use arrow keys to move around the items/doors.
It could be:

  • '1' to open the 'map' while in game
  • '1' to go 'back' inside the riddle
  • '2' to open the 'inventory' while in game
  • '2' to open the 'help' inside riddle?

.tmx files usefulness

We have this folder full of .tmx tilemaps exported by Tiled but we only use these .json tilemaps.
Also, I can't see any difference between .tmx and .json opening them using Tiled.

Is there a reason to keep both files types?

Come rappresentare i parametri

  1. E' piu in linguaggio naturale, poco scalabile (se servisse un array?) e un po' e' bruttino

screen shot 2017-07-26 at 23 05 49

  1. Mettendoli non movable/deletable/editable come blocchi a parte nel workspace. Non so come funzioni la codegeneration

screen shot 2017-07-26 at 23 11 03

@illbexyz

Mobile version usability

The mobile version has some problems, we shoud investigate and fix them

Also, it would be nice to have a toggle to switch the mobile/desktop versions

"Found item" screen

There should be a screen which says what item you've found by opening a chest

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.