Where to next?
So, we've got a game up and running. It's very basic (currently versioned, "alpha") and does not have any of the more advanced features that we're looking to add - it still is surprisingly fun though. We may want to tweak the speeds a little bit to make it even faster. That would be intense.
In moving forward, we've started establishing some requirements and some options. Figuring out what to work on next starts with nailing down some options.
Following are requirements and options for actual gameplay as well as the game engine.
[V] - view-related
[C] - controller-related
[M] - model-related
Requirements for the gameplay technology (the more dynamic/interactive parts):
Requirements for the game engine (the more back-end, logical/magical parts of the game - I think this listing will require more thought and time, but this is a start): [M]
In moving forward, we've started establishing some requirements and some options. Figuring out what to work on next starts with nailing down some options.
Following are requirements and options for actual gameplay as well as the game engine.
[V] - view-related
[C] - controller-related
[M] - model-related
Requirements for the gameplay technology (the more dynamic/interactive parts):
- dynamic display of changing objects for the player (i.e. browser window). [P]
- display of basic objects (i.e. blue square) within complex presentation modes (i.e. one-up, two-up horizontal, two-up vertical, four-up square, nine-up square, etc.). [P]
- accurate timing of the display (i.e. a new object every 0.5 seconds for 30 seconds). [P]
- ability to count the number of token object occurrences. [P]
- a message board and/or blog for community members to use. [P]
- an easy way to generate graphs and charts for statistics presentation. [P]
- two-way communication with the game MODEL - examples: [C]
- getting stats to display
- getting the token object features (color and shape)
- getting the display timings
- getting the presentation mode on the fly (i.e. changing the presentation mode mid-game)
- getting data on how to bias the objects being displayed (i.e. there may be all squares with one lone circle)
- setting the "difficulty"
- setting the user's IP address
- setting how many token objects were displayed
- setting how many token objects the player counted
- saving/mailing community posts, comments and requests
- JavaScript (could be used in conjunction with Ruby on Rails, PHP, etc. but not really robust enough; difficult to debug)
- AJAX (I don't know enough about this - could be used in conjunction with Ruby on Rails, PHP, etc. - but has the same drawbacks of JavaScript: may not be robust enough and is difficult to debug)
- Java Applets/Java+OpenGL (seems good enough, but users have to have the Java Runtime Environment; Java just seems very heavy-weight/clunky for web development)
- Flash (this is not an open-source technology - is there an open-source Flash being developed somewhere? If not, would this be difficult to do? Keith?)
- Ruby on Rails graphics (? - haven't seemed to have found any good way of getting graphics up - would just be using JavaScript)
- Plone (? - just started using this and it seems limiting in the sense that the web apps are developed using Zope and Zope is not really used that much)
- Any other way of getting smooth, dynamic graphics into a browser
Requirements for the game engine (the more back-end, logical/magical parts of the game - I think this listing will require more thought and time, but this is a start): [M]
- a relational database
- a database schema - how and what to store in the database (i.e. a model for collecting data)
- a model for using collected data to alter game features (this could be intense, using ideas from machine learning, artificial intelligence and neural networks)
- a model for actually changing game display features such as presentation modes and the ordering of shapes (this is highly related to the above item and could, indeed, be intense)
- a model for presenting data as statistics an i++ player may find interesting
- Zope database/framework (this would go along with the Plone package)
- MySQL database (this would go along well with anything other than Plone)
- Any public artificial intelligence or neural networking APIs out there?
- Any of either Ruby, PHP, Python or Java for the rest. This would depend highly on what works best with the presentation of the game and supporting infrastructure like a message board/blog, maybe a wiki, a code repository, etc.
