stepmania: dynamism design document 02/21/06 AJ Kelly v001 this is the stepmania dynamism design document in it, the entire theme will be layed out. table contents 1. welcome to dynamism User Documentation, Website, et al. 2. general overview of goals This is a very generalized statement of what dynamism is 3. detailed overview of theme This currently does stuff. X. works cited References used in creating this document. =================== welcome to dynamism =================== Target Platform --------------- StepMania 4.0 User Documentation ------------------ User Documentation will include the following: * readme.txt and/or .html - Standard readme file. * DynamismLicense.txt - User's rights re: dynamism. * UserInfo Guide - Guide to manipulating the customization options. Website ------- Location: http://kki.ajworld.net/dynamism/ Website will include pictures, downloads, and stuff. Maybe secrets. ========================= general overview of goals ========================= Dynamism plans to be the first user-customizable StepMania theme. Before this, themes were usually fixed to one specific style, maybe with affordances for differing versions [1]. However, users were not able to easily customize these themes. Knowledge of "the metrics" was needed in order to modify a theme. With Dynamism, some elements will not require users to edit "the metrics" to modify the theme. This is goal number 1, stated more clearly: 1) Users will be able to easily modify some elements of the theme. This will be accomplished with LUA scripting. -------------------------------------------------------- In addition, most themes are static. Their appearance is the same day in and day out. Only one theme that I know of does not keep a completely static appearance, and sadly, that theme was created by me [2]. Static themes will be a thing of the past, and thus enters the second goal of dynamism: 2) The theme will not be completely static. Prior art exists in the way of implementation [2]. Reusing code is always a good practice. Elements will be changed, the idea will be fleshed out for a stunning overall appearance compared to prior art. On that note, there is a sub-goal, which is motivated by something in the current StepMania theming community. Now, I did say that I wished to keep quiet on this in the readme for beat man THE THEME, but now is the time to air something. There are themes that could be implemented much better than they are currently. Right now, the themes in question are all seperate, banking on similar code. The creator has been able to ride the "wave of popularity" for a long time through these themes. I honestly don't think it's right, but that isn't the real problem. The problem is that code could be easily re-used between the three themes [3,4,5]. This leads me to the subgoal 2a: 2a) The theme will implement different visual styles, AS ONE THEME. It is very important to note the emphasis on the last three words. That is to say, the styles in dynamism will not be released as seperate themes. -------------------------------------------------------- For the most part, the community is focused on creating themes for the dance gametype. Currently, only one non-dance theme is being created [6]. In the long term, dynamism will be adapted for multiple gametypes. However, the first working implementation will be for a "safe" market, the dance gametype. Goal number three: 3) The theme will not be limited to one gametype. The feasibility of this goal has not been completely studied yet, and it may end up to only work as a kludge. Even so, the list of supported gametypes will be small. Currently, the only non-dance gametype being planned is pump. -------------------------------------------------------- My theming experiences have been pretty odd at best, what with Ultramix attempting to be perfectly re-created and system zero being for "me only", similar to Techno Fiend. This brings up goal number four, which is: 4) This is meant to be an "open" theme for any user. system zero was a very xenophobic theme. Look on the message boards for people complaining about any of the following: * open swearing ("fag whiny baby fucktard") * open ecchiness (Emi x Yuni pic) There are more examples, but I don't remember them all right now. Eventually, system zero became an "open" theme, by removing the "offensive" elements. There were also a lot of in-jokes in the theme (see: failed screen, secret menu). In-jokes can reduce "openness". "Openness" is not to be confused with "you suggest something and I will implement it, guaranteed". It is meant to be "I will listen to your suggestions, think about them, and then discuss why these elements will or won't be in the theme". User base is a very important factor in determining what stays and what goes. For instance, say a very small amount of users (for example, around 2%) use Survival Mode. This is similar to the percieved user base of Magic Dance in the system zero situation. If someone requests Survival support, I would have to think about whether it would be good for the theme or not. These reasons can be arbitrary [4,5] or they can be backed up [7]. -------------------------------------------------------- Goal number five is the most simple goal out of all of them. 5) The theme will be released in a finished state at some time in the future (self-imposed limit: one year after the first alpha/public version, dynamism must be at least version 0.8.) dynamism's versioning follows something that I call the "Perfect Release" approach. The first public version of a project is defined as a number less than 1. MAME uses this method of versioning, as it is nowhere near emulating all of the arcade games that have ever existed. system zero also follows this method, as it is not at 1.0 yet; it is only around 0.55 after two years of work (at time of writing). It is important to note that not every theme gets a release out, and not every theme is finished. This applies to projects too, including a certain project in particular [8]. The fifth goal has two sub-points, one related to versioning, and one related to accessibility, something that 99% of themers don't give a shit about. It may be because I'm the only one out of them who owns a Macintosh. 5a has to do with dynamism's strict versioning process. 5a) dynamism will follow the "Perfect Release" approach, using "Milestones". With Milestones, certain things in the theme must be implemented. The current list of Milestones is as follows: 0.00 - Theme Start. You are here. 0.05 - Core of Original Style in place. What this means is: No customization elements. Bare minimum of screens (defined in "AJ's 'Official' Guide to StepMania Theming" [9]). 0.10 - Original Style++ Think about customization elements. "Nice" minimum of screens (defined in [9]). Goal 5b is accessibility, explained below. 5b) The theme will be available for the major StepMania platforms. These include Windows, Linux, Mac OS X, and Xbox. The PSP is not an official StepMania port, and since I lack my own working hardware for testing, I cannot provide a version of dynamism for the PSP version of "StepMania". ========================== detailed overview of theme ========================== At this point, a big chunk of dynamism is undefined. As development continues, dynamism will slowly show its real face. This is what is currently planned: Visual Style ------------ The visual styles will attempt to satisfy goal 2, as well as goal 2a. Currently, the theme matrix is as follows: * Original Style ("Blue World") This theme is currently being used in development versions. Right now, it is predominantly blue, kind of like system zero. In later versions, this may have to change to a neutral color in order to satisfy goal 2. * Arcade Style ("Red Ocean") Just like it says on the tin. For reference, the Original/Arcade style differentation comes from Pump it Up Exceed (Korean PS2 version). * Organic This is the first style to have a sub-style. Organic themes are generally more "natural" than the other styles in dynamism. * Grass As expected, this sub-style will use a lot of greens. It will also feature skyscapes, including sunrises, sunsets, and starry nights. * Dirt Lots of browns are used here. This sub-style is going under review, it may be replaced with something else. * Ice A proposed alternate to Dirt. Self-explanatory. Will turn into Water during summer months. * Metallic Within this style, all the elements in the theme are made of, or involve metal items. * Clean Clean metal, hasn't been rusted yet. * Rusty Worn metal, shows age. * Retro Style This style has throwbacks to other times and things. * Disco I have always loved disco. ALWAYS. Inspirations will include mirror balls, flashing lights, vinyl, lava lamps, and more. * Video Games Return to 8-bit! Pixel fonts, black status bars, low color art. [Ask rero/badmspaint/pantslessman for help on this one, he does hot shit.] In addition to these "mostly confirmed" styles, there are a number of other proposed styles that may not make it off of the table. * Plastic It's shiny and plasticy. This will be customizable in color. =========== works cited =========== [1] DDRMAX by Takuya20 This theme uses different folders to emulate different versions of DDRMAX, which includes the Japanese and US versions. [2] stepmania system zero by AJ 187 syszero was the first theme (to my knowledge) to implement seasonal conditions that would change the look of the theme ever so slightly. [3] DDR9: RED by k//eternal [4] AOI PROJEKT by k//eternal [5] XI DiSTORTiON by k//eternal All three of these themes have a similar base, in both actual code and visual inspirations. k//eternal has said in the past that the latter two themes stem from code in the former, yet all three are treated as equal themes. [6] beat man - THE THEME by The Artful Dodger & Mr.H at KKI bmTT is meant for the beat gametype, which simulates beatmania/IIDX (not III). [7] Techno Fiend by Sestren Nevras K Techno Fiend was a theme originally created for SNK himself. He eventually released it on the Internet, where it recieved much praise. As a result, people thought that he would willingly bend to any suggestions. While this proved true if the arguement was well-thought out and would benefit many, it was false for situations where the added/removed features did not benefit the whole/SNK. [8] DDR Pinoymix by some kids in the Phillipines Their project is never going to fucking get done and I am seriously considering locking their thread on Bemanistyle until they produce something. I think that they're this community's equivalent of Duke Nukem Forever. [9] "AJ's 'Official' Guide to StepMania Theming" by AJ 187 This is not currently formally written yet. Currently, the ideas and theories laid out in this guide are /de facto/ standard at KKI. It is based on design principles that were studied in the making of system zero, as well as beat man THE THEME, dynamism, and being a spectator to other theme makers. The guide explains AJ's theories and reasoning on intrinsic elements in StepMania themes. "Themes" of commercial games are also assessed and commented on.