Originally Posted by OldManClayton Alterable values would be a more contained system, but there's nothing wrong with counters if that's what you want to do. Easier to read what's going on at runtime.
Yeah, I tend to give "pretty pictures" to all of my counters so that I can easilly read them in the Events Editor.
What he means is keep the counters on screen and put a string next to them that describes them. When I use alterable values for my x, y and stuff like that I always use "set counter" equal to "alterable value a" or something like that. This makes the counter display what the alterable value a is.
But since you are using counters already just put them in number mode and place a string that describes them next to it. It's convenient when you can easily see exactly what is going on with your values.
Gotcha. Sounds like the only thing I was missing then was the descriptive text string. At one time, I had over 15 counters (no lie) on screen to show me what was going on. I had them placed in various locations and groupings so that I knew what they were. Textual descriptions would definitely be easier.
just for specifics if you still want. its not that hard. it does make it a lot easier than counters.
edit: just read dudehuge's comment. and no thats not what i mean. i mean using a string to display everything. it allows you to entirely use alt values and still display the numbers on screen, with any other descriptive text before or after or wherever. you use the STR$() function to insert a value into a string, and the newline$ variable to insert a newline for each row of information.
no problem. hope it makes it easier to organize your engine .
also
double jump
reverse dash/avoid (castlevania/smash bros melee style)
alternative gravity. gravity to the top, left, or right, as well as bottom of screen.
grapple hook
swimming
jet pack (thrust engine)
HangGlider movement using accurate gliding with wind resistance and air currents to provide lift (updrafts) and allow for a more dynamic feel (wind direction) (gusts of looping air)
Breakable weapons that can be carried over to the next stage
Chameleon style background blending of the character to reduce chance of being seen by the enemy by a % (affects AI)
ShapeShifting (once a shape or creature has appeared on screen, that form becomes available to change into)
Destructible Terrain (smashing chairs, tables, windows, breaking walls, chopping down trees)
Enemy reaction based upon attack blow dealt to them (if you kick em in the nuts, they grab em and fall to the ground coughing or whatever)
Loss of Limb (attack hits the arm, it gets cut off) and appropriate response (enemy has just one leg, they have to hop, or grow another back)
Throwable Items (anything not bolted down and not too heavy should be able to be thrown)
Digging (got a shovel? .. ground soft enough? .. you can dig!)
Blood Loss (character gets injured badly, they need to find a medi-kit or complete the level fast, as their lifeforce will deplete)
If they make it to the next level they get healed.
Angel/Demon Wings with flight that reacts to the wind and the wingbeats (flapping of the wings), along with glide ability (see Hanglider movement above)
Liquid Viscosity (varying degree of movement slowdown in liquid depending upon type of liquid) aka internal fluid resistance, aka fluid friction or thickness
Slip and Fall (try to move too quick on ice or a skateboard to start, then you fall) (need to work up speed slowly to keep from falling at high speed)
Variable walking and running speeds ... acceleration and deceleration
Alterable clothing/Appearance (it gets tattered/blood stained/ripped the more you get damaged)
Blood of the Ancient One, Seen only as Shadow, Faster than Lightning, Fierce as the Greatest Dragon, Nearly Invisible, Floating in a Dream, Entered through the Demon Door, Destroyer of Evil in a Realm with a Red Sky Scarred, Who could I be ?
Advanced Movement:
Slopes
Swimming
Climbing on ladders (vertical)
Climbing on poles (horizontal)
Flying (normal)
Flying (with:Jet Pack - continuous key-hold thrust engine)
Flying (with:Angel/Demon Wings- keystroke-driven wingbeats/flapping with gliding)
Reverse dash/avoid (Castlevania/Smash Bros Melee style)
Special Abilities
Wall Jumping
Rolling (Metroid style)
Block Pushing
Ledge Grabbing
Growing and Shrinking (Mario style)
Mid-air Dash
Speed Boost
Chameleon (background blending of the character to reduce chance of being seen by the enemy)
Special Objects:
Springs
Pogo Stick (sort of like a spring that sticks to the sprite)
Conveyors (left and right)
Horizontal Moving Platforms
Vertical Moving Platforms
Cannon Launching (Spring + X Movement)
Grappling hook
Hang Glider (movement using gliding with wind resistance and air currents to provide lift)
Breakable weapons (that can be carried over to the next stage)
Throwable Items (anything not bolted down and not too heavy should be able to be thrown)
Shovel (digging)
Special Environments:
Low/High Gravity
Reverse Gravity (gravity to the top, left, or right, as well as bottom of screen)
Wind (constant X movement)
Ice-covered Ground (slower accelleration/deceleration)
Destructible Terrain (smashing chairs, tables, windows, breaking walls, chopping down trees)
Liquid Viscosity (varying degree of movement slowdown in liquid depending upon type of liquid)
Game Mechanics
Enemy reaction based upon attack blow dealt to them
Blood Loss (character gets injured badly, they need to find a medi-kit or complete the level fast)
Alterable clothing/Appearance (it gets tattered/blood stained/ripped the more you get damaged)
Wow. If you're able to make this thing with all those features and do it open-source and free an' all that ... You'll deserve the Nobel Peace Prize or something ..
Well, a TDC trophy from everyone who downloads it at the very least ..
Blood of the Ancient One, Seen only as Shadow, Faster than Lightning, Fierce as the Greatest Dragon, Nearly Invisible, Floating in a Dream, Entered through the Demon Door, Destroyer of Evil in a Realm with a Red Sky Scarred, Who could I be ?
I have to say, a lot of those features that were requested seem like overkill. Especially with the whole blood loss/tattered clothes thing. Half those features wouldn't be used in most games.
Personally, I'd leave in the basic movement and those extra features that would get a lot of use, and remove some of them. But it's your call.
Originally Posted by MBK Wow. If you're able to make this thing with all those features and do it open-source and free an' all that ... You'll deserve the Nobel Peace Prize or something ..
Well, I can't promise I'll be able to do them all.
I'll probably be able to do most of the movements and then pick and choose some of the other interesting features. The nice thing about this being open source is that if I make it modular enough others should be able to extend it with more movements without too much difficulty. I think the success will all be in the overall architecture of the engine - not the individual movements. I just hope I'm up to that task.
Originally Posted by RedEchidna I have to say, a lot of those features that were requested seem like overkill. Especially with the whole blood loss/tattered clothes thing. Half those features wouldn't be used in most games.
Personally, I'd leave in the basic movement and those extra features that would get a lot of use, and remove some of them. But it's your call.
True, some of the non-sprite movement features won't be used in most games. I'll try to pick out a few of interesting ones and leave the rest to others. But, the cool thing about brainstorming and coming up with a "wish list" like this is that it gets the creative juices flowing. Even if a number of these features never make it into the engine - it's still fun (and healthy) to dream up new possibilities and applications.
For instance, before Cecil mentioned "reverse gravity" - I would certainly not have included that in the engine. As a matter of fact, when he DID mention it - I sort of groaned because I had NO idea as to how something like that might be integrated into my current engine. However, after letting the idea percolate for a while I think I may have a workable solution.
For example, one way to do reverse gravity might be to:
- Have two different sprites (one right-side up and the other upside down)
- Each sprite would require its own set of detectors (obviously the upside down sprite's would be reversed)
- Have both sprites move together but HIDE the upside down sprite at the frame start
- When gravity is toggled from NORMAL to REVERSE:
--- You could disable the Normal Movement group and enable the Reverse Movement Group
--- Hide the normal sprite and display the upside down sprite
- The Reverse Movement Group would essentially be a copy of the Normal Movement Group with the "Y" movement modified
This may not be the BEST way to tackle this problem but I do think it would work. I am using two different sprites for the Growing/Shrinking so, to some extent, I'm already doing something similar.
Anway, even outrageous ideas are good ideas in a brainstorming session.
Originally Posted by Mr G That's "really" big to-do list
Good luck making it
Baby steps! It's all about the baby steps!
Actually, I'm sure I won't finish all of it. But, it should be fun to pick out some of the more interesting features and work on them. I think this is where I stand today:
Advanced Movement:
Slopes
Swimming
Climbing on ladders (vertical)
Climbing on poles (horizontal)
Flying (normal)
Flying (with:Jet Pack - continuous key-hold thrust engine)
Flying (with:Angel/Demon Wings- keystroke-driven wingbeats/flapping with gliding)
Reverse dash/avoid (Castlevania/Smash Bros Melee style)
Special Abilities
Wall Jumping
Rolling (Metroid style)
Block Pushing
Ledge Grabbing
Growing and Shrinking (Mario style)
Mid-air Dash
Speed Boost
Chameleon (background blending of the character to reduce chance of being seen by the enemy)
Special Objects:
Springs
Pogo Stick (sort of like a spring that sticks to the sprite)
Conveyors (left and right) Horizontal Moving Platforms Vertical Moving Platforms
Cannon Launching (Spring + X Movement)
Grappling hook
Hang Glider (movement using gliding with wind resistance and air currents to provide lift)
Breakable weapons (that can be carried over to the next stage)
Throwable Items (anything not bolted down and not too heavy should be able to be thrown)
Shovel (digging)
Special Environments:
Low/High Gravity
Reverse Gravity (gravity to the top, left, or right, as well as bottom of screen)
Wind (constant X movement)
Ice-covered Ground (slower accelleration/deceleration)
Destructible Terrain (smashing chairs, tables, windows, breaking walls, chopping down trees)
Liquid Viscosity (varying degree of movement slowdown in liquid depending upon type of liquid)
Game Mechanics
Enemy reaction based upon attack blow dealt to them
Blood Loss (character gets injured badly, they need to find a medi-kit or complete the level fast)
Alterable clothing/Appearance (it gets tattered/blood stained/ripped the more you get damaged)
There are a couple of other movement engines which I plan to "leverage" and see if I can roll some of their ideas into this one. *cough* wall-jumping from TOPH3R's engine *cough*
By the way, I think Assault Andy nearly choked on his sandwich when I showed him the MFA with all of the detectors I have in the engine. So, big warning, I not only have a cr*pload of counters - I also have a massive collection of detectors. I have ZERO idea if this is the best way to do it but it does seem to be working.
That said, I'm doing my best to comment this engine and keep it well organized.