Open Surge Forum

A fun 2D retro platformer inspired by Sonic games and a game creation system

You are not logged in.

Announcement

Our community has moved to Discord! https://discord.gg/w8JqM7m

#76 2010-11-01 23:32:44

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

SilverstepP wrote:

OK, KZR and I talked it over. Could you just give me a starting point to work with (regarding sprs and the obj). I'm lost right now.

Me and KZR also think the snake should stay still (tail anchored, guarding Charge) and attack from it's post. That should be much easier.

EDIT: didn't see above til i just posted :-P

EDIT 2: For now, I could work on the 'trapped Charge' object. tongue

I believe creating the .spr should be pretty straightforward. There's no secret at all. Please let me know if there are any difficulties with it. My suggestion is to have a sprite {...} block for each object.

For the objects, my suggestion is that we should have two standard objects: the head (say, "DF_boss_head") and the tail ("DF_boss_tail"), where DF=DarkForest (or BlackForest, BF, I don't know). You put them, and only them, in the level editor. The other objects can be hidden: ".DF_boss_segment", ".DF_boss_rattle", ".DF_boss_projectile". These hidden objects will be spawned by the others.

According to what you've said, the tail will do pretty much... nothing. Just set its animation and make it spawn the rattle. The rattle will do nothing. I believe they should hurt the player when touched?

Regarding the segments, don't worry too much about them. The head spawns the segments and the segments will do whatever they should, automatically, to make the body of the snake look consistent. I can program those if you think it's difficult. We can use some math, but we'll need commands to set/get the absolute position of objects, which we don't have yet.

Regarding the head, well. That's the real thing. Making it shoot a projectile towards the player will require some math as well.

Of course, these are all suggestions. If you can come up with something simpler, please share it. smile

Offline

#77 2010-11-01 23:45:01

KZR
Member
Registered: 2010-07-14
Posts: 1,447
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

i can do the spr, no problem.

shooting a sprite towards the player... if that object is set to look at player after spawning, or shot at fixed points it shouldn't be hard.


SD_sml.pngSeD_sml.pngLTot_W_sml.png
https://discord.gg/w8JqM7m ---> Open Surge's Discord server

Offline

#78 2010-11-02 00:00:30

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

KZR wrote:

i can do the spr, no problem.

shooting a sprite towards the player... if that object is set to look at player after spawning, or shot at fixed points it shouldn't be hard.

making it shoot towards the player isn't hard too, we just need to do some calculation in the beginning.

i think the real challenge will be to create the behavior of the head. there will be lots of states, depending on how complex the head will become. hmm

Offline

#79 2010-11-02 21:33:33

KZR
Member
Registered: 2010-07-14
Posts: 1,447
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

maybe some sensor objects can simplify the snake's A.I.

SilverstepP and I have discussed various possibilities, and one would be having a platform in the middle of the screen, on which you jump to be able to hit the head. when standing on the platform the snake's head comes closer and tries to bite. for this case the area around the top of the platform could be the sensor that triggers this behavior. then maybe a variable would be used to tell which action is being played by the head, so it doesn't repeat/change/stop before it's over.

then on the ground there would be another sensor to tell the snake you're in position for the spit attack.

a slight random chance (~~25%) of the snake biting instead of spitting and vice versa would spice it up a little more.

then the head would be significantly less states, because it doesn't judge its own behavior. the sensors tell it what to do and when. stand-by, bite, spit, hit, destroyed. maybe that's all it needs

Last edited by KZR (2010-11-02 21:36:03)


SD_sml.pngSeD_sml.pngLTot_W_sml.png
https://discord.gg/w8JqM7m ---> Open Surge's Discord server

Offline

#80 2010-11-02 21:39:45

jobromedia
Member
From: Stockholm, Sweden
Registered: 2009-11-01
Posts: 1,072
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

Aren't we overlooking something? Earthquakes. This snake must be pretty heavy, so rumbling around underground is bound to make the ground shiver. So why not give it a 10% chance instead of doing the regular attacks it rumbles around underground that spawns say a nailmat at a random location due to it's movements. The nails is plating from him that shakes lose during his underground activities.

Last edited by jobromedia (2010-11-02 21:40:39)

Offline

#81 2010-11-02 21:40:57

SilverstepP
Member
From: North Carolina
Registered: 2009-07-31
Posts: 1,545

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

I can agree with this.

EDIT: Argh, Jobromedia caught me off guard while i was still posting. I agreed with KZR's idea, but i gotta think a bit more about Jobro's...

Last edited by SilverstepP (2010-11-02 21:43:20)

Offline

#82 2010-11-02 22:32:58

KZR
Member
Registered: 2010-07-14
Posts: 1,447
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

your idea isn't bad, but we already have a load of work for basic actions alone. that behavior suits best an underground boss, like in magma mines for example. i can picture a machine or beast that drills the ground leaving an open way for lava to burst. the ground shaking and rubble falling. reminds me of a few platform bosses from games all over, so maybe we can take up on that traditional boss element and give it a twist to make it unique.


SD_sml.pngSeD_sml.pngLTot_W_sml.png
https://discord.gg/w8JqM7m ---> Open Surge's Discord server

Offline

#83 2010-11-02 22:40:02

jobromedia
Member
From: Stockholm, Sweden
Registered: 2009-11-01
Posts: 1,072
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

EDIT: Argh, Jobromedia caught me off guard while i was still posting. I agreed with KZR's idea, but i gotta think a bit more about Jobro's...

That's me in a nutshell. big_smile

When it comes to bosses we shall not be afraid of randomness. It is the predictable bosses that people tend to forget the first of all. I hardly remember the last gamegear boss for sonic2 while I remember the one from Greenhill zone pretty well due to it's random movements.

Last edited by jobromedia (2010-11-02 22:42:01)

Offline

#84 2010-11-02 23:19:56

SilverstepP
Member
From: North Carolina
Registered: 2009-07-31
Posts: 1,545

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

We should indeed be afraid of randomness. If too random the boss will wipe out the player and become too difficult (like erratic movements that aren't able to be dodged). Predictable bosses can indeed be remembered. But... not the ones that are too predictable. We must have balance...

Besides, it's only level 4 out of about 12 levels. We can't make it too hard. Also this is a miniboss (though it can be put into the story with little effort x_X).

Offline

#85 2010-11-03 01:00:51

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

While we fully support the creativity of our users wink, from a practical point of view we must keep things simple.

1. Identify what's the most basic behavior of the snake and code it
2. Add the enhancements progressively, ensuring at the same time that the boss is still working

Offline

#86 2010-11-26 22:35:42

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

I decided to simplify things. I'm releasing a very simple prototype version of the boss, so we can get this off the ground.

The .spr is still incomplete and the boss does nothing useful (it just moves around). However, the problem of the body parts moving around (discussed in here) is already solved.

Please help us improve this mini boss.

Download: http://www.mediafire.com/?znbanwnorlzpnc3 (sprites by KZR)

So, what do you think?

s018.png

// ----------------------------
// Dark Forest: Snake Boss
// ----------------------------
// Instructions:
// 1. put exactly ONE DF_snakeboss_head object in your level
// 2. put exactly ONE DF_snakeboss_tail object in your level (put it near DF_snakeboss_head)
// 3. put exactly FIVE ($_NUMBER_OF_BODY_PARTS) DF_snakeboss_body objects in your level (anywhere)
// 4. be happy ;)
// ----------------------------

Offline

#87 2010-11-27 04:01:35

SurgeChris
Member
From: Surabaya, Indonesia
Registered: 2010-04-25
Posts: 401

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

Uhhh...... There are too many body parts (3-4 should be enough) and the boss design is not retro enough. That's my only critics about this. Otherwise, great work! smile


Your teacher asks you. What to answer? Say this:
"I thought the teacher is supposed to know."

Offline

#88 2010-11-27 04:37:42

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

SurgeChris wrote:

Uhhh...... There are too many body parts (3-4 should be enough) and the boss design is not retro enough. That's my only critics about this. Otherwise, great work! smile

oh, ok. One just needs to change the line let "$_NUMBER_OF_BODY_PARTS=5" to let "$_NUMBER_OF_BODY_PARTS=4" and then put only 4 body parts in the level.

Regarding the non-retro graphics... I agree with you. However, the reality is: unless you do something about it, nothing will change. sad

By the way, have you guys ever heard about Ari Feldman's SpriteLib? It's a free lib full of retro graphics. One of the images is:

dino.png

Offline

#89 2010-11-27 12:20:05

So-Nick
Member
From: Brasil
Registered: 2010-03-20
Posts: 608

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

no bad lol


sonicknucklesemeraldsma.gif

Offline

#90 2010-11-27 13:56:29

J0nnJ0nes
Member
Registered: 2010-05-19
Posts: 180

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

Nice! Still needs some modification... wasn't it supposed to be a crocodile? It would look better as a crocodile with that sprite. Really, none of the attempted snake sprites really look like snakes... hmm It can still be a filler, I suppose. I can redesign the more retro one to be more in the shape of a croc, if you like.

That Lib does have some pretty nice sprites, particularly in the "Platform" folder, that are appropriate for Open Surge... I'm not sure about the size though. I really like the bat... it would make a great common enemy. Some of the other ones might fit as the "small animals" that appear when you kill an enemy.

Offline

#91 2010-11-27 14:40:19

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

J0nnJ0nes wrote:

Nice! Still needs some modification... wasn't it supposed to be a crocodile? It would look better as a crocodile with that sprite.

???

Where did you read it was going to be a crocodile?

The problem with crocodiles is that they can't extend their 'neck' to bite Surge, thus invalidating the whole mechanic of this boss.

It doesn't need to look exactly like a snake. It could be any monster that can expand their neck and bite the player and spit acid as well. In my opinion, Ari Feldman's retro sprite fits this behavior very well, but let's hear what the level designers have to say. tongue

Offline

#92 2010-11-27 14:54:33

SilverstepP
Member
From: North Carolina
Registered: 2009-07-31
Posts: 1,545

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

I don't see why we can't edit it to look more like a snake, if it's a problem.

Personally, it already does seem like a snake, just make the 'tail' smaller.

Offline

#93 2010-11-27 16:18:35

KZR
Member
Registered: 2010-07-14
Posts: 1,447
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

so this is why i dreamed of snakes last night lol

alright!!! great job Alex big_smile

LETS GET RETRO!!

Edit:
Speaking of crocodiles, are there any bosses planned for the water levels? because the principle for moving legs is similar.
if anyone has played Cave Story, who remembers the crocodile skulls with legs? the ones that turn into regular jumping skulls after the legs are shot? we can do something different but similar in concept.

Last edited by KZR (2010-11-27 16:26:28)


SD_sml.pngSeD_sml.pngLTot_W_sml.png
https://discord.gg/w8JqM7m ---> Open Surge's Discord server

Offline

#94 2010-11-27 16:33:04

SilverstepP
Member
From: North Carolina
Registered: 2009-07-31
Posts: 1,545

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

The water levels planned an octopus boss of some sort, I think.

Again, it can always be changed though.

Offline

#95 2010-11-27 16:41:30

KZR
Member
Registered: 2010-07-14
Posts: 1,447
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

oh the octopus right but thats the waterworks boss.

and it is another multi segment creature.

remember the octopus from alex kidd? simple stuff

now suppose that instead of just waving his arms, the octopus could also strike you with them, and use them to jump out of the water, and damage you when it falls either by falling over you or by creating a huge splash in the tank he's contained in.

this is off-topic though roll

the snake png has been updated. if you missed it here it is:

DF_snakeboss.png

Edit:

Is there something wrong i'm doing? I have put the head and tail close to each other and five segments around it but the head only "drags" one segment, the others vanish and the tail stays.

ssdw's seesaw and the pushable block have on_player_rect_collision coordinates that are incompatible with newest bleeding edge. the fixed code for the seesaw is in its thread, the pushable block code is below:

// -----------------------------------------------------
// pushable_block.obj
// This is a simple Pushable Block script for Open Surge
//
// Original Author: Alexandre (graphics by Celdecea)
// Modified by KZR for Dark Forest Prototype
// -----------------------------------------------------

object "DF_Pushable"
{
    requires 0.1.4

    // "main" is the initial state
    state "main"
    {
        // basic properties
        set_animation "DF_Pushable" 0
        set_obstacle TRUE

        
        // jump to stand-by mode
        change_state "stand-by"
    }

    state "stand-by"
    {
        // check if the player is pushing me
        on_player_rect_collision -32 -16 -30 0 "pushing_right"
        on_player_rect_collision 30 -16 32 0 "pushing_left"

        // should I fall?
        change_state "fall"
    }

    state "try_pushing_right"
    {
        on_player_collision "pushing_right" // pixel perfect collision detection is more accurate
        change_state "stand-by" // no, the player isn't pushing me
    }

    state "try_pushing_left"
    {
        on_player_collision "pushing_left" // pixel perfect collision detection is more accurate
        change_state "stand-by" // no, the player isn't pushing me
    }

    state "pushing_right"
    {
        on_right_wall_collision "stand-by" // don't push me!
        bullet_trajectory 30.0 0.0 // move a bit
        on_timeout 0.1 "play_pushing_right_sound"

        change_state "fall"
    }

    state "pushing_left"
    {
        on_left_wall_collision "stand-by" // don't push me!
        bullet_trajectory -30.0 0.0 // move a bit
        on_timeout 0.1 "play_pushing_left_sound"

        change_state "fall"
    }

    state "fall"
    {
        on_floor_collision "stand-by" // I have touched the ground. Change the state
        gravity // If I haven't touched the ground, enable gravity

        change_state "stand-by"
    }

    state "play_pushing_right_sound"
    {
        play_sample "fire2"
        change_state "pushing_right"
    }

    state "play_pushing_left_sound"
    {
        play_sample "fire2"
        change_state "pushing_left"
    }
}

Last edited by KZR (2010-11-27 18:20:26)


SD_sml.pngSeD_sml.pngLTot_W_sml.png
https://discord.gg/w8JqM7m ---> Open Surge's Discord server

Offline

#96 2010-11-27 19:09:51

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

I made small improvements to it today. Now you must put EXACTLY FOUR body parts in the level.

Download: http://www.mediafire.com/?5axn7hnkpxactdq

s026.png

KZR wrote:

Is there something wrong i'm doing? I have put the head and tail close to each other and five segments around it but the head only "drags" one segment, the others vanish and the tail stays.

you must put only one head and only one tail in the level. You can't have two or more snakes.

Offline

#97 2010-11-27 20:12:39

KZR
Member
Registered: 2010-07-14
Posts: 1,447
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

i did a quick fix on the snake's sheet and sprite definitions, because it was supposed to be facing right instead of left.

magenta residues also removed

http://www.fileden.com/files/2007/6/4/1 … prites.zip

In Game shot
jubpmg.png

Edit:

Added a very basic behavior to the head, that destroys it after a few hits. far from perfect. can anyone help me?

object DF_snakeboss_head
{
    requires 0.2.0

    state main
    {
        // +-----------------------------------------+
        // | you need to put $_NUMBER_OF_BODY_PARTS  |
        // | DF_snakeboss_body objects in your level |
        // +-----------------------------------------+
        let "$_NUMBER_OF_BODY_PARTS = 4"

        // animation
        set_animation DF_snakeboss_head 0

        let "$snake_hp = 8"
        let "$alpha = 1"
        // ok, let's go
        set_zindex 0.4
        change_state loop
        
        
    }

    state loop
    {
        // share my position
        let "$_DF_snakeboss_head_x = xpos()"
        let "$_DF_snakeboss_head_y = ypos()"

        // a simple movement...
        // < code the head AI here >
        elliptical_trajectory 15 30 0.15 0.5
        set_obstacle 0
        on_player_attack "snake_hit"
    }
    state snake_hit
    {
    bounce_player
    let "$snake_hp -= 1"
    if "$snake_hp == 0" "death"
    change_state "loop"
    }
    state death
    {
    let "$alpha -= 0.1"
    set_alpha "$alpha"
    if "$alpha == 0" "destroy"
    on_timeout 0.1 "death" 
    }
    state destroy
    {
    destroy
    }
}

Last edited by KZR (2010-11-27 23:35:07)


SD_sml.pngSeD_sml.pngLTot_W_sml.png
https://discord.gg/w8JqM7m ---> Open Surge's Discord server

Offline

#98 2010-11-28 13:21:58

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,304
Website

Re: Dark Forest Prototype WIP (prev. Sunshine Paradise Prototype)

KZR wrote:

Added a very basic behavior to the head, that destroys it after a few hits. far from perfect. can anyone help me?

Can we get a sprite that the head becomes white for a second, so it will look like that the player has hit the boss? Like when you hit eggman with sonic. I can add a nice death to it.

Offline

Board footer

Powered by FluxBB  hosted by tuxfamily.org