All Programming Discussion

Discussion in 'Sonic 2 HD (Archive)' started by Athelstone, Apr 24, 2008.

  1. Toekutr

    Toekutr

    Member Member
    <!--quoteo(post=411863:date=Feb 17 2010, 12:43 AM:name=Hamneggs)--><div class='quotetop'>QUOTE (Hamneggs @ Feb 17 2010, 12:43 AM) <a href="index.php?act=findpost&pid=411863"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=411861:date=Feb 16 2010, 11:37 PM:name=GerbilSoft)--><div class='quotetop'>QUOTE (GerbilSoft @ Feb 16 2010, 11:37 PM) <a href="index.php?act=findpost&pid=411861"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=411859:date=Feb 17 2010, 12:32 AM:name=Afti)--><div class='quotetop'>QUOTE (Afti @ Feb 17 2010, 12:32 AM) <a href="index.php?act=findpost&pid=411859"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->1920x1080 is suboptimal for PC gaming<!--QuoteEnd--></div><!--QuoteEEnd-->
    Lies. All the gamers here tell me 1920x1080 is "Full HD" and that it's impossible to get anything higher. :v:
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    Wrong. Not even per monitor. With a DVI cable the max resolution per monitor is indeed 2560x1600 or whatever. And then you can use multiple monitors on one pc. But with that many pixels to process, you would need a freakin' quad Crossfire 5970 pc with 2 I7 processors to sustain a good framerate on something even as easy as Call Of Duty.

    And are those gamers you reference "Console" gamers? They don't know it all, at all.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    Call of Duty 4 runs fine on a single 5850 with 3 24" monitors.

    <a href="http://www.youtube.com/watch?v=8YEhyHiVjt8&hd=1" target="_blank">http://www.youtube.com/watch?v=8YEhyHiVjt8&hd=1</a>

    Not a cheap setup, but not nearly as extreme as you'd think.
     
  2. Afti

    Afti

    ORIGINAL MACHINE Member
    3,521
    0
    0
    Those are probably not 2500x1600 monitors, but the total resolution is still well over it if they're 1920x1080 or even 1440x900 monitors. THAT kind of setup is what this project should be built for- Sonic 2 with top-of-the-line modern hardware.
     
  3. saxman

    saxman

    Oldbie Tech Member
    Geeze, I'm going through some of the replies over the past few days, and a few of you need to grow up and quit trying to bait people into arguments. And growing up doesn't mean developing the classic "I'm smarter that everyone else" ego. Site staff especially of all people should know better. It's one thing to disagree, but throwing around names and using strong language to try and prove that you're right just looks childish and silly on this end. I rolled my eyes several times going through some of the replies. I don't need to name names, because you guys know who you are.

    I don't agree with everything in the project, but nobody will. I do have some high hopes for the project though. When the project first started and the first demo came out, I'll admit I was skeptical. However as I have continued following some of what's been going on with it, I have become convinced that things can only get better. I'm especially excited to see some of the new art. It requires a lot of hard work to put all of this together, and that's especially notable given it's all being done for free, and being done for us. That's truly awesome.

    In regards to the multi-platform support, in my opinion, that should be a lesser priority than the contents of the engine. The way I see it is a vast majority of people will be able to run the Windows version, one way or another. I think that should be very satisfying for the time being. I would worry about getting it working on other platforms later in development.
     
  4. If the alpha build contains a complete and fully playable EHZ, I think that will provide a lot of inspiration to go further with the project and provide a good benchmark for the community to decide what needs to be added or changed. Since its beginning nearly two years ago, I've always expected about a five year time frame for completion. That might seem really long to some, but Sonic Team took nearly a year and a half with a dedicated staff of professionals. We're just a jumble of talented amateurs that have other lives.
     
  5. steveswede

    steveswede

    Member Member
    5,032
    1
    16
    Ask my hand
    Fighting against the Unitary State of Europe
    <!--quoteo(post=412094:date=Feb 17 2010, 06:53 PM:name=Blue Streak)--><div class='quotetop'>QUOTE (Blue Streak @ Feb 17 2010, 06:53 PM) <a href="index.php?act=findpost&pid=412094"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->I've always expected about a five year time frame for completion. That might seem really long to some, but Sonic Team took nearly a year and a half with a dedicated staff of professionals. We're just a jumble of talented amateurs that have other lives.<!--QuoteEnd--></div><!--QuoteEEnd-->

    This is my thought as well. I remember Vincent saying that it had taken him a year to do Sonic. Even though that sounded like a long time, it's not as if he's on it constantly through the day. He's got his own life like we all have that takes a priority. Now with this in mind there is Tails, Knuckles, Robotnik and Super Sonic to be done, which is going to take a good few years more. Also, wasn't it mention that the whole of EHZ art was redone by Gambit to get it even better than it was. Ain't that a feet in itself.

    Good things come to those who wait. :)
     
  6. Compsense

    Compsense

    TAKEN OVAR DA LOLS Member
    500
    0
    0
    Oregon, US
    some dance album or summat
    <!--quoteo(post=412363:date=Feb 17 2010, 11:58 PM:name=steveswede)--><div class='quotetop'>QUOTE (steveswede @ Feb 17 2010, 11:58 PM) <a href="index.php?act=findpost&pid=412363"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Now with this in mind there is Tails, Knuckles, Robotnik and Super Sonic to be done, which is going to take a good few years more.<!--QuoteEnd--></div><!--QuoteEEnd--><I>Years?</I> Doesn't that seem like a tad long? :psyduck:

    Regarding 4:3 vs. 16:9, something I wouldn't be against is the width of the visible game area taking up the width of the game window itself, if that's at all possible. In the case of the width being less than 4:3, then either the visible area or the whole window is made shorter. As well, shortening the game window would make the visible area wider.

    Although, if art contribution is really so slow, I ought to get back to contributing myself! At the moment, I see all of two things being worked on - a tree and a chicken - disregarding whatever in the world goes on behind the scenes.

    (P.S. post made at 1am, might be somewhat incoherent)
     
  7. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    0
    0
    Writing my own MD/Genesis sound driver :D
    <!--quoteo(post=411291:date=Feb 16 2010, 01:11 PM:name=LOst)--><div class='quotetop'>QUOTE (LOst @ Feb 16 2010, 01:11 PM) <a href="index.php?act=findpost&pid=411291"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->2. Do the work yourself, and speed up the development, AT YOUR free time. Help us!<!--QuoteEnd--></div><!--QuoteEEnd-->I'm sorry, I want to go back to this.

    You ask for help, yet you don't release the source code to allow us to help. The first post on the thread says you don't need any more programmers, and yet you make this suggestion. What do you want?

    If you want people to help with the coding in whatever way they can, how should I help? Do I ask for entry into this team? Or do I just give you code snippets as so:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void enemy(int id, int x, int y)
    {
    &nbsp;&nbsp;&nbsp;&nbsp;// whatever
    }<!--c2--></div><!--ec2-->

    that you edit at your own will without sharing the code back to me and without letting me know that you used it? That doesn't work. If I wanted to contribute to the code side of this project, I expect to be able to directly affect the code.

    What exactly IS your programming team? How experienced are the programmers? Do they know about good software design? Have at least one of them read <I>The Mythical Man-Month</I> so that you don't fall into the traps that come up when programmers work as a small team? If the answer is no, then why are you still working?

    Are you not releasing the code for copyright reasons? Do you not want to apply an open source license? You know you don't have to do that if you're concerned you're stealing code from Sega, but if you're writing all this from scratch, what is your reasoning for not releasing the code at all?

    What is your development model? Do you have a timeline of when you want to accomplish specific goals?

    Let THE COMMUNITY know, otherwise just stop calling Sonic 2 HD a COMMUNITY project.
     
  8. saxman

    saxman

    Oldbie Tech Member
    On the sprite thing:

    I think if Vincent gets more time somewhere, he could probably knock out future sprites faster. Alternatively, he could outsource that job to someone else. So I don't think it means this project will take many more years to complete.



    To Andlabs:

    Every good community project has a leader. If it didn't, it would fall apart (see Sonic 4 /aka Sonic Classic for details.) Not everything can be open to the public. Some decisions have to be made by some central authority.

    L0st was trying to put a positive message on a grueling process (that is, dealing with a very demanding public), not that he's actually going to make the code public. Why fight over that? You're not proving anything, and with all due respect, you're embarrassing yourself. I don't like seeing this!

    I know EXACTLY how L0st feels -- I got this (ten-fold) from people over ProSonic when I released the first demo. I felt like telling people that if they could do it better, then they should do everything I did in that program (aside from bugs of course.) A vast majority couldn't do it if they tried. I could go on for hours about how that whole experience made me feel. It really put a spotlight on how self-centered a lot of people are. Yet they all think they're so smart when they haven't even done it.

    Now, I like you Andlabs, so I'm saying this nicely -- take a good hard look at what you're bickering over and how you really come off. I don't think it paints you in the best light. You should take the high road and let this one go, because I'm going to tell you right now that I don't disagree with L0st, and anyone who's been in that same position (again, ProSonic is a really good example here) is going to feel the same way. C'mon, you're smarter than this! Take a breather, and I think you'll see I'm not entirely crazy here.



    Now, I'm not commenting anymore on this because I certainly wouldn't be helping matters any by doing so (I'm hoping this message does though.)
     
  9. Vincent

    Vincent

    Sonic 2HD - Project Leader & Chara Member
    1,253
    0
    0
    Sonic 2 HD
    <!--quoteo(post=412363:date=Feb 18 2010, 08:58 AM:name=steveswede)--><div class='quotetop'>QUOTE (steveswede @ Feb 18 2010, 08:58 AM) <a href="index.php?act=findpost&pid=412363"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Now with this in mind there is Tails, Knuckles, Robotnik and Super Sonic to be done, which is going to take a good few years more.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Originally it took me 4 days to produce a crappy standing pose with 8-9 colour shades.
    Now, the average dev time takes me around 2 hours per frame with full antialias control, 16M colours shades and alpha channel for spotlights!

    If no artist will aid me on Tails or Knuckles, my best guess would be only half a year to complete Tails, and one year for Knuckles.
     
  10. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    0
    0
    Writing my own MD/Genesis sound driver :D
    <!--quoteo(post=412939:date=Feb 18 2010, 11:02 PM:name=saxman)--><div class='quotetop'>QUOTE (saxman @ Feb 18 2010, 11:02 PM) <a href="index.php?act=findpost&pid=412939"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->To Andlabs:
    :words:<!--QuoteEnd--></div><!--QuoteEEnd-->
    Are you implying that these decisions made by a central body should be made in secret given the sentence before it? If so then I strongly disagree. However, you do have a point, so I will walk away for now (I had no intention to contribute myself anyway, I just wanted to right what some of us felt was wrong). Good luck finishing this project.
     
  11. steveswede

    steveswede

    Member Member
    5,032
    1
    16
    Ask my hand
    Fighting against the Unitary State of Europe
    <!--quoteo(post=413080:date=Feb 19 2010, 10:34 AM:name=Vincent)--><div class='quotetop'>QUOTE (Vincent @ Feb 19 2010, 10:34 AM) <a href="index.php?act=findpost&pid=413080"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=412363:date=Feb 18 2010, 08:58 AM:name=steveswede)--><div class='quotetop'>QUOTE (steveswede @ Feb 18 2010, 08:58 AM) <a href="index.php?act=findpost&pid=412363"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Now with this in mind there is Tails, Knuckles, Robotnik and Super Sonic to be done, which is going to take a good few years more.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Originally it took me 4 days to produce a crappy standing pose with 8-9 colour shades.
    Now, the average dev time takes me around 2 hours per frame with full antialias control, 16M colours shades and alpha channel for spotlights!

    If no artist will aid me on Tails or Knuckles, my best guess would be only half a year to complete Tails, and one year for Knuckles.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    But in total with Super Sonic and Robotnik as well would take a couple of years. By the way. Nobody answered a question of mine earlier. Is it being considered to add Sonic 3 abilities to Sonic 2? Like tails swimming? It would be nice to know in detail what the team would consider regarding the Sonic 3 abilities and the extra ones that I suggested.
     
  12. Elratauru

    Elratauru

    Oooh Shiny stuff! don't touch it >:( Member
    960
    0
    0
    Montevideo, Uruguay
    Web Developer
    <!--quoteo(post=413089:date=Feb 19 2010, 09:32 AM:name=steveswede)--><div class='quotetop'>QUOTE (steveswede @ Feb 19 2010, 09:32 AM) <a href="index.php?act=findpost&pid=413089"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=413080:date=Feb 19 2010, 10:34 AM:name=Vincent)--><div class='quotetop'>QUOTE (Vincent @ Feb 19 2010, 10:34 AM) <a href="index.php?act=findpost&pid=413080"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=412363:date=Feb 18 2010, 08:58 AM:name=steveswede)--><div class='quotetop'>QUOTE (steveswede @ Feb 18 2010, 08:58 AM) <a href="index.php?act=findpost&pid=412363"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Now with this in mind there is Tails, Knuckles, Robotnik and Super Sonic to be done, which is going to take a good few years more.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Originally it took me 4 days to produce a crappy standing pose with 8-9 colour shades.
    Now, the average dev time takes me around 2 hours per frame with full antialias control, 16M colours shades and alpha channel for spotlights!

    If no artist will aid me on Tails or Knuckles, my best guess would be only half a year to complete Tails, and one year for Knuckles.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    But in total with Super Sonic and Robotnik as well would take a couple of years. By the way. Nobody answered a question of mine earlier. Is it being considered to add Sonic 3 abilities to Sonic 2? Like tails swimming? It would be nice to know in detail what the team would consider regarding the Sonic 3 abilities and the extra ones that I suggested.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    Well, Robotnik frames? Nah, thats an easy thing. Also Im in charge of the bosses and badnik part after all.

    About Sonic 3 Abilities, no, the engine of course supports abilities (since its a perfected version of S3 Engine), but It would change the gameplay too much...maybe as a "special" mode or some shit like that, who knows...
     
  13. Gambit

    Gambit

    Sonic 2 HD Staff - Level Artist Member
    711
    0
    0
    Sonic 2 HD
    Yeah, Tails will most likely get his abilities from Sonic 3, though I think we'll have an option to turn them on or off. Knuckles will obviously get his moves, though I don't know if Sonic will get the insta-shield. The insta-shield is pretty game-breaking at times in Sonic 3 & Knuckles if you're good with it.
     
  14. steveswede

    steveswede

    Member Member
    5,032
    1
    16
    Ask my hand
    Fighting against the Unitary State of Europe
    I think it would be great then to have a mode were you could switch the abilities on and off. I would love to see the Sonic 3 shields in there as options but I suppose that would be too much of a change. It's something I hope that would be considered though.
     
  15. Synergy

    Synergy

    Member Member
    90
    0
    0
    UK
    Hi guys, I've been following the forum and project for a while but finally decided to jump in. Just wondered if you needed some ideas for the special stages? As I mentioned in my validation post I had made a Sonic 2 Special Stage prototype with the intention of updating the graphics, real 3D and effects etc. before I found out about this project and wondered whether I could be of assistance. The prototype was intended to nail down gameplay, movement, and track/object generation before I went on to address the presentation. It generates and manages the dynamic "tube" mesh and places the objects on-the-fly using a level descriptor file (I'm hoping to build in an editor so that stages can be built directly in the game). The rest of the models are exported from Maya. Currently using DirectX but can be switched to OpenGL fairly easily as I abstracted out the API calls.

    Oldish flat-shaded screenshot below, let me know if I can help at all. :)

    <img src="http://www.alaunus.com/sb/Clipboard03.jpg" border="0" class="linked-image" />
     
  16. Canned Karma

    Canned Karma

    S2HD Project Manager Member
    806
    0
    0
    Sonic 2 HD, various 3D work
    Hi Synergy, glad to see you're interested in helping us out with the Special Stages. At this point, literally everything regarding them is up in the air. Without a programming base to work off, everything thus far has been resigned to concept only status. Obviously we're going to need a lot of ideas, a lot of design iterations, and a lot of talent to make it polished, but by all means: if you've got things in mind we'd love to hear them.

    I'm liking the concept that you have there. Something that can procedurally create the tube instead of having someone build it from scratch and then pre-render everything could definitely come in handy. Mind giving us more details on it?
     
  17. Synergy

    Synergy

    Member Member
    90
    0
    0
    UK
    Sure. As Special Stages consist of five types (straight, turn left/right, hill up/down - these are mirror images but it simplifies the code somewhat at the cost of a tiny bit of memory), I've defined five Bezier curves that represent them, as well as a tube profile curve that is basically a semi-circle representing the profile of the solid. The semi-circle is then extruded down the Bezier curve to produce a mesh for each piece which is then stored for the five base types. During play, the level representation is read continually at discrete intervals, and the tube generator maintains the mesh by attaching the appropriate base type at the end (either by welding vertices directly for straight-to-straight, or otherwise by stitching - placing the new piece at a slight distance and generating faces between them for a more visually pleasing result) as well as removing old geometry behind the camera. The Bezier curves are also used for the camera movement. When new pieces are generated, the level data also provides object data for rings and mines for that piece (item type, z-depth along the piece with 12 distinct distances, and angle, which can be from 0 to 360 in 32 steps, allowing for 16 objects in a "ring" formation, like the circle of mines in the original).

    Movement works pretty nicely but I'm not totally satisfied as it doesn't quite match the original in terms of the slipping or friction at the sides. From the screenshot, the two players are on circular (1D) frames and jumping detaches the player from it, allowing them to move in 2D for that brief time; we detect whether the player has hit the frame again by finding the frame circle Y from the player X, and if the player Y has exceeded this, it re-attaches the player on the frame at the right spot. I'd be interested to know if anyone has tackled the player movement in Special Stages from the disassembly of the original.
     
  18. Canned Karma

    Canned Karma

    S2HD Project Manager Member
    806
    0
    0
    Sonic 2 HD, various 3D work
    Z-depth was going to be one of my questions, so it's good to see that's already factored in. As for the rings and mines, do those have to be generated by your code entirely, or could/is there room to import external assets? The rings and bombs could be done in 3D or in 2D; last year we had people working on bombs for the Special Stages only for them to be tossed onto the database and virtually forgotten.

    Big issue for the tube itself: texturing. While it's certainly possible to have the basic colors applied and leave it at that, we're not satisfied with doing that to the main game, and I see no reason why the Special Stages should be any different. Do you think your method would allow for color maps to be applied?

    Let me rephrase what you said about the players. The circular frames are made that way so that at least one point on them is in contact with the tube at all times? That's how it looks in my head at least. Following this would be the same question I had around the objects, but with characters. I think it'd be great to have appropriate 3D models of Sonic and Tails in, or if the Special Stage could be rendered as such, use stylized 2D assets instead.
     
  19. LOst

    LOst

    Tech Members Tech Member
    4,888
    0
    0
    <!--quoteo(post=428112:date=Mar 19 2010, 08:00 AM:name=Synergy)--><div class='quotetop'>QUOTE (Synergy @ Mar 19 2010, 08:00 AM) <a href="index.php?act=findpost&pid=428112"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Sure. As Special Stages consist of five types (straight, turn left/right, hill up/down - these are mirror images but it simplifies the code somewhat at the cost of a tiny bit of memory), I've defined five Bezier curves that represent them, as well as a tube profile curve that is basically a semi-circle representing the profile of the solid. The semi-circle is then extruded down the Bezier curve to produce a mesh for each piece which is then stored for the five base types. During play, the level representation is read continually at discrete intervals, and the tube generator maintains the mesh by attaching the appropriate base type at the end (either by welding vertices directly for straight-to-straight, or otherwise by stitching - placing the new piece at a slight distance and generating faces between them for a more visually pleasing result) as well as removing old geometry behind the camera. The Bezier curves are also used for the camera movement. When new pieces are generated, the level data also provides object data for rings and mines for that piece (item type, z-depth along the piece with 12 distinct distances, and angle, which can be from 0 to 360 in 32 steps, allowing for 16 objects in a "ring" formation, like the circle of mines in the original).

    Movement works pretty nicely but I'm not totally satisfied as it doesn't quite match the original in terms of the slipping or friction at the sides. From the screenshot, the two players are on circular (1D) frames and jumping detaches the player from it, allowing them to move in 2D for that brief time; we detect whether the player has hit the frame again by finding the frame circle Y from the player X, and if the player Y has exceeded this, it re-attaches the player on the frame at the right spot. I'd be interested to know if anyone has tackled the player movement in Special Stages from the disassembly of the original.<!--QuoteEnd--></div><!--QuoteEEnd-->
    That sounds really cool!
    You are using the 3D hardware more than I would have, and that might be the winning technique. You get the Z buffer for free by letting the camera follow the Bezier curves.

    So all objects right now are in 3D? I suggest using billboards <a href="http://francis.dupont.free.fr/coindev/english/effet3d.htm" target="_blank">http://francis.dupont.free.fr/coindev/english/effet3d.htm</a> since most artists can do sprites better than 3D models.

    To answer the disassembly. I don't know if anyone has looked into the special stage code. Let's focus on the texturing of the half-tube first.
     
  20. Synergy

    Synergy

    Member Member
    90
    0
    0
    UK
    The rings and mines aren't procedurally generated at the moment, those come from objects I've exported from Maya, so they could either be complex models or as LOst points out, billboards could be used instead (might be a little easier on people's hardware too). With regards texturing, it's the next thing on my list; I was going to procedurally generate the tube's texture map as it's not particularly complicated and also would allow stage editors to specify their own colours for the three components: base colour, grid colour (usually the darker colour) and light colour (usually yellow). I also made a shader for the tube that fades it to a darker colour in the distance, per the screenshot, but also allows the yellow colour on the tube to remain unfaded, as per the original stages.