don't click here

Help Wanted -- ProSonic Related

Discussion in 'Fangaming Discussion' started by saxman, Mar 27, 2007.

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


    Oldbie Tech Member
    Thinking over my social situation and the fact that I've made some promises to people about ProSonic (as well as to myself), I don't wish to put an end to ProSonic. I do feel I need to relieve pressure off my shoulders to allow me to try and "get a life". So I have an idea... not sure how well it'll work, but I'm going to give it a go.

    I am posting this for jobs I would like to see filled. The job I have in mind right now is a sprite editor. I don't have the time nor patience right now to design a sprite editor for my engine, but I do need one. So I'm wondering if any of you programmers out there would be interested in designing a sprite editor. The sprite format used by my engine is a custom format I designed myself. Below is a quick outline of the format:

    Code (C):
    1. ProSonic-NE
    3. .
    4. // The sign bit is a flag bit that can be used for various things.
    5. .
    6. unsigned short  NumberOfSprites         //
    7. unsigned short  NumberOfAnimations      //
    8. signed short    SpriteSheetSizeX        // flag: ?
    9. signed short    SpriteSheetSizeY        // flag: ?
    10. .
    11. Data[NumberOfSprites]
    12. {
    13.     signed short        SpriteSizeXL    // flag: mirror
    14.     signed short        SpriteSizeXR    // flag: ?
    15.     signed short        SpriteSizeYT    // flag: flip
    16.     signed short        SpriteSizeYB    // flag: ?
    17. }
    18. .
    19. Data[NumberOfAnimations]
    20. {
    21.     unsigned char       NumberOfFrames  //
    22.     unsigned char       AnimationSpeed  //
    23.  .  
    24.     Data[NumberOfFrames]
    25.     {
    26.         unsigned char   Sprite          //
    27.     }
    28. }
    29. .
    30. .
    31. .
    32. Sprite data (size = SpriteSheetSizeX * SpriteSheetSizeY)
    33. .
    34. ByteC = 8 bits // if > 0, use color cycler instead of RGB color
    35. ByteR = 6 bits
    36. ByteG = 6 bits
    37. ByteB = 6 bits
    38. .
    39. Total = 18 bits per color
    40. .
    41. .
    42. .
    43. When RGB value is FFFFFF, don't draw the pixel. Otherwise, always draw it.
    The format is called simply 'PSF' (ProSonic Sprite Format). Anyone interested in making a sprite editor to create sprites using this format would be spiffy. I have some sprites I created by hand to use as examples. I have attached them to this post.

    As far as getting them to work with ProSonic, don't worry about that part because I've already done that. I'll make the stuff work, I just need tools designed! This sprite editor is where I'd like to start.

    Attached Files:

  2. nineko


    I am the Holy Cat Tech Member
    I *may* take a look at this if I can find some free time. No promises, since my job is taking a lot of my time. But I already designed editors like this so it wouldn't be hard for me.
  3. SGR


    Give me the gams. Member
    I'm not sure if you already know, but PSF is already used for Playstation Music rips. Might I suggest just PSS instead?
  4. Athelstone


    Saxman, I really respect the work you've been doing on Pro Sonic. You really have done a fantastic job with it. Real-life stuff is of course much more important than these hobbies we partake in.

    I'd just like to say; there's really no need for you to feel guilty if you were to decide to let Pro Sonic go. I've started many projects in the past and left them unfinished myself. There's no need to think that it was "all for nothing" if a project doesn't get done. It doesn't matter what other people think; in life we all learn and progress by experimenting and playing around with projects. You always learn something about yourself along the way, even if it doesn't get finished.

    What I'd really like to say is this;

    It seems to me that Retro Sonic and Pro Sonic are extremely similar projects. And as things stand now, Taxman has already done most of the work already needed for a scalable Sonic game-engine of this sort. Therefore it seems to me that efforts could perhaps be better spent if everyone (the sonic hacking community) combined their resources and worked with the Retro Sonic Level development kit once it is released. I think it would be actually be quite exciting to see this happen.

    There are many advantages to this strategy. Most particularly; rather than one person carrying all the burden of developing a Sonic game (an unfeasible and unrealistic task!) the efforts of the hacking community could be synthesized in order to create a project that could truly flourish, as it deserves. I've observed the Sonic hacking community for a long time and one thing I have noticed is that while there is a fantastic variety of talent here, each person tends to have their own separate project. This is an excellent thing when it comes to creating original Sonic roms.

    However, with Retro Sonic there is no need for this anymore. The Sonic engine physics are already there for everyone to use as a foundation, along with Taxman's level development kit for everyone to use. Additionally, since Retro Sonic is a Win32 executable everyone can finally break free from the limitations of rom hacking. As I understand it, Taxman may hopefully even include a full screen multiplayer netplay component - something that can never be achieved with rom hacking.

    In conclusion, my proposition to both Saxman and the Sonic hacking community is simply as follows. That once the Retro Sonic level development kit is released, Sonic hackers unite by creating original levels for it, as well as porting all of the original Sonic zones from Sonic 1- 3k & Cd. In this way, we can all revive the exciting and addictive gameplay from the original game series for all to enjoy via multiplayer netplay. A "Retro Sonic Resurrection" (RSR) if you will.

    I'm interested to know what members of the community think about this.
    Best regards.
  5. Rockman Zero

    Rockman Zero

    Hello there, my little friend. Member
    Videos for Hellfire Commentaries.
    As of right now, Retro-Sonic is a fangame of its own (Just look at the Dreamcast concept build), and in my opinion is more complex to create levels than what Saxman plans for ProSonic. ProSonic is game engine being developed to improve the quality of Sonic fangames.

    I like the idea of integrated level editing and stuff. Saxman is going beyond Retro Sonic and is shooting for 100% Genesis/Mega Drive replication of Classic Sonic (S1-S3K, Chaotix, SCD) with no limitations.

    Haven't you even read the FAQ?

    Saxman, I can't wait to see what you have in store for us with ProSonic, and I hope you take it easy with your social life.
  6. saxman


    Oldbie Tech Member
    I like the suggestion, but I have to say ProSonic has different goals than Retro Sonic. I know the goals aren't as obvious, but I'm moving in a different direction than him. His is more of a Sonic clone, whereas mine is trying to be the real thing with enhancements.

    For example, no Sonic engine out there to date has the physics right. Mettrix, Retro Sonic, nothing out there has the right physics. The physics aren't even close. And I'm not by any means knocking at those projects -- I'm very impressed by both of them. But I'm saying that my engine needs to do things the way the original games did things because my goals are different. I have many formulas already worked up in my old ProSonic engine that was never actually released publically. In it the player has many of the correct physics. This will be applied to the new ProSonic engine once scripting works.

    So ProSonic will stay a solo project. You're right I shouldn't feel guilty about giving it up or what people will say. For the most part I don't, but I would really like to accomplish this goal I set out to accomplish. I've wanted to do this, no matter how many months and/or years longer it'll take. But ProSonic is a personal pride of mine, and I think you'll find as development continues that it really IS different than other Sonic engines. It's just hard to see it right now because the differences at this time are detailed in the technical side of the engine which is a side most people don't notice in the beginning.

    Oh and Sonicguy, I have to think on the extension. You might be right to suggest that. I mean either way virtually every extension out there is already taken by something else, but Playstation is gaming-related and I don't want conflicts with that. Thanks for informing me.

    EDIT: I just saw Rockman's post. That FAQ is very old actually! I have the outline available below
    PDF version -
    DOC version (recommended) -

    Important things not noted in the outline or FAQ would be:

    - Each stage can have a tile size of 32x32, 64x64, 128x128, or 256x256. This makes things easy so if you have a team of people doing different levels and they each prefer different sizes of tiles to work with, they have several choices.

    - Changed since the outline -- no longer limited to 256 tiles. You can have up to 65535 tiles to work with.

    - The PZF file format is basically an archive format designed for ProSonic that stores level data. This format is so flexible that it can literally store 255 different sets of data for things like color cyclers, palettes, tile maps, block maps, filters, etc -- all for just one single zone. Different acts and stages can share data or use different data if desired.

    - ProSonic WILL support network play, despite past reportings from other people that I wasn't interested in that. I'm absolutely interested in network play and supporting lots of players. ProSonic currently supports 16 players (up from 8 since the outline). Network code hasn't been thought out yet. I don't know what libraries I'll use or anything like that. I just know that it'll definitely be in the engine.
  7. Juki


    Manchester, England
    definitely not Terra Galactica

    You haven't played mettrix lately, right?
  8. Damizean


    As classic as rock Member
    Valencia, EspaƱa
    Various projects
    Wrong, E02 and new Retro Sonic engine are actually very very accurate if not identical :P
  9. Tweaker


    If I recall, E02 has much better physics than Retro Sonic, or at least it did last time I played Retro Sonic (private beta). The only issue I remember with E02 is something with jumping... I don't remember exactly what, but it certainly didn't hinder gameplay all that much.
  10. Athelstone


    Well I must say, I'm impressed with your confidence Saxman. You seem to have a very good idea of what you want to achieve in this project, so to that end I wish you the best of luck with it. It'll be interesting to see the different developments of both your project and Taxman's. My only reasons for being interested in both projects is that I just think it would be fantastic fun to race against others through the original Sonic zones. Classic 2d Sonic gameplay has been missing a multiplayer mode for far too long in my view. The suggestion I made was with reaching this end in mind.

    I look forward to creating levels with whichever engine is community friendly.
    Thanks. :(
  11. drx


    mfw Researcher
    Care to elaborate on the editor? Would you like something like MS Paint, with the ability to draw things? Or just a viewable manager? Or just a console-based importer/exporter type utility?

    If the time permits, I could try to write something like that.
  12. saxman


    Oldbie Tech Member
    Retro and Mettrix physics aren't close. To many people they're very close. But I've played and studied the original engine for tireless months and I know what's right and what isn't. If you were to play a demo from Sonic 2 Emerald Hill in an Emerald Hill port in Mettrix and Retro, it wouldn't play exactly as it did in the original Sonic engine. And I'm not knocking at the two engines. I've played both of them -- all the old Mettrix and the newer E02 stuff Stealth has on his page as recently as a month ago, and the Retro Sonic 2002 demo. I've also 'seen' the Retro Sonic DC demo. Both projects are impressive. They have a lot of unique features and ideas. All I'm saying is if you think the physics are close, they're not. I can pinpoint a pile of flaws in the physics. The physics in my engine aren't exact either, but that's my #1 goal for my engine -- to become the most accurate engine out there.


    The type of editor I'm looking for is an MS Paint style program. I'd also like to be able to import images from files on the disk (at the very least, I'd like PCX files to be supported, but the more the merrier). I'd like to be able to copy something in something like MS Paint to the clipboard, and then paste it in the editor for my engine. The editor should be able to select areas on the sprite sheet for new sprites, include animation editing (supporting up to 255 frames for a single animation). It should be able to play back the animation.

    That's something important I should mention -- speed for animation is measured in 1/60 tics. So if I set the speed to 10, then every 1/6 second, the frame will advance.

    Don't worry about color cyclers. I haven't even implemented them into the engine yet, so the color cycler bytes should all be 0.

    If you aren't sure if you can do all of that or would like to ask further questions, post them either in this topic, or PM me.
  13. The Taxman

    The Taxman

    Tech Member
    Retro Engine & Related Projects
    Yeah, Dami's refering to a newer private beta of Retro-Sonic as of this year (he's a tester)... Using some more investigation and info, the values match the real games. I still say Mettrix has better collisions and overall mimicks the player object behaviour more closely, but at least I can say that Retro-Sonic 'feels' right. It just has a little twist much in the same way Sonic CD has a twist.

    Umm... the latest version of E02 isn't accessable from Steath's website directly :P you sure you've tried it? It's got the rotating special stage from Sonic 1

    P.S. Time for me to You Tube an Emerald Hill comparison :P
  14. saxman


    Oldbie Tech Member
    All I know is what I tried at his site. I don't remember a rotating special stage, so I probably didn't try that one.

    Look I never intended this thread to become a competition thread. I was simply stating that no engine has perfect physics at this point in time. I'm sorry that it has become that.

    Just a few months ago, I sent Taxman an e-mail telling him how much I really enjoyed his engine and how impressed I was of his work. So this is not any competition for me. I am as excited about these types of things as the rest of you. But I strongly feel that sometimes my comments are taken the wrong way. I know by the vibe of the comments that I came off sounding like I had a big ego about it and all, but honestly I just don't know how to say things "right". I try, really I do!

    BTW: Did you get that e-mail from a few months ago Taxman?
  15. drx


    mfw Researcher
    I will try this weekend, if I'll have any free time. I'll contact you if I come up with anything.
  16. saxman


    Oldbie Tech Member
    I just noticed a flaw...

    unsigned "char" Sprite

    That "char" should really be a "short". I'll update my engine and these files with the appropriate changes.

    EDIT: Done -- new PSF files attached below.

    EDIT 2: Also I forgot something else in the specifications. It says FF FF FF is used for transparent pixels. What I forgot was FE FE FE is used for "solid" transparent pixels (it's the color of the transparent pixel, but you can actually see the pixel). You can make the transparent color whatever you want in your program, but Sega tends to use bright green in a lot of games, so that's just a suggestion. Or perhaps allow the user to select what color to display for transparent.

    Attached Files:

Thread Status:
Not open for further replies.