alathon / awesomemud Goto Github PK
View Code? Open in Web Editor NEWAn awesome MUD in Scala
An awesome MUD in Scala
See http://tintin.sourceforge.net/msdp/ and the msdp branch which has an MSDP.Scala file.
We may reconsider whether MSDP is in fact the correct protocol, depending on what the client ends up being.
Currently, movement displays the objects in string form (via toString()) when entering and leaving rooms and such.
Add a new DescType for name, and change the calls to use describeTo with DescType.Name instead. By default, should use GameEntity.name
Currently, the command parser has some wonky type polymorphism going on. Scala has very advanced support for a variety of different paradigms. The following changes are probably desirable:
However, its not strictly necessary right now. But it leads to ugly code such as:
def go(source: GameEntity, args: Seq[Any]) {
source match {
case m: Mob =>
m.attemptMove("north", Some("the north"))
case _ =>
}
}
Currently, search returns a list of game entities depending on the location specified.
Extend Search.getEntitiesInLocation to require a filter function as well, and provide a Ref constructor through object Ref that supports a filter function. If no filter function is given, pass an anonymous function that simply accepts everything.
Currently, text is trimmed if not sent to an input grabber - Should it be getting trimmed before being sent to input grabbers as well??
Singleton object for stuff such as:
Currently, commands' 'components' List has to be built manually. It would be... ideal, if it allowed a componentsText string as well, which would parse the text into a components list. For example:
componentsText = "'say'|'''; anything?" would be equivalent to
components = List(Or(Word("say"), Word("'")), Anything(optional = true))
There needs to be a way to query for multiple things in a row. In an ideal world, I would be able to define a story, f.ex:
During all of this, the user should be able to move back to previous steps, and should be able to receive a summary at the end. Work on this is started but wholly unfinished in com.awesomeware.core.io.InputRequest.scala as a 'Story', where one story f.ex. is character creation.
It would be ideal to separate the input validation from the concept of going back/forth through a list of items the user needs to complete, and to allow common, easily-accessible ways to dispay and query for things, common validation constraints, etc. while still allowing custom on-the-fly constraints etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.