Giter Site home page Giter Site logo

play-mume's People

Contributors

waba4mume avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

play-mume's Issues

Client-side brief mode

The simplest way to do this is probably a "Toggle brief" menu entry that configures MumeXmlParser accordingly (with a list of tags that should be filtered out?).

Show the map first in a side-panel

Refactor the DecafMUD interface to show the map at start in a side-panel, with a link to open it in a separate window.

You can try enabling the side-panel we inherited from Pit and see if it works (it may need CSS etc fixes). Or select a good Javascript application layout library (if there is such a thing) and replace all the DecafMUD specific code with something much simpler (that would be a great thing!).

Render map load and mob flags

Missing: shops/other flags, arrows etc.

This should be quite fun with Pixi (the rendering lib I used so far). I don't expect performances issues here as each room will be rendered once at load and then bitmap-cached.

Load the JSON map in the webclient

Replace the hardcodedMapData variable by something you load from a "map.json" in the same directory.

This should be a simple matter of calling JSON.parse() and then performing some sanity checks on the loaded data. However, if the map data is too bulky and crashes the webapp we may have to design something smarter and revisit #3.

"Change color" confuses the XML parser

!#~ CW>cha col

<weather>As Anar rises above the eastern horizon, the sky is lit by a fiery glow.</weather>
<prompt>*#~ CW></prompt>l
Use "change colour <field> <attribute>" where <field> can be one of:
  achievement  none   exits  none    miss         none                pray      cyan   social  none          yell         magenta   zone-nice cyanWall above the Gates
*#~ CW>l

Make auto-fill/repeat customizable

Make it a client option to have auto-fill (the input field retains the last command entered for faster input). Currently it's forcefully disabled.

This doesn't imply that the option will be retained between sessions.

Deep blue might be too dark

Dáin reported that the ANSI color test at character creation looked white on black on his Macbook, instead of white on blue.

This is an important for new players, so maybe this dark blue should be brightened a bit.

Provide a MM2 basemap in JSON format for performance testing

We need a JSON version of the MM2 map to fix possible loading and displaying performance issues in the web client map display as early as possible.

Preferably this will be a basemap and not a full map, so that we can just host it somewhere and everyone can try it out.

Eventually we'll need this nicely integrated in MM2, but for now any horrible hack will do. Also, we may have to optimize the format so don't spend too much time on this first attempt.

Expected format : a text file formatted like the hardcodedMapData variable in mume.mapper.js.

Render room links

These light gray arrows that show the links between rooms that aren't immediately adjacent.

Add a panel for communication

Show tells, narrates etc. in a different panel. It makes them less likely to miss. Requested by pDjinn.

Implementation note: the current HTML/CSS-based layout makes it hard to do.

Let the player close/open the map window at will

Right now it crashes horribly when the contra lib tries to send an event to the closed window.

Should be a simple matter of unregistering "map" from "parser"'s "tagend" event when the mapWindow unloads, in mume.menu.js. Other reload/close/open issues may show up, try it out.

Map centering

When moving around, the map seems to recenter on the previous position, not the current/new one.

Doesn't happen in Firefox.
Happens in Chromium.

Reposition the whole map on player movement

Goal : force a redraw of the map to uncover any performance issue when dealing with a "real" map.

Suggested implementation : reposition layer0 too in MumeMapDisplay.repositionHere() in mume.mapper.js (you'll need to make that variable a member).

Bonus points if you make it possible to move around by dragging the map like in MM2, of course :)

Test "real map" performance on common hardware

Once we have a real map loaded (#3 and #4), test the web client on common hardware (ie. not your gaming computer) with supported browsers (Chrome, Firefox, IE10+) and measure performance (loading time, rendering lag, memory usage).

Report those on ER and open an issue here if they likely to put off prospective players.

Render non-zero layers

Currently, only rooms on the ground layer (Z = 0) are rendered. We should populate other layers and render them appropriately (with a visual hint that there is something to see up or down, but without obscuring the current layer).

Suggested implementation :

  1. Rename "layer0" to something suitable to hold the map layers
  2. Dynamically create new layers as needed when loading the map data, inside what was layer0. Add room displays to their layer.
  3. Update repositionHere() to take a Z argument, and update layer rendering accordingly (only the current layer should be fully visible, the others should be hints).
  4. Add a handler for scroll up/down events (if possible) to allow navigating the Z axis.

Double login prompt

The By what name do you wish to be known? prompt is shown twice.

This is related to the XML negotiation, which takes place after the first prompt.

MM2 doesn't have this problem, because it pushes it first thing to the server, which doesn't seem feasible in the DecafMUD architecture.

Harmless but unsightly :(

Enable XML mode automatically

Tell MUME to enable XML mode silently upon (re)connection.

This should be very easy, just a matter of sending the right line (help m p c) in MumeXmlParser.connected(), in mume.mapper.js.

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.