don't click here

Official PROSONIC Topic

Discussion in 'Fangaming Discussion' started by saxman, Apr 5, 2007.

Thread Status:
Not open for further replies.
  1. ICEknight

    ICEknight

    Researcher Researcher
    You know, it would be amazing if you could also export levels to the Megadrive formats. Only when you use the proper mapper size, palletes, etc, of course.
     
  2. Chimpo

    Chimpo

    Member
    7,321
    8
    18
    Atomic Sonic Part II
    The outline did a very nice job of explaining most things, although I would really love hearing more about how the art is handled in this.

    One of the things I'm annoyed when modifying the genesis games is the amount of limitations, so I'm wondering if you can clear a few things up for me here.

    Character Sprite Objects:
    How exactly are you handling this? Will you be doing it with the dreadful tile format, or will it be an image? I honestly find editing a character sprite tile by tile to be a pain in the ass and very limited due to the amount of time it takes and tile mappings. If you are going with the tile route, will this at least be easier to work with?

    Are there any limitations in size, colors, frames for an animation? A little more freedom with these can go along way. I honestly hate working with using only a limited amount of frames or sticking to a certain size without having to use another tool in order to fix it the way I want it.

    How many objects can be displayed onscreen at once? I don't really find this important, but for shits and giggles I just want to know.

    Since you're apparently going with an MS Paint feel for the sprite editor I won't really ask anything here, but I sure do hope you guys nail the MS Paint feel since I believe it's one of the best tools for pixel art. The only thing I would really ask for is some sort of preview tool for the animations.

    Level Art:
    Now tiles for levels I don't mind, but again are there any limitations in the colors, size (Do I have to use 8x8, or can I go 16x16? ) and having to use a limited number of tiles or chunks??

    Can we use images for the background itself? Since I find getting the amount of detail that I want with tile art to be annoying as hell. Basically, recreating what the Kirby games for the GBA did:

    [​IMG][​IMG][​IMG]

    Exactly how many layers do we have to work here? One of the things I love in games is the multi-layer scrolling, both background and foreground,it brought a certain depth to the games that I really loved.

    Since apparently you're using chunks here, how exactly are the chunks edited? Are they done in a seperate window or what? That's one of the many things I hate about SonED. Is there anyway you can place a chunk in the level and also edit the chunk itself while still in the main level editor? Not only do I believe this will ease the process but also allow it to be more flexible when editing levels. I seriously hate going back and forth when editing my chunks in order to get the pieces to fit.

    That's about all I can come up with for now.

    Also, a PSP port of this would be sweet. I know that commercially the PSP isn't very well liked, but the homebrew scene is a completely different story. A PSP port of this and the ability to use the full resolution on the PSP would be fucking awesome. Would love it alot better then a DS port, since I would have to actually get a flash card for that, not to mention no widescreen.

    That about does it.
     
  3. saxman

    saxman

    Oldbie Tech Member
    Wow, lots to respond to!


    I've side-stepped this because it conflicts with the ProSonic strategy. My plans are to move as many people away from MMF, writing custom engines, and ROM hacking as I possibly can and get people to use this engine. I want this to be a solution for all. It'll never replace the research and discoveries of ROM hacking, but it will do everything people expect from a Sonic game engine.

    If I make it so level data can be taken from ProSonic back to a ROM, it makes it harder to achieve this. Plus since ProSonic uses more advanced tile method (as far as colors are concerned), it would be very difficult to take it backwards to the ROM.


    They'll be fully constructed images. For technical information on the sprite format currently being handled by ProSonic, visit my other topic. It combines animations and sprites into a single file.


    Sprites will be done in an 18-bit color format. Depending on the mode ProSonic runs in (8, 15, or 16-bit color) will determine how they will look on the screen. With the ProSonic sprite format, you are allowed to have a maximum sprite "sheet" size of 32767x32767 (very large). In addition, depending on how the art is arranged on the sprite sheet, it can be optimized for space by sharing previously used art data. So it's really only limited to what you can get on the sprite sheet. But the chances of anyone maxing out the sprite sheet aren't very high at all.

    You're limited to 65535 animations per sprite file, and each animation can have up to 255 frames. Animation speeds can range from 16.67ms (1/60 -- extremely fast) to 4.25s (255/60 -- extremely slow). There's plenty of flexibility in the sprite/animation department :(


    Currently the limit is 128. That's for just one player... I'll either split it for multiple players, or I'll increase it for multiple players. Obviously the more objects allowed on the screen at once, the more memory that is required. 256 bytes are used for this, so there's plenty of room for expanding if needed, that is if the processor can handle it without slowing down.


    I'm hoping you're right =) I want a good sprite editor myself.


    I'm not sure what you mean by chunks... I'm 'guessing' you're refering to the 16x16 blocks. ProSonic calls them "blocks", but I suppose there's not really any correct terminology for them since they're not quite tiles and certainly not sprites.

    In the original Sonic games, there were 3 steps -- 8x8 sprites, 8x8 sprites coming together to form 16x16 blocks, and then 16x16 blocks coming together to form the level tiles (either 256x256 or 128x128).

    ProSonic uses only 2 steps -- the art for the tiles is done entirely in 16x16 blocks. These are fused together to create the level tiles. The level designer has a choice of what size he/she wants to use for the particular level they're working on. ProSonic supports 256x256, 128x128, 64x64, and 32x32 tiles. I wanted to do this because various people I've spoken to during the development of ProSonic have different opinions. Some people like smaller tiles, while others like larger tiles. So I figured it'd be neat to allow the level designer to pick what size a level should use.

    As far as being limited to how many tiles or blocks are available, ProSonic addresses up to 14-bits for blocks. This is 2 more bits than the Sonic games for Sega Genesis. 14-bit allows you to have 16,384 blocks to use. ProSonic also allows you to have up to 65535 tiles. Now of course these numbers are insane, but I am allowing this much flexibility to ensure that people can do everything they could ever possibly want to do with the engine.

    And don't worry about having to construct those 16x16 blocks by hand. It's optional for advanced users, but my "EZ Tile" utility can read a fully drawn tile from a image file on your hard drive, break it into 16x16 blocks, import the blocks, and construct the mappings all for you. So it's made to be easy.


    The engine uses tiles to construct the background just as the Sonic games on Sega Genesis did. But you can draw a full background and use EZ Tile to break it up into seperate tiles for you.


    ProSonic uses 3 'true' layers, but it simulates paralax scrolling using a filter. The 3 layers are labeled L, H, and B (low, high, and background). Sprites share these layers with the tiles.

    The filters use what I call 'cells'. A cell is basically a virtual layer that allows you to select what area of the background to draw in it, and apply attributes to each cell to create scrolling effects and such.


    EZ Tile will help you out a lot!


    Thanks for the questions!
     
  4. Aurochs

    Aurochs

    Единый, могучий Советский Союз! Tech Member
    2,343
    0
    0
    Whatever catches my fancy
    I actually came up with a naming system for these that's far less cumbersome than using their dimensions: 8x8 tiles are simply called tiles, 16x16 tiles are "blocks", and 128x128 and 256x256 block groups are called "metablocks".

    I don't expect these conventions to be widely adopted, since the old size references have been in use at least as far back as the Nemesis guides. It's difficult to change old memes.
     
  5. Chimpo

    Chimpo

    Member
    7,321
    8
    18
    Atomic Sonic Part II
    Impressive, very impressive. With everything you layed out here that's more then enough to work with. I can't wait till the release.
     
  6. Ultima

    Ultima

    Games Publisher Tech Member
    2,398
    1
    18
    London, England
    Publishing mobile games!
    Sounds funky. Will this purely be a Sonic game engine, or will it be adaptable to make, say, mario games?

    EDIT: I know the answer may be obvious from the name of the engine, but eh. Worth asking, no?
     
  7. ICEknight

    ICEknight

    Researcher Researcher
    Hence the

    Would it really be too difficult to export levels that don't make use of ProSonic's "more advanced tile method"? After all, it can import, so it understands those formats.

    It would be a shame if it wasn't possible, since this could make the ultimate level editor.
     
  8. saxman

    saxman

    Oldbie Tech Member
    In reply to Ultima, this engine will be able to be used to make non-Sonic games. ProSonic is the name I'm using to promote it in the Sonic community since that's where my focus is. But that's not to say it couldn't be used to make a Mario game or something. The physics and such will likely be put into the scripts. The only thing that would be built into the engine itself would be the constants used for the calculations.

    In reply to ICEknight, the reason I call it a more advanced tile method isn't to make it sound hyped. What it means is because you have a 256 color palette with 16x16 blocks able to use ALL the colors in the palette, it makes it hard to accomodate for this. The Sega Genesis would only allow 16 colors per sprite, which is far less than 256 (or 32k / 64k for high-color modes). It's true I could have a Genesis simulation mode where the tiles and such would act like the old games with the same limitations, but it's an awful lot of work for a feature I doubt many people would bother to use in the first place. But again, I don't want ProSonic to support ROM hacking, I want it to do the opposite.
     
  9. Rolken

    Rolken

    Tech Member
    I'm not seeing the point in backporting stuff from ProSonic to Genesis; it's like buying a new computer and asking if there's a socket for a Pentium 2. If ProSonic actually gets to the point of being a superior editor, it'd trump genny crap in every way anyway so why would you want to be restricted to the capabilities of 1990-era tech?
     
  10. Chimpo

    Chimpo

    Member
    7,321
    8
    18
    Atomic Sonic Part II
    For shits and giggles I suppose?

    I'm not sure if this was asked, to lazy to check, but will the engine support sprite rotation and scaling? Sort of like the last few games on the SNES like Yoshi's Island bosses.

    Because that would be sweet.
     
  11. saxman

    saxman

    Oldbie Tech Member
    Yep, and for one big reason -- Sonic CD and Knuckles' Chaotix use sprite scaling (don't remember if they use rotating, but this will be supported too). Scaling will have to also be supported since my engine has the zooming feature. It wouldn't make sense to zoom in and out of the level without applying the zoom to the sprites as well.

    And sprite rotating will also be supported. The engine will support up to 256 rotation angles. At one point I thought about allowing the entire level to rotate. This would be an interesting feature that could be used in many different ways, but I am not sure that it's really necessary... will people actually WANT to rotate their levels for any purpose at all?
     
  12. stormislandgal

    stormislandgal

    It's not a phase! Tech Member
    4,533
    10
    18
    Married life <3
    I once had an idea for a sonic game to have the level rotate, but Sonic's sprites never rotated at all... it wasn't that great though, and that's the only reason I'd see for rotating a level, unless you do something like at the end of Super Metroid where the elevator shaft "tipped" to give the feel that the place was falling apart.

    Hey, Tweaker even has a visual. =P
     
  13. Tweaker

    Tweaker

    Misfit
    12,389
    1
    0
    <!--quoteo(post=163684:date=Apr 13 2007, 06:08 PM:name=saxman)--><div class='quotetop'>QUOTE (saxman @ Apr 13 2007, 06:08 PM) [​IMG]

    =P
     
  14. saxman

    saxman

    Oldbie Tech Member
    I thought of that, but I think people would get headaches after a while.
     
  15. Hivebrain

    Hivebrain

    Administrator
    2,996
    98
    28
    53.4N, 1.5W
    Github
  16. Mystical Ninja

    Mystical Ninja

    For old time's sake. Oldbie
    3,342
    5
    18
    New Castle, Delaware
    Nothing that concerns this place in the least.
    Wow, that's actually pretty cool. It's a lot like the rotations of that "Fish-Eye" camera that was used for Sonic X-Treme.
     
  17. nineko

    nineko

    I am the Holy Cat Tech Member
    6,170
    412
    63
    italy
    Make new kinds of gravity switchers more complex than Death Egg's ones. Maybe using rotation as well.
     
  18. stormislandgal

    stormislandgal

    It's not a phase! Tech Member
    4,533
    10
    18
    Married life <3
    So, gravity like this?:

    Code (Text):
    1. ___.
    2. ../|
    3. /..|
    something like that general (and crappily texted) direction?
     
  19. nineko

    nineko

    I am the Holy Cat Tech Member
    6,170
    412
    63
    italy
    Yes. Walk on the walls :D
     
  20. Upthorn

    Upthorn

    TAS Tech Member
    239
    0
    0
    If you know how to do it, you might as well support it anyway, just because it could be an interesting gimmick.
     
Thread Status:
Not open for further replies.