Difference between revisions of "Character Maker"
From The Game-Maker Archive
Jump to navigationJump to search (→Tips) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
'''Release type:''' [[Retail]] ([[Game-Maker]] suite)<br /> | '''Release type:''' [[Retail]] ([[Game-Maker]] suite)<br /> | ||
'''Release date:''' 1991 (original release)<br /> | '''Release date:''' 1991 (original release)<br /> | ||
− | '''Author:''' [[ | + | '''Author:''' [[Oliver Stone]]<br /> |
'''Related tools:''' [[Palette Designer]], [[Block Designer]], [[Monster Maker]], [[Map Maker]], [[Integrator]], [[Xferplay]] | '''Related tools:''' [[Palette Designer]], [[Block Designer]], [[Monster Maker]], [[Map Maker]], [[Integrator]], [[Xferplay]] | ||
}}Produces and edits .CHR format files. Programmed by Oliver Stone. | }}Produces and edits .CHR format files. Programmed by Oliver Stone. | ||
Line 15: | Line 15: | ||
== Tips == | == Tips == | ||
+ | * Use the background grid to judge character movement from frame to frame. Twenty pixels equals one block. | ||
* Note that you only have ten frames of animation to play with, in any given sequence. | * Note that you only have ten frames of animation to play with, in any given sequence. | ||
− | + | * If you intend a fluid repeating animation, such as a walking or simple gravity-based jumping move, make sure that the first frame of the animation moves as many pixels as the later frames, to avoid a choppy, stuttering movement. | |
− | * If you intend a fluid repeating animation, such as a walking or simple gravity-based jumping move, make sure that the first frame of the animation moves as many pixels as the later frames. | + | * If you want a slow animation, and you have enough space in your sequence, often rather than increasing the delay of each frame your better technique is to double each animation frame -- so that instead of one frame lasting two ticks you have two identical frames, each lasting one tick -- and then halving the amount of distance covered by each frame, so that (for instance) instead of the one long frame moving the character four pixels each short frame will move by two pixels. This will make your character's motion within the environment less choppy and more responsive. |
− | * If you want a slow animation, and you have enough space in your sequence, often rather than increasing the delay of each frame your better technique is to double each animation frame -- so that instead of one frame lasting two ticks you have two identical frames, each lasting one tick -- and then halving the amount of distance covered by each frame, so that instead of the one long frame moving the character four pixels each short | + | |
− | + | === Tricks === | |
+ | |||
* You can use the plus and minus keys to change the frame delay by ten ticks at a time. | * You can use the plus and minus keys to change the frame delay by ten ticks at a time. | ||
* If you need to blank a key assignment, assign the move to a reserved key (F1, for instance). | * If you need to blank a key assignment, assign the move to a reserved key (F1, for instance). | ||
* If you need to blank the top block of a frame, click on the blank space to the left of the button palette. | * If you need to blank the top block of a frame, click on the blank space to the left of the button palette. | ||
+ | |||
+ | === Bugs and workarounds === | ||
+ | |||
+ | * The first frame of the idle animation is a throwaway. Whenever a character cuts short an animation and reverts to idle, it will skip the first frame of the idle sequence -- so whatever you want to do with your idle animation, begin with frame #2. | ||
* Unless you click to place a block on the grid, any flipping or rotating of the block will be ignored. | * Unless you click to place a block on the grid, any flipping or rotating of the block will be ignored. | ||
* Note that any monster birthed from a character will automatically flip or rotate to match the last direction of character movement. So if the character walks left, the monster flips left. Although this behavior is often transparent and desirable, assuring that weapons will always be oriented in a way that makes visual sense, the behavior can get in the way of more advanced techniques -- particularly melee attacks with monster animation that extends the character sprite. In such an event, walking left then attacking right might cause a character's sword arm to stretch out from her body backwards, sword tip to shoulder joint. Problem is, this behavior is very persistent. Even the child of a birthed monster retains its parent's orientation. Yet with the child of a child, the engine loses track of things, freeing the sprite for however you might want to use it. So if you want precise behavior in your birthed monsters, what you need to do is to assign that behavior to the grandchild of the birthed monster. Set the birthed monster and its child each to die after one tick, or at the end of a path that is a single dot. | * Note that any monster birthed from a character will automatically flip or rotate to match the last direction of character movement. So if the character walks left, the monster flips left. Although this behavior is often transparent and desirable, assuring that weapons will always be oriented in a way that makes visual sense, the behavior can get in the way of more advanced techniques -- particularly melee attacks with monster animation that extends the character sprite. In such an event, walking left then attacking right might cause a character's sword arm to stretch out from her body backwards, sword tip to shoulder joint. Problem is, this behavior is very persistent. Even the child of a birthed monster retains its parent's orientation. Yet with the child of a child, the engine loses track of things, freeing the sprite for however you might want to use it. So if you want precise behavior in your birthed monsters, what you need to do is to assign that behavior to the grandchild of the birthed monster. Set the birthed monster and its child each to die after one tick, or at the end of a path that is a single dot. | ||
+ | * One issue with Game-Maker is that it does not disclose to the player most of the game's counters. Aside from score, money, lives, and hitpoints the player is forced to mentally keep track of all other variables -- keys, ammo, and so on. One workaround that helps, somewhat, is to create a floating monster that displays the amount of the counter change. Upon the event that changes the counter -- say, pickup of an item -- have the game spawn this short-lived monster. This workaround won't actually increase a visible counter, but psychologically that makes it easier to handle. This brief visual indicator makes it easier to pay attention and mentally keep track of what's going on, and makes the game seem less totally arbitrary. | ||
== Links == | == Links == | ||
Line 32: | Line 39: | ||
[[Category: Formats and Tools]] | [[Category: Formats and Tools]] | ||
[[Category: First-party tools]] | [[Category: First-party tools]] | ||
+ | [[Category: Oliver Stone]] | ||
[[Category: Recreational Software Designs]] | [[Category: Recreational Software Designs]] |
Latest revision as of 10:45, 27 January 2016
Release type: Retail (Game-Maker suite)
Release date: 1991 (original release)
Author: Oliver Stone
Related tools: Palette Designer, Block Designer, Monster Maker, Map Maker, Integrator, Xferplay
Produces and edits .CHR format files. Programmed by Oliver Stone.
Version history[edit]
1994 - Version 3.00
Tips[edit]
- Use the background grid to judge character movement from frame to frame. Twenty pixels equals one block.
- Note that you only have ten frames of animation to play with, in any given sequence.
- If you intend a fluid repeating animation, such as a walking or simple gravity-based jumping move, make sure that the first frame of the animation moves as many pixels as the later frames, to avoid a choppy, stuttering movement.
- If you want a slow animation, and you have enough space in your sequence, often rather than increasing the delay of each frame your better technique is to double each animation frame -- so that instead of one frame lasting two ticks you have two identical frames, each lasting one tick -- and then halving the amount of distance covered by each frame, so that (for instance) instead of the one long frame moving the character four pixels each short frame will move by two pixels. This will make your character's motion within the environment less choppy and more responsive.
Tricks[edit]
- You can use the plus and minus keys to change the frame delay by ten ticks at a time.
- If you need to blank a key assignment, assign the move to a reserved key (F1, for instance).
- If you need to blank the top block of a frame, click on the blank space to the left of the button palette.
Bugs and workarounds[edit]
- The first frame of the idle animation is a throwaway. Whenever a character cuts short an animation and reverts to idle, it will skip the first frame of the idle sequence -- so whatever you want to do with your idle animation, begin with frame #2.
- Unless you click to place a block on the grid, any flipping or rotating of the block will be ignored.
- Note that any monster birthed from a character will automatically flip or rotate to match the last direction of character movement. So if the character walks left, the monster flips left. Although this behavior is often transparent and desirable, assuring that weapons will always be oriented in a way that makes visual sense, the behavior can get in the way of more advanced techniques -- particularly melee attacks with monster animation that extends the character sprite. In such an event, walking left then attacking right might cause a character's sword arm to stretch out from her body backwards, sword tip to shoulder joint. Problem is, this behavior is very persistent. Even the child of a birthed monster retains its parent's orientation. Yet with the child of a child, the engine loses track of things, freeing the sprite for however you might want to use it. So if you want precise behavior in your birthed monsters, what you need to do is to assign that behavior to the grandchild of the birthed monster. Set the birthed monster and its child each to die after one tick, or at the end of a path that is a single dot.
- One issue with Game-Maker is that it does not disclose to the player most of the game's counters. Aside from score, money, lives, and hitpoints the player is forced to mentally keep track of all other variables -- keys, ammo, and so on. One workaround that helps, somewhat, is to create a floating monster that displays the amount of the counter change. Upon the event that changes the counter -- say, pickup of an item -- have the game spawn this short-lived monster. This workaround won't actually increase a visible counter, but psychologically that makes it easier to handle. This brief visual indicator makes it easier to pay attention and mentally keep track of what's going on, and makes the game seem less totally arbitrary.
Links[edit]
- The Making and Unmaking of a Game-Maker Maker (Gamasutra)