Developed as Chimp CO., my design studio back in 2004.
A promotional bemani game for MAZDA USA. As for MX5 Driftbattle RC this small game was a promotional item for the MAZDA USA website. Was awarded with a monthly FWA as for being part of the zoom zoom island campaign. Graphics were mostly made on Cosmigo Pro Motion and Deluxe Paint IV on an amiga computer, still the best software ever for indexed pixel graphics. In the gallery below you can find some work in progress stuff. The palette swapping method for the children is obtained by layering pieces of the sprites by colour. The game itself is a flash mx 2004 movie file.
Play it HERE
Graphics by LRNZ. Coded by Maurky. Music by Maurky/Mat64. Game design document by LRNZ
Here are notes about the design that I fon in a very old HD of mine:
MAZDA MPV RYTHM GAMEGame Design Document
Lead Designer:Lorenzo Ceccotti
Co Designers:Mauro StaciRoberto Cipriani
Chimp co. 2004
-PLATFORMmultiplatform macromedia flash mx .swf object for the internet.
-GENERAL SPECSthe game is 668*433 pixel. runs at 31 fps.sets high quality in the menus.sets low quality when in game mode.1 ghz processor reccomended for full frame rate performance. 24bpp/32bpp video modes are strongly reccomended due to macromedia flash 16bpp alpha and clip rendering issues. mouse and keyboard required.
GAME DESCRIPTION"MAZDA MPV RYTHM GAME" (aka "MRG") is a traditional Konami style "rythm game" (aka "bemani").In Bemani games the music takes the main role. The user plays the role of a mother that needs to put lots of stuff and all of his childs in the Mazda MPV minivan.To do so she has to learn the dance moves the child do and repeat the right input sequence following the game music rythm.The more accurate the player is the more points will get.You start from zero points and according with your performance points will increase or decrease. If player gets zero points or less at the end of the game he looses. If player gets a better score (1 point or more) he gets a game complete sequence.
GAME PRELOADING, SECTIONS and BUFFER INDEXESthe game is always streaming data until is fully loaded, but there are "buffer indexes" where the player can start interacting without necessarily download the whole game in a single session.this is better for the game because it's more reactive and masks part of the download time.if the players goes to the next index before the required download process is done you'll have a standard minor preloader leading from the cached index and and the still not cached one.
In every menu section (boot, login, database check, main menu, music download) there will be the "send to a friend bar"(*) active.
BUFFER INDEX 1 - "BOOT"the game will first initialize with a very small preloader.
BUFFER INDEX 2 - "LOGIN"Here the player is prompted to enter his login and password.If the player is new to the game his datas will be recorded into the database and he becomes a registered user.If player's Nickname is already registered but the password doesn't match he is asked to login again.
BUFFER INDEX 3 - "DATABASE CHECK"Tha game access to the database searching latest updates about other player's performance records.
BUFFER INDEX 4 - "MAIN MENU" Game graphics are preloaded here.The main menu let's the player choose between 3 games: easy, normal, hard.Each game selction is linked to a music selection.
Each game is listed this way: MUSIC TRACK TITLE, DURATION, DIFFICULTY.MUSIC TRACK TITLE is the title of the soundtrack of that game.DURATION is the running time (min:sec:dec) of the game.DIFFICULTY is the level of difficulty of the game and can be "easy", "medium" or "hard".
A global Highscore table will be visualized in a dedicated area.Global highscores shows the best scores made in all the three games.If the player clicks on a GAME menu item he will be brought to a briefing page.
The briefing page shows datas about the incoming game: 1) how many normal stages the game is composed by.2) how many extra stages the game is composed by.3) next to each stage you can see how many patterns are composed by.4) duration of the game.5) high score table of that game.
In the briefing pages players interaction is limited to accept and proceed to the game or to go back to the main menu.
BUFFER INDEX 5 - "INGAME MUSIC DOWNLOAD"This is when the game streams datas for the mp3 music.the mp3 data are embedded in a swf movie so it can be downloaded with a standard "loadmovie" operation.As the streaming is completed the "INGAME" sections automatically pops in.This Buffer index is visible only if the required data for the music is not available locally.
INGAME SECTION:The ingame section asks for player interaction to start the game: space, enter key or mousebutton.
DETAILED INFORMATION ABOUT CONTROL SYSTEM:The menus are controlled by standard point and click mouse based interface.The ingame is controlled by spacebar and enter/return keys.
This is the brief list of controls:
space: bassdrum/low range sounds feedbackenter: snare/high range sounds feedbackspace+enter: mixed event/lead sounds feedback
DETAILED INFORMATION ABOUT GAME WINDOW:The game window consists of two main areas:
1) "Playground"2) "Schematic"
"Playground" and "schematic" must be considered as two viewports for the same scene, different forms for the same concepts."Schematic" is a sort of timeline of the input/events."Playground" is the figurative counterpart of the game system where you have a narrative incarnation for every indicator. Every event represented in the "playground" has its correspondent event represented in the "schematic".Every player's move is represented both in the "playground" and in the "schematic".
BRIEF DESCRIPTION OF PLAYGROUND VIEWPORTIn "playground" you see the mom standing in front of the MPV Minivan with the childs. A flashing indicator (the flashes are synched to the music) indicates the active character (ie: mom or child).
The mom and childs are always dancing while the game is running: during cutscenes child stop dancing and go into the car or go away.
The mom has two stances depending on your actual score: if your score is equal to zero or less she goes sad, if it's a better score she will dance happily.The "mood" of the mum is your "health" indicator in the playground viewport.The mom has a "command input feedback" indicator.The "command input feedback" indicator show the key press that corresponds to every movement she does. The indicator itself consists in the spacebar icon or the enter icon appearing over the mom's head for 1 tick time unit.
Every child represent a sub stage to be cleared. Every child has a "command input feedback" indicator. The "command input feedback" indicator show the key press that corresponds to every movement the child does. The indicator itself consists in the spacebar icon or the enter icon appearing over the child's head for 1 tick time unit.Every time you clear a sub stage the corresponding child goes into the car and leaves the playground.
BRIEF DESCRIPTION OF SCHEMATIC VIEWPORTSchematic is made of 5 indicators:
1) PATTERN TIMELINE INDICATORRepresents the Pattern as an "Event chain flow".Switches between LISTEN and REPEAT mode.When in Listen mode the player is given a list of commands to repeat.In repeat mode he has to repeat em in the right time.
2) BEAT INDICATORGives the player the beat by flashing every 8 time tick units, 1 beat.
3) POINTS INDICATORDescribed under "POINTS" concept section
4) STATUS INDICATORDescribed under "POINTS" concept section
5) STAGE INDICATORDescribed under "STAGE" concept section
The best thing to explain how the game works is to do a list of the abstract concepts and events that build the game mechanics: as a concept is exposed I'll explain how is represented in both the "schematic" and "playground" environment.
CONCEPT: Points and Status.Points represent the result of evaluating player's performances.Points value bigger than zero is the minimum requirement to win the game.Actually we can assume that points work like a "you are winning/you are loosing" indicator that gives the player detailed feedbacks about his performance.
SCHEMATIC: a gauge bar over points numbers. The points are added or subtracted according to player's performance starting from zero everytime each game is started. The gauge bar tends to grow cyan from the center to the right if the points are more than zero, it tends to grow red from the center to the left if the points are less than zero.Over the bar there is the "status indicator": When the bar is red a flashing word over it says "warning!" when it's cyan can be "novice","good" , "ZOOM!", "ZOOM ZOOM!" according to player's performance. The extension must be fixed according to interface design, the step unit is "per pixel".
PLAYGROUND: In the "playground" viewport only a limited "status indicator" is represented: when your points ("schematic" only) are less than zero, the mom will dance in a sad mood. when your points are more than zero she will dance happily.
CONCEPT: StageThe MRG game is made of Stages.A Stage is a set of one or more (up to 8) patterns.Completing all the Stages of a MRG game with more than zero points means the player has finished the game.
SCHEMATIC: the stages are represented as a vertical array of icons representing the kind of stage (child or special).If the stage is made of more than one pattern a "xN" appears next to the stage icon (where N is the number of patterns).Every time the player passes through a stage a child or special icon disappears.
PLAYGROUND: The stages are represented by childs standing in the right part of the screen.Every CHILD stays for a STAGE. Every time you clear a stage the child leaves the playground and goes in the car.Every cleared stage is represented in the car scheme: the car scheme show how full the car is.The progress of the player is showed by TWO indicators in the playground: ADDITIVE INDICATOR: the car scheme that gets fuller the more stage you have cleared.
SUBTRACTIVE INDICATOR: The childs leave the playground as a stage is completed.
CONCEPT: Pattern.This is where the REAL game takes place.It's the synthesis of the "Event chain flow". It's the gameplay backbone.Basically it's an array of spacebar/enter/idle input checks indexed in time.Each input (idle, spacebar or enter) can be positioned in time ONLY every 1/32 of the pattern lenght.Once the sequence of inputs has been showed to the player he has to repeat it the better he can.The more accurate his playback well be the more points will be earned.
To define what is a Pattern we start considering it as a "number of two 32 binary valours parallel sequences proportionally distributed in a given time".However we surely want a simplier way to talk about it.Conseguently a Pattern is made of two channels subdivided in time units.The two channels, one exclusive to space key and one to enter key, contain 32 tick time indexes each.To a "space" time code exactly corresponds an "enter" time code.Lenght of each Pattern is fixed: 32 tick time units.Every tick time unit can assume 2 valours: on or off.The duration in seconds of a tick time unit, and conseguently the duration of a pattern, is a variable depending on the arbitrary constant called BPM.BPM stays for "BEATS per minute" a beat is made of 8 tick time units.Knowing this we can easily represent a pattern this abstract way:
ARBITRARY GIVEN CONSTANTBPM: 120 duration of a tick time unit: 60[seconds]/120[Beats per minutes] = 0,5 seconds [1 beat duration]/8 [ticks] = 0,0625 secondsduration of a pattern: 0,0625 [seconds] * 32 [ticks] = 2 seconds
STAGE 1 (2 patterns)
ENTER CH:0000100000001000SPACE CH:1000100010001000
ENTER CH:1000100010001000SPACE CH:0010101010001000
There are six types of patterns:
LISTEN PATTERN
These patterns are written by the level designer and are NOT VARIABLE, they play always the same way: this kind of patterns are the "trial" for the player.After a Listen Pattern there is alway a "REPEAT" pattern.
REPEAT PATTERN
These patterns are written by the player in repeat mode and are VARIABLE, they play every time differently because they are USER DEFINED: this kind of patterns are the performance of the player.A "REPEAT" pattern is always before the "OUTRO" pattern of a stage.
NEUTRAL PATTERN
These pattern are ALWAYS like these:ENTER CH:0000000000000000SPACE CH:0000000000000000No input required.Never.After a generic neutral pattern and before a "LISTEN" patterns there is always a neutral "INTRO" type pattern.
INTRO PATTERN
These pattern are ALWAYS like these:ENTER CH:0000000000000000SPACE CH:0000000000000000No input required.Never.After an Intro pattern there is always a "LISTEN" pattern.
ROLLING START
These pattern are ALWAYS like these:ENTER CH:0000000000000000SPACE CH:0000000000000000No input required.Never.This pattern is always at the beginning if a game.After a "ROLLING START" is always followed by an "INTRO" pattern.
SCHEMATIC: A pattern is represented by a timeline indicator, event markers and a moving trigger. Time is represented represents on the x axis of the timeline. The time flow is represented by a moving trigger that goes left to right thru the timeline.The speed of the moving trigger is the one needed to go left to right in a pattern duration. The step of the moving trigger is "per pixel".On the timeline the y axis illustrates the type of control input you have to enter at the x time, the channel. The y axis has only 2 steps of detail as you have only 2 input commands, 2 channels.The x axis has 16 steps (represented by 16 vertical lines disposed every 1/16 of the whole timeline lenght) and 32 sub units, the tick time units (represented by 16 50% opaque vertical lines disposed every 2/32 of the whole timeline lenght).Each beat (8 tick time units) is represented as a red vertical line.The timeline is the place where the actions the player have to do are represented. The actions are represented as event markers.A marker represents the "on" status of a tick time unit, the "1" valour of the "CONCEPT" abstarct scheme.Event markers are disposed over the timeline following this criteria: x position over the timeline is the time the event has been performed by the child, y position is the kind of event (binary).The event marker is an isoceles rectangle-triangle. It's always positioned with the squared vertex snapping to a 1/16 or 1/32 of the whole timeline length and the other vertex facing to the right.The width of this marker is a tick time unit.
PLAYGROUND: A Pattern is represented as a sequence of dance moves done by the childs. Every child does a sequence of moves. Every "1" in the pattern gives a result on the input feedback indicator according to the channel. Every "0" valor in both the pattern channels causes an idle animation on the child. ----------------------------------------------------------
GAME DIRECTIONHOW TO DESIGN A MRG GAME LEVEL
To design a level of MRG we must first of all define:
1) What's the BPM value?2) How many stages our level is long?3) How many "LISTEN" patterns are there for each stage?4) What's the array of inputs needed to clear each pattern?
And then consider these rules:
Each game has a neutral pattern called "ROLLING START" at the beginning.Each stage except the first one is introduced by a neutral stage called "INTRO TO STAGE [stage number]"Each stage ends with a neutral patern called "OUTRO"Each pattern has a "listen" and a "repeat" phase: the listen phase is defined with the array of inputs needed to clear each pattern. The repeat phase starts at the end of the listen one and it's that moment the player has to input his commands to mimic the listen controls array (that's why we will represent "REPEAT" commands as "X" instead of "1" or "0" in our schemes from now on as they are user defined and conseguently unknown).Because of this consider each designed array twice in terms of time lenght. Each game has a neutral pattern called "END OF GAME" at the end. Now the level designer can figure out how exactly the game will play and how much the game is long.
Here is an example of input needed from the designer:
START
ARBITRARY GIVEN CONSTANTBPM: 120
Number of stages: 2STAGE 1: x2STAGE 2: x3
STAGE 1 (x2)
LISTEN ENTER CH:0000100000001000 LISTEN SPACE CH:1000100010001000
LISTEN ENTER CH:1000100010001000 LISTEN SPACE CH:0010101010001000 STAGE 2 (x3)
LISTEN ENTER CH:0000100000001000 LISTEN SPACE CH:1000100010001000
LISTEN ENTER CH:1000100010001000 LISTEN SPACE CH:0010101010001000
LISTEN ENTER CH:0000100000001000 LISTEN SPACE CH:1000100010001000
And here it is the resultant game level with the exact time duration:
START
ARBITRARY GIVEN CONSTANTBPM: 120 duration of a tick time unit: 60[seconds]/120[Beats per minutes] = 0,5 seconds [1 beat duration]/8 [ticks] = 0,0625 secondsduration of a pattern: 0,0625 [seconds] * 32 [ticks] = 2 secondsNumber of stages: 2STAGE 1: x2STAGE 2: x3
ROLLING START:
NEUTRAL ENTER CH:0000000000000000NEUTRAL SPACE CH:0000000000000000
INTRO TO STAGE 1
NEUTRAL ENTER CH:0000000000000000 NEUTRAL SPACE CH:0000000000000000
STAGE 1 (x2)
LISTEN ENTER CH:0000100000001000 LISTEN SPACE CH:1000100010001000
REPEAT ENTER CH:XXXXXXXXXXXXXXXX REPEAT SPACE CH:XXXXXXXXXXXXXXXX
LISTEN ENTER CH:1000100010001000 LISTEN SPACE CH:0010101010001000
REPEAT ENTER CH:XXXXXXXXXXXXXXXX REPEAT SPACE CH:XXXXXXXXXXXXXXXX OUTRO
NEUTRAL ENTER CH:0000000000000000 NEUTRAL SPACE CH:0000000000000000
INTRO TO STAGE 2
NEUTRAL ENTER CH:0000000000000000 NEUTRAL SPACE CH:0000000000000000
STAGE 2 (x3)
LISTEN ENTER CH:0000100000001000 LISTEN SPACE CH:1000100010001000
REPEAT ENTER CH:XXXXXXXXXXXXXXXX REPEAT SPACE CH:XXXXXXXXXXXXXXXX
LISTEN ENTER CH:1000100010001000 LISTEN SPACE CH:0010101010001000
REPEAT ENTER CH:XXXXXXXXXXXXXXXX REPEAT SPACE CH:XXXXXXXXXXXXXXXX
LISTEN ENTER CH:0000100000001000 LISTEN SPACE CH:1000100010001000
REPEAT ENTER CH:XXXXXXXXXXXXXXXX REPEAT SPACE CH:XXXXXXXXXXXXXXXX
OUTRO
NEUTRAL ENTER CH:0000000000000000 NEUTRAL SPACE CH:0000000000000000
END OF GAME
NEUTRAL ENTER CH:0000000000000000NEUTRAL SPACE CH:0000000000000000
RUNTIME OF THE GAME: 00 min : 32 sec : 00 dec
The runtime of the game, the bpm and the stage/patterns nesting design is necessary to the musician to make according music and rythms for the stage and viceversa.You can design a level for MRG even starting from the lenght and BPM informations of a given music.