don't click here

What do you want to be able to program?

Discussion in 'Engineering & Reverse Engineering' started by LOst, Dec 2, 2004.

What do you want to be able to program?

  1. Enemies (buzz bomber, motobug, etc..)

    0 vote(s)
    0.0%
  2. Power-ups (rings, monitors, emeralds, etc)

    0 vote(s)
    0.0%
  3. Obstacles (breakable stones, springs, spikes, master emerald, etc)

    0 vote(s)
    0.0%
  4. Advanced (swinging platforms, moving/falling platforms, balls n chain, etc)

    0 vote(s)
    0.0%
  5. Bosses

    0 vote(s)
    0.0%
Thread Status:
Not open for further replies.
  1. StephenUK

    StephenUK

    Liquor in the front, poker in the rear Tech Member
    1,678
    0
    16
    Manchester, UK
    Quackshot Disassembly
    I'll go for powerups, but I'd prefer to learn how to add more playable characters.
     
  2. magraimon

    magraimon

    A superficial anomaly of the human psyche! Member
    Second BUMP:

    I think learning objects would be most beneficial.
    New bosses are fun, but objects mean new ways to design levels, which lead to more fun overall.
     
  3. Sonic Hachelle-Bee

    Sonic Hachelle-Bee

    Taking a Sand Shower Tech Member
    812
    204
    43
    Lyon, France
    Sonic 2 Long Version
    ...and a pogo spring monitor (like Sonic Triple Trouble), Sonic walking on the ceiling (like DEZ2 under S3&K), rain rising water (but I think I have the answer), multiple bosses under the same act (should be easy too), and then how to make easily dynamic patterns reloading (like the cliffs in the background of HTZ).

    Okay, this may be a bit too much and off the poll, but that's what I'm looking for.
     
  4. Arctides

    Arctides

    I am a bloated bag of hate. Oldbie
    Bosses. I want the Egg Dragon to live!!!!
     
  5. LOst

    LOst

    Tech Member
    4,891
    8
    18
    You are all crazy wanting to program bosses. That's a hell of a work!

    Bosses takes days! Enemies take hours. I did Splats in Sonic 1 under 20 minutes. And I have programmed for years! Some of you that vote don't even know how to move something across the screen.
     
  6. Sonic Hachelle-Bee

    Sonic Hachelle-Bee

    Taking a Sand Shower Tech Member
    812
    204
    43
    Lyon, France
    Sonic 2 Long Version
    I can move the background. :D

    Remaking the lost sprites of S2Beta under S2 is very easy when you know where to search under S2Beta and where to change pointers. Making a whole new sprite starting from nothing is obviously much more difficult.

    As far as I know, bosses aren't a huge single sprite. They have several little sprites working together, each one having a relative position on screen from a 'main' sprite. If you want to program a boss, you have to find how to make them work together, like if they are making a very and single huge sprite. And that's the hardest part I think.

    Correct me if I'm wrong, because I'm not sure of that.
     
  7. Hivebrain

    Hivebrain

    Administrator
    3,050
    166
    43
    53.4N, 1.5W
    Github
    Bosses consist of 3 parts - the main ship, Eggman's face and the flame; plus the boss' weapon (eg. GHZ swinging ball). Personally, I don't like how the bosses are programmed, so I'm going to make bosses from scratch in SIA.

    If you don't let anyone play your Splats hack, then that 20 minutes was wasted.
     
  8. LOst

    LOst

    Tech Member
    4,891
    8
    18
    Oh, I haven't thought about that :P
     
  9. Sky Shark

    Sky Shark

    Member
    124
    0
    0
    Sonic 1 Rehash - I'm not saying its canned, I'm planning on some work on it this summer.
    I voted on objects becuase the more objects you can program the more possiblities are opened in level design.(ex switches that collapse brindges or those spring things from Sonic CD's Stardust Speedway.). My second choice I would have voted for was enimies becuase they can give a new challage to players seeing as they would never had encountered an orignal badnik in play before.
     
  10. Logan

    Logan

    Pending Member
    31
    0
    0
    Cisco Networking CCNA2
    bosses that would be cool
     
  11. LOst

    LOst

    Tech Member
    4,891
    8
    18
    There is one problem!
    No matter how much you want to do a boss, you need to know how to do basic programming. (the standard IF and GOTO stuff if we are talking Qbasic here, but I really mean basic programming and not a specific programming language)
     
  12. McGuirk

    McGuirk

    The Egg-Man Cometh. Member
    I have a feeling that boss programming involes a lot of that bastardly VDP...

    But beyond that, the basics of programming aren't that hard to understand. It won't be some huge learning blockade to overcome :P

    However, VDP is...

    Anyways, Teach us oh great Teacherer!


    Sidenote: Oh joy of joys! Me first post as a member! :shocked:
     
  13. LOst

    LOst

    Tech Member
    4,891
    8
    18
    I got great news for you! No VDP is needed when you program any object in Sonic 1, 2, 3, K.

    You just follow some rules about ititializing graphics and stuff, and the rest of the Sonic engine takes care of the VDP stuff for you.
     
  14. McGuirk

    McGuirk

    The Egg-Man Cometh. Member
    *splooges all over the keyboard*

    Now that IS good news.

    But in all seriousness,

    You lost me right there :)
     
  15. LOst

    LOst

    Tech Member
    4,891
    8
    18
    It's just two lines of code really.
    One to tell where to look for art in VRAM. It's a little number. And one for telling what mappings to use (usually a label to your own mappings created with LOst Library)

    If you know what this code does, you won't have a problem programming a boss:
    Code (Text):
    1. btst #7,d0
    2. beq.s WOOOO!
     
  16. McGuirk

    McGuirk

    The Egg-Man Cometh. Member
    LOst Library eh? I was wondering what that thing was...

    *goes to check it out*
     
  17. LOst

    LOst

    Tech Member
    4,891
    8
    18
    Yea, LOst Library is used for making sprites, since no other tool can do that.
    Since the only problem making a new object in Sonic required doing mappings, I made this tool.
     
  18. McGuirk

    McGuirk

    The Egg-Man Cometh. Member
    So in your sample:
    Code (Text):
    1. btst #7,d0
    2. beq.s WOOOO!
    "btst #7,d0" - no clue what that does...something with the register.

    "beq.s WOOOO!" - The "Woo" should be the location of the mappings in the ROM? (maybe a pointer?)
     
  19. Sonic Hachelle-Bee

    Sonic Hachelle-Bee

    Taking a Sand Shower Tech Member
    812
    204
    43
    Lyon, France
    Sonic 2 Long Version
    Code (Text):
    1. btst #7,d0
    2. beq.s WOOOO!
    Test bit 7 of data register 0, set Zero condition code apropriately.
    If Zero condition code is set into the status register, then branch to ProgramCounter+WOOOO!

    In hex:
    08 00 00 07 67 WOOOO!
     
  20. LOst

    LOst

    Tech Member
    4,891
    8
    18
    btst is used to test the bit in a byte. In this case it checks the most significant digit (the highest bit) which means it checks to see if the value in that byte is a positive value, or negative value.

    The beq jumps to the label WOOOO! if the most significant digit was zero. This means it jumps if the whole byte was counted as a positive value.
    But this code is used to see if if the boss is about to explode (be destroyed)

    btst can be used for a lot of things. Not just check posotive or negative values. It can check for odd or even values. This code checks for the least significant digit to see if the byte value in D0 is odd:
    Code (Text):
    1. btst #0,d0
    2. bne.s VALUE_WAS_ODD
    But this code could also be used to see if the boss is going to the left, or to the right.

    You see, if you know these stuff, it will be easy as hell to do a boss.
     
Thread Status:
Not open for further replies.