1

(2 replies, posted in Off-topic)

KZR wrote:

FM radio is a complex form of frequency modulation, as the number of modulations (number of times the original wave was transformed) is very high and can reproduce virtually any sound.

FM radio is not like an FM synth.

It simply stores the current amplitude of the (pre-existing, non-synthesized) sound wave as a deviation from the base frequency. And to decode it, you simply convert the difference between the base frequency and the current frequency to a voltage level, and connect it to a speaker. It does not somehow synthesize the sound of the original recording using FM synthesis.

What good is the script without the image of the character?

3

(26 replies, posted in General)

SilverstepP wrote:

But that looks too complex for me right now... I don't have any knowledge (yet) on how to program or do anything like this. I'm only good at scripting.

Using a version control system does not require knowledge of programming. And they can be used for anything, not just software projects.

4

(26 replies, posted in General)

Alexandre wrote:
SilverstepP wrote:

Yes, I'm making plenty of backups (I have so many releases on this computer its not even funny). I'm finally getting some momentum on this mod thanks to your upgrades to the engine. The characters now have their own unique moves.

There's a thing called Subversion that allows you having multiple releases of a project in a safe and organized fashion. It means that, if your hard-drive crashes, you'll have your project safe somewhere else.

sourceforge, google-code and xp-dev.com provide such a service for free. sourceforge and google-code require you to open your scripts while they're in development, but xp-dev.com does not.

Personally I'd recommend git instead of Subversion. It's much more versatile and it's what's called a distributed version control system, which means that there doesn't have to be a central server, everyone has their own full repository that can be "pushed" to others (including a "central" repository on a server).

Alexandre wrote:
d1337r wrote:

It would be nice if someone would draw the character art for my goal sign sprite templates or for the title screen.

These are good templates. Thanks for sending them. smile

He has posted them at least 3 times before in different threads already.

I like d37337r's goal sign much better.

Also, if someone will be willing to draw the characters in it I can make a sign that matches the "goal ahead" sign I made.

Alexandre wrote:

the little animals were taken from supertux and, according to d1337r, it's a "very temporary" replacement.

I agree, it's very weird that enemies from a different game appear when you break enemies in this game. smile

I thought that there are only 2 ripped images left to replace?

9

(14 replies, posted in General)

You execute the file called "opensurge-brickset-editor".

And I wrote it in Python becasue it's far easier than C++ (Qt's native language).

10

(3 replies, posted in General)

Alexandre wrote:

TAre you in?

Maybe. I'm not a very good artist, but I always wanted to try making a brickset and level.

The most confusing thing for me are the ground bricks, especially if they have a pattern that has to be aligned right to fit. There's no problem with only 45° bricks, but if you have a 22.5° brick, it means the next brick will have to be moved down half a brick's height (not whole), throwing off the pattern.

11

(3 replies, posted in General)

What bricks do I need, what shape should they be, and how should they align? And in the template level brickset, why are there different bricks for inner and outer loops, even though they look the same?

Also, I would like to learn more about making artwork and designing levels, but when I search "level design tutorial" all I get is how to use 3D level designers, when I search "how to draw tiling patterns" I get tools to design ceramic tile layouts, etc.

12

(14 replies, posted in General)

I found that the problem is in read_file in brickutils.py.

It seems as if the regular expressions just aren't matching with Python 2.

13

(14 replies, posted in General)

Alexandre wrote:

- the README is misleading. When you do what it tells you to, the program won't run, since it won't find the modules mainwindow_ui.py and brickeditorwidget_ui.py. It's a typo.

That's easy to fix. I will do it soon.

Alexandre wrote:

- I couldn't open any bricksets (and I defined the game directory correctly).
- My Python isn't 3, but 2.6.6, installed via apt-get

I tried with Python 2, and it doesn't open bricksets. Maybe I can figure something out by reading a few Python 2 to 3 migration guides.

And note that you don't need to define the game directory to open bricksets. It's only purpose is to serve as the path relative to which the bricks' source image is. If you don't define it, it will work, but there will be no image.

14

(14 replies, posted in General)

CharlyTx wrote:

It is great and useful! The design of the app is modern and beautiful

Will I have any problem with python 2?

Try it!

15

(14 replies, posted in General)

Here's the screenshot of the newest version:

http://piczasso.com/i/88918.png

The "Source Rect Pos Increment" spinbox at the bottom sets how much the arrows on the source rect x/y spinboxes change the value. It's very convenient for bricksets that have the same size bricks in a grid in the source image.

16

(14 replies, posted in General)

Alexandre wrote:

Can you please upload the screenshot to a new host?

We can only see a frozen frog in here, due to ImageShack's stupid new policy of blocking domains, demanding people to send them their e-mails if they ever want to see their images again.

OK.

I'll update the screenshot, too, since I did a lot of changes to the main window. It looks almost like a real, polished application now!

jobromedia wrote:

Looks really nice! Can someone compile this for Windows?

Python isn't compiled, it's and interpreted language.

Theoretically it should work perfectly if you have Python and PyQt installed.

17

(14 replies, posted in General)

I threw this together in the last 2 days using Python and PyQt4:

http://img191.imageshack.us/img191/1503/brickseteditorscreensho.png

I made it because I wanted to create a  new brickset, but Rapid Brickset Editor is too limited and Celdecea's brickset editor is written for Windows (I use Linux).

I haven't tried making a new brickset with it yet, but it seems to work fine when modifying existing ones.

Even though Python 2 is the most commonly included version in most systems now, I wrote this in Python 3 both to be future proof and because Arch Linux (my favorite distro) has already adopted Python 3. It might work in Python 2, but I haven't tried it.

And besides Python, you also need PyQt4 (Python bindings for the Qt user interface toolkit) to use it.

https://github.com/MTK358/opensurge-brickset-editor

Remeber, the parser that reads the files here is NOT nanoparser, it's just a quick and dirty function using regular expressions. If it mangles your existing brickset file that you spent ours making by hand beyond recognition, you've been warned. smile

If you're modifying and existing brickset, I recommend you back it up under a different name.

18

(0 replies, posted in General)

How to make an object play a looping sound effect in a certain state?

I tried creating separate sound effect objects that play a looping sample, but they keep playing once destroyed (a bug, possibly?).

19

(18 replies, posted in General)

KZR wrote:

my guess would be adding an invisible square detector to charge and surge, so that when neon is flying and colliding with a detector, the belonging character changes animation to "carried" and has its x and y speeds set to those of neon.

But there's a separate carrying animation for Neon, how would you do that?

20

(30 replies, posted in General)

And in the wiki it says that the one for Surge should be blue, the one for Neon be yellow, and the one for Charge red?

Shouldn't it be changed to orange, brown, and gray to reflect the colors of the new characters?

21

(18 replies, posted in General)

I made it just about perfect now. I decided to only call sringfy_player once when starting to fly, otherwise when landing and moving sideways it would show Neon's spring animation instead of walking until you come to a stop. Also, I added conditionals so that the speed is only changed if you aren't going up faster than the flying speed already. That makes it so that you bounce off a spring when flying instead of slowly oscillating on its surface.

Just one thing missing is carrying, but I have no idea how to do that.

object ".neon_flight_controller"
{
    requires 0.2.0
    always_active
    
    state "main"
    {
        let "$FLYING_UP_SPEED = -75"
        let "$FLYING_DOWN_SPEED = 100"
        let "$TIRED_DOWN_SPEED = 125"
        let "$FLYING_MAX_TIME = 5"
        
        hide
        observe_player "Neon"
        change_state "standby"
    }
    
    state "standby"
    {
        let "$time = 0" 
        on_player_in_the_air "air"
    }
    
    state "air"
    {
        on_button_pressed "fire1" "initialize flying"
        on_player_in_the_air "air"
        change_state "standby"
    }
    
    state "initialize flying"
    {
        springfy_player
        change_state "flying up"
    }
    
    state "flying up"
    {
        set_player_animation "SD_NEON" "18"
        set_player_yspeed "cond($FLYING_UP_SPEED < player_yspeed(), $FLYING_UP_SPEED, player_yspeed())"

        let "$time += dt()"
        if "$time >= $FLYING_MAX_TIME" "tired"
        on_button_down "fire1" "flying up"
        change_state "flying down"
    }
    
    state "flying down"
    {
        set_player_animation "SD_NEON" "18"
        set_player_yspeed "cond($FLYING_DOWN_SPEED < player_yspeed(), $FLYING_DOWN_SPEED, player_yspeed())"
        
        let "$time += dt()"
        if "$time >= $FLYING_MAX_TIME" "tired"
        on_button_down "fire1" "flying up"
        on_player_in_the_air "flying down"
        change_state "standby"
    }
    
    state "tired"
    {
        set_player_animation "SD_NEON" "19"
        set_player_yspeed "cond($TIRED_DOWN_SPEED < player_yspeed(), $TIRED_DOWN_SPEED, player_yspeed())"

        on_player_in_the_air "tired"
        change_state "standby"
    }
}

22

(22 replies, posted in Game assets)

Good.

Here's the left-facing one, too:

http://upload.surgeswarehouse.com/upload/goal-sign.png

23

(22 replies, posted in Game assets)

I tried putting it in the game, and I think it fits pretty well.

24

(22 replies, posted in Game assets)

How about this:

http://upload.surgeswarehouse.com/upload/Monday21stofFebruary2011023540AM.png

To make it fit in better, I used the gradient from d31337r's message boxes and took the letters from the "images/font.png" file in the game directory.

25

(22 replies, posted in Game assets)

I mean just the frame, before I try to add test.