You are not logged in.
Pages: 1
Apart from propellers and traditional gimmicks, maybe some of these ideas could be considered for Waterworks Zone as they are meant to open up alternative paths.
Offline
Good idea!
My current levels projects:
Egg Destroyer zone(45%)? Paint City zone(10%), Hollywood zone(100%)
Future projects:
Seacrest County zone
Offline
That's nice, wrath. I'm uploading your ideas to the wiki: http://opensnc.sourceforge.net/wiki/ind … rwork_Zone
The only problem is that pools of water are not a feasible thing, as we'd have to simulate fluids to get it correctly and it would be terrible to customize via scripting.
My idea is that every stage has a water level. Water level is the y-coordinate such that the surface of the water is located. Every pixel with its y-coordinate below the water level is flooded with water, no matter what its x-coordinate is. Of course one will be able to change the water level dynamically via scripting (thus making the water switches possible), but you won't be able to make pools with gates and everything.
Offline
One will be able to change the water level dynamically via scripting (thus making the water switches possible)
That was the whole idea, the gate thing is more of an ornament to give a reason for the water level to go down.
The electricty pole thing is just to demonstrate an enclosed area, not necessarily a pool.
Do you want me to make a sonic-less version of the Music Stadium gimmicks so you can upload them?
Offline
Do you want me to make a sonic-less version of the Music Stadium gimmicks so you can upload them?
Yes. Thank you.
Offline
The only problem is that pools of water are not a feasible thing, as we'd have to simulate fluids to get it correctly and it would be terrible to customize via scripting.
i believe a water or maybe "liquid" brick is a feasible thing with these parameters:
- Thickness (thicker liqids have more gravity and friction, thinner ones have less)
- Jump power (how much the liquid's pressure affects jumping height)
and link to the engine's internal variables you have defined for gravity, friction, x/y speed etc. it's just a matter of finding a simple formula to translate those two parameters into game variables
the global water level is a good thing but could also be a separate resource when building water levels.
Last edited by KZR (2010-08-28 05:25:09)
https://discord.gg/w8JqM7m ---> Open Surge's Discord server
Offline
Alexandre wrote:The only problem is that pools of water are not a feasible thing, as we'd have to simulate fluids to get it correctly and it would be terrible to customize via scripting.
i believe a water or maybe "liquid" brick is a feasible thing with these parameters:
- Thickness (thicker liqids have more gravity and friction, thinner ones have less)
- Jump power (how much the liquid's pressure affects jumping height)and link to the engine's internal variables you have defined for gravity, friction, x/y speed etc. it's just a matter of finding a simple formula to translate those two parameters into game variables
the global water level is a good thing but could also be a separate resource when building water levels.
Possible, but the water wouldn't flow and it wouldn't be possible to customize it through scripting. Having a global water, with the same parameters and an additional one, height, would be easily configurable via scripting.
Offline
Possible, but the water wouldn't flow and it wouldn't be possible to customize it through scripting. Having a global water, with the same parameters and an additional one, height, would be easily configurable via scripting.
True, this water does not flow. it doesn't run through gaps, and doesn't fall. it's a way of creating static water for pools. And if the brick is animated correctly, it may give the sensation that it's flowing. i've done this once with Multimedia Fusion and worked like a charm. complete with splashes when going in and out the water objects .
i can post a demo if you like.
https://discord.gg/w8JqM7m ---> Open Surge's Discord server
Offline
Um, disregard. I guess we won't do pools of water then.
Last edited by SilverstepP (2010-08-28 16:52:08)
Offline
i can post a demo if you like.
please do.
Offline
ok. this is a quick mockup made in TGF2, a lighter version of MMF.
notice how much you jump in and out of the water, and how much acceleration is affected.
yes there are collision bugs with solids, but they're not the point.
the original project is included, if you have MMF2 or TGF2 you might wanna look into it.
here's how it's done:
water level ~~~~~~~
water objects [][][][][][][]
the water level object ( ~ ) represents the waves on the surface. it detects collisions with the player and creates a splash when such collision is detected. it can also be used as a barrier that destroys bubbles that spawn underwater (not shown here) it's X size is the same of the splash.
The water objects ( [] ) are what actually affects gravity, and acceleration. they are semi-transparent and may contain an animation representing the flow. when touching a water object gravity is reduced and so is acceleration. when not touching it, values are reset to off-water defaults. this can be any size, opposed to the water level objects that should not be wider than splashes.
https://discord.gg/w8JqM7m ---> Open Surge's Discord server
Offline
ok. Thank you for the demo
Offline
For the pools and maybe the idea of something affecting the water, maybe water could work like I worked around it in my mod.
I had those water on/off items, much like loop off and on.
Later I changed the "water on" label for this:
when the player touches the water the animation is played and the players acceleration and jump strength get affected.
then above the water item a "Water off" label would be put so that stats are returned to normal.
Now this are just a modification of springs.
Code for items, not sure if any of this is similar in the new build. But here's an example of how it was coded:
//code for water:
case IT_WATERAREAON:
{
int i;
//item->actor->visible = level_editmode();
for(i=0; i<3; i++)
{
if(actor_collision(act, team[i]->actor))
{
actor_change_animation(act, sprite_get_animation("SD_WATER", 1));
team[i]->actor->jump_strength = 220;
team[i]->actor->acceleration = 50;
team[i]->actor->maxspeed = 100;
}
}
if(!actor_collision(act, team[0]->actor))
{
actor_change_animation(act, sprite_get_animation("SD_WATER", 0));
}
[....]
//code to reset stats
case IT_WATERAREAOFF:
{
int i;
item->actor->visible = level_editmode();
//for(i=0; i<3; i++) {
if(actor_collision(act, team[0]->actor))
{
team[0]->actor->jump_strength = 400;
team[0]->actor->acceleration = 250;
team[0]->actor->maxspeed = 700;
}
/* TAILS */
if(actor_collision(act, team[1]->actor))
{
team[1]->actor->acceleration = 200;
team[1]->actor->maxspeed = 600;
team[1]->actor->jump_strength = 360;
}
[...]
break;
}
Last edited by wrath1138 (2010-09-01 06:38:39)
Offline
Well, one thing... thats a pretty big splash, lol.
Offline
The water on/off is a nice idea indeed , but we'll need a few more tweaks to implement water with breath control, refraction and height control. I'll postpone this issue to after we implement the new physics system, but unofficial hacks to the community could be helpful.
wrath, if you want to hack this into your MOD using the current engine, instead of a big switch you'll work with "classes". Basically you create a new file to encapsulate the water objects.
Offline
Pages: 1