Topic: keeping up the progress 'til 0.2.0

i think it's reasonable to release 0.2.0 this year. However, if we are going to achieve that, we can expect some budget cuts (i.e., cutscenes are out for now; the "premium zone" is also out). Anyway, I'm creating this thread to report updates - like a blog.

stuff in green is completed; stuff in red is not.

Tasks I need help with:
1. create a very good music for the title screen - August 24th, 2012. Thank you, jobromedia!
2. document, in the wiki, the "collision mask" feature for bricksets (it has already been implemented)

Tasks of my responsibility:
1. restore the bleeding edge system - August 18th, 2012
2. a few more improvements to the engine code - August 24th, 2012
2.1. look for .obj, .spr, etc. in subfolders, recursively - August 24th, 2012
2.2. shared animation frame for rings - August 18th, 2012
2.3. physics: fix y-axis "momentum" - August 18th, 2012
2.4. level editor: display a line at the waterlevel - August 18th, 2012
2.5. "debug mode" for stage select - August 24th, 2012
2.6. scripting: faster lookup for globals - August 24th, 2012

2.7. set_player_animation_speed_factor
3. moved to the list above

4. update rapid brickset editor to better handle groups of bricks (actually, RBE2 has been made) - October 1st, 2012
5. create a .png for the new brickset of Sunshine Paradise
6. create the new brickset of Sunshine Paradise - go back to 5 if needed.
7. build the levels
7.1. act 1
7.2. act 2
7.3. act 3 (boss)
8. finishing the game
8.1. create an "end of demo" screen.
8.2. Update the title screen.
8.3. record a video of gameplay (will be put on the website)
9. develop a very very lightweight website for opensurge
9.1. develop the layout
9.2. develop the pages:
9.2.1. home
9.2.2. download
9.2.3. mods
9.2.4. guestbook (maybe)
9.3. get the donation system working
10. the finale
10.1. tell the translators to update their translations
10.2. move to opensurge.sourceforge.net and publish.

awwrgh, that's a lot.

Last edited by Alexandre (2012-10-03 01:03:41)

Re: keeping up the progress 'til 0.2.0

now working on
1. restore the bleeding edge system

Re: keeping up the progress 'til 0.2.0

If title music is needed, then this is what you get!

Re: keeping up the progress 'til 0.2.0

completed
1. restore the bleeding edge system
please update your boomarks: http://www.ime.usp.br/~alemart/opensurge_nightly/

now working on
2. a few more improvements to the engine code

jobromedia wrote:

If title music is needed, then this is what you get!

thanks!

Re: keeping up the progress 'til 0.2.0

But what IS the collision mask?...

Re: keeping up the progress 'til 0.2.0

SilverstepP wrote:

But what IS the collision mask?...

say you have a solid brick that looks like a "spikey" grass (the grass is very irregular). This affects the collision pretty badly: when walking on top of it, Surge will keep shaking. The collision mask solves this problem by considering some other picture file as the collision image, while the engine still displays the irregular grass on the screen.

this is the syntax:

brick <BRICK_NUMBER>
{
    type                OBSTACLE
    behavior            DEFAULT
    angle               0

    sprite
    {
        source_file     <BRICKSET_IMAGE>
        source_rect     <X> <Y> <WIDTH> <HEIGHT>
        frame_size      <FRAME_WIDTH> <FRAME_HEIGHT>

        animation
        {
            repeat      TRUE
            fps         8
            data        0
        }
    }

    collision_mask
    {
        source_file     <COLLISION_MASK_IMAGE>
        source_rect     <X> <Y> <WIDTH> <HEIGHT>
    }
}

got it?

in the collision_mask_image, magenta = rgb(255,0,255) pixels will be non-solid. You can adopt black pixels as solid, for example.

for whoever chooses to help on this, in the documentation it would be very helpful having a couple of images to explain the idea (one would display the brick; the other would display the collision mask). smile

Re: keeping up the progress 'til 0.2.0

got it?

Nope. But it sounds good anyways. Title music is coming along nicely. Will have it done later tonight. One request though. Don't cut up the title tune, keep it in it's entirety. I've done this for the sake of providing a demo so you can hear what to expect.

The quality will be vastly improved, the vocal in this song will be removed, as will the turntable effect. The song is much longer, around 4 minutes.

http://www.m4um.net/mp3/demos/Open_Surge_title.ogg

Re: keeping up the progress 'til 0.2.0

Alexandre wrote:
SilverstepP wrote:

But what IS the collision mask?...

say you have a solid brick that looks like a "spikey" grass (the grass is very irregular). This affects the collision pretty badly: when walking on top of it, Surge will keep shaking. The collision mask solves this problem by considering some other picture file as the collision image, while the engine still displays the irregular grass on the screen.

this is the syntax:

brick <BRICK_NUMBER>
{
    type                OBSTACLE
    behavior            DEFAULT
    angle               0

    sprite
    {
        source_file     <BRICKSET_IMAGE>
        source_rect     <X> <Y> <WIDTH> <HEIGHT>
        frame_size      <FRAME_WIDTH> <FRAME_HEIGHT>

        animation
        {
            repeat      TRUE
            fps         8
            data        0
        }
    }

    collision_mask
    {
        source_file     <COLLISION_MASK_IMAGE>
        source_rect     <X> <Y> <WIDTH> <HEIGHT>
    }
}

got it?

in the collision_mask_image, magenta = rgb(255,0,255) pixels will be non-solid. You can adopt black pixels as solid, for example.

for whoever chooses to help on this, in the documentation it would be very helpful having a couple of images to explain the idea (one would display the brick; the other would display the collision mask). smile

I honestly don't really see what this could accomplish that a passable brick and an obstacle brick together couldn't...

If the collision mask could work for OBJECTS and make them less 'fall through the ground' like, then it would be great.

Last edited by SilverstepP (2012-08-19 17:25:48)

Re: keeping up the progress 'til 0.2.0

it's a good feature, although in my opinion not completely needed, since one could use only a set of solids of all the needed shapes, and matching passable covers.

https://image.ibb.co/kuSYrm/SD_sml.pnghttps://image.ibb.co/kHq8P6/SeD_sml.pnghttps://image.ibb.co/cJf8P6/LTot_W_sml.png

Re: keeping up the progress 'til 0.2.0

I'll also help with the music, as well as level design, enemies, gimmicks etc.

Alexandre wrote:

cutscenes are out for now; the "premium zone" is also out

I've got an idea for that. I remember my friend playing a game called "Age of Empires". Along with the game, it came with two booklets: a manual and a story booklet. whenever you came to a part of a game, a message on the screen would say, "Turn to page such-n'-such" and you would turn to that page and read part of that story. So we could do that in 0.2.0, but instead of a booklet, we'd put .txt files in a "story" folder. And when it was time for a cutscene, the screen will say "Open ---.txt press any button when done reading." Also, I must ask this question: What's the Premium Zone?"

Last edited by S32X (2012-08-19 22:13:27)

Re: keeping up the progress 'til 0.2.0

Or we might even simplify it even further. We got the web decorator. Create the booklet on the wiki, and instruct the player to open and read that section on the wiki.

Title music will be delayed a bit into the week so I get the feeling as good as possible. It's 90% done, and I need some more time to get the finish just right.

Hey Alex, since this is a report blog then why not stick this topic? Or even better if available: Change it to an announcement.

Last edited by jobromedia (2012-08-19 22:25:21)

Re: keeping up the progress 'til 0.2.0

Questions:

2.5. "debug mode" for stage select

What?

9.2.1. home
9.2.2. download
9.2.3. mods

Do you mean "mods" as in forum moderators?

9.2.4. guestbook (maybe)
10. the finale

What are these?

Stuff That I can do:

create an "end of demo" screen.
record a video of gameplay (will be put on the website)

I'm glad things are picking up again. smile

Re: keeping up the progress 'til 0.2.0

Nope he means open surge game mods.

Re: keeping up the progress 'til 0.2.0

Oh, like MM and SGO and the old SDs

Last edited by S32X (2012-08-20 23:37:06)

Re: keeping up the progress 'til 0.2.0

Yep that's what he meant. Boy your mods will get a place on that page once they're finished. I'm sure about that. smile

Alexandre wrote:
jobromedia wrote:

If title music is needed, then this is what you get!

thanks!

There yo go my friend!

Last edited by jobromedia (2012-08-21 05:28:12)

Re: keeping up the progress 'til 0.2.0

Jobromedia wrote:

Boy your mods will get a place on that page once they're finished. I'm sure about that.

Wow. Thanks. That means alot to me.

Re: keeping up the progress 'til 0.2.0

jobromedia wrote:

There yo go my friend!

jobro,

Thank you. It's a very beautiful song, though a long one.

How much the file size would increase if you used a higher bitrate, say, 128kbps? Could you please submit such a version, so we can compare them?

SilverstepP wrote:

I honestly don't really see what this could accomplish that a passable brick and an obstacle brick together couldn't...

I do. Example: bricks with non-default behaviors.

Anyway, we'd highly appreciate having this properly documented. smile

Re: keeping up the progress 'til 0.2.0

Will properly convert the file to 128kb/s, but not tonight. Will do that tomorrow morning after say 7 hours of sleep.

Re: keeping up the progress 'til 0.2.0

Alexandre wrote:

I do. Example: bricks with non-default behaviors.

Could you be a bit more specific?

20

Re: keeping up the progress 'til 0.2.0

he means as in linear and circular motions, breakables, falling bricks... some of these behaviors probably won't work well with the solid+passable strategy. Flying platforms is one thing, breakables and falling bricks depend on collision, which i think is disregarded when the brick is passable. still not a great deal, but i can see a purpose to the feature.

https://image.ibb.co/kuSYrm/SD_sml.pnghttps://image.ibb.co/kHq8P6/SeD_sml.pnghttps://image.ibb.co/cJf8P6/LTot_W_sml.png

Re: keeping up the progress 'til 0.2.0

Yes, Very Hard to do. You try to make a grassy platform that moves back and forth, phtt! Forget about it.

Re: keeping up the progress 'til 0.2.0

I just want to say that I've encoded the theme song into 128 kb/s

http://tindeck.com/image/xald/stats.png

23

Re: keeping up the progress 'til 0.2.0

well, you know that collision mask thingy, well, how about running the full mile and porting that to players and objects? that would be a sure fix for about 99% of common collision problems like when the engine computes an odd collision shape for PPC (per pixel collision)

https://image.ibb.co/kuSYrm/SD_sml.pnghttps://image.ibb.co/kHq8P6/SeD_sml.pnghttps://image.ibb.co/cJf8P6/LTot_W_sml.png

Re: keeping up the progress 'til 0.2.0

KZR wrote:

well, you know that collision mask thingy, well, how about running the full mile and porting that to players and objects? that would be a sure fix for about 99% of common collision problems like when the engine computes an odd collision shape for PPC (per pixel collision)

^ This.

Changing player collision with built-in items and other things can't really be scripted, so this actually would be really useful.

And even if it could be, collision in this manner would be used so much that it would literally cut the required objects in half and thus make the game more compact and better to run. We need this to be done, especially for player collision with anything built in or unchangeable via scripting, because some animations can cause some weirdness to occur.

Last edited by SilverstepP (2012-08-24 17:35:31)

25

Re: keeping up the progress 'til 0.2.0

my take is you'd only need to load a second sprite definition, and every time the visible sprite did an animation, the invisible collision sprite would do the same.

both sprites' definitions would be exactly the same, the only difference is the source image. one is the actual character, the other is a 2-color mask, edited manually to give the best collisions in every situation.

It would also be of huge help if for debug purposes the computed collision shapes were visible

Last edited by KZR (2012-08-24 17:37:36)

https://image.ibb.co/kuSYrm/SD_sml.pnghttps://image.ibb.co/kHq8P6/SeD_sml.pnghttps://image.ibb.co/cJf8P6/LTot_W_sml.png