(Sega Saturn homebrew) Sonic Z-Treme

Discussion in 'Fangaming Discussion' started by XL2, Jul 7, 2017.

  1. SubCog

    SubCog

    Member
    22
    0
    0
    Is that better than just using polygons? Are you able to fit in a more complex mesh that way?

    That would be amazing... we could potentially go from having no 3d sonic game on the Saturn to having many to choose from. Also, do you think you would ever consider open-sourcing the project as well?
     
  2. XL2

    XL2

    Member
    49
    1
    8
    You can have an infinite plane, most Saturn exclusives used it. Like in Sonic R, Panzer Dragoon, Sonic Jam, Virtua Fighter 2, etc.
    You can have the whole floor handled by the vdp2, so it's really free (since the vdp2 is so fast compared to the rest of the system).
    I already had it, I guess I could just hardcode it in like before, but I would like to have something more powerful.

    I considered at one point to open source it, but you would be surprised at how many people already claim online they did this game, so imagine if I did open source it.
    I spent too much time on this to just give it away like that.

    I do want to at least open source parts of the engine (that's what the whole fps demo project is about) and I already shared some of the tools I wrote, like my model converter, including the code.
     
  3. XL2

    XL2

    Member
    49
    1
    8
    I'm quite happy to report that the SAGE demo runs at a stable 30 fps in single player with some drops in multiplayer.

    I also added a "pseudo fisheye" mode (ie : the viewing plane is closer to the camera, giving a larger FOV and distorting a little the vision; that's the closest you will get to a real fisheye view on Saturn without killing performances).
    The framerate drops a little bit sometimes with that pseudo fisheye view, but is still quite good.

    The PAL version, from Spinksy's tests, runs at 50 fps most of the time, but drops often to 25, so the framerate will be at 25 FPS by default, but you can change it in the option menu.
    The gameplay speed isn't exactly the same as the NTSC version, so for those on emulators or with a modded Saturn (60 hz) I suggest the NSTC version.
    The PAL version also won't work on NTSC Saturns because of the framerate delta which will report wrongs results on NTSC Saturn. I just did a quick workaround to get the PAL version faster than just porting the NTSC version asis, so anyway it just won't work on NTSC.

    I also made a quick test with realtime gouraud shading on the whole level, while it looks very good, it hurts the framerate (30-20 fps) more than I'd like, so I won't put it in the sage demo.
    But the technique to do it seems promising as it allows realtime lightning without that much cpu overhead, it's mainly a vdp1 issue since I don't have a solution (bsp+pvs) to prevent overdraw yet and I don't want to decrease the draw distance.
    So it will be paletted flat lightning only, which does create some issues sometimes when you transition from the LOD model to the high quality model (since you subdivide the quads, the light intensity is different sometimes).

    The LOD model is quite powerful, it's both my collision model and the transparent quads for the fading effect, and it's all done automatically offline.
    So 16 polygons often become just 1, with the textures auto-generated to fit, which allows a rather impressive draw distance but with very little polygons actually drawn, so you have less vertex transformations, draw commands, etc, which is much faster for both the cpu and vdp1.
     
  4. SubCog

    SubCog

    Member
    22
    0
    0
    I'm Intrigued, and can't wait to see it in action. I wonder if it will add that much more of the sonic x-treme flavor?


    'Sounds like you made the right decision. It'd be neat to get a version someday that has the other lighting options, if just to play with them, even if they're not great. I'd also be interested to see a gouraud-only option with no textures like this: https://youtu.be/O5Yzo3qSmhY?t=3m10s .


    Are the levels of LOD all precomputed, or is that dynamic? Does that LOD work on the Mario64 style levels as well?
     
  5. XL2

    XL2

    Member
    49
    1
    8
    My converter does it offline.
    It works too in Mario 64 maps, but the quads need to be on the same plane, so it works better for Sonic X-Treme or even Quake maps.
     
  6. XL2

    XL2

    Member
    49
    1
    8
    So, anyone tried it?
    I've seen someone claiming on twitter he couldn't make it run "well" and haven't had any feedback nor seen anyone else trying it, so I'm a bit wondering if something is wrong...
     
  7. itsstillthinking

    itsstillthinking

    Member
    167
    0
    16
    Sonic Adventure 1 & 2 Dreamcast Website, Sega Saturn Netlink Voip
    Have not been able to find the SAGE build anywhere :(
     
  8. XL2

    XL2

    Member
    49
    1
    8
    https://sonicfangameshq.com/forums/showcase/sonic-z-treme-saturn-sage-2018-demo.161/
     
  9. itsstillthinking

    itsstillthinking

    Member
    167
    0
    16
    Sonic Adventure 1 & 2 Dreamcast Website, Sega Saturn Netlink Voip
    Will record some footage of it!
     
  10. Amazing work! I'm most impressed with the LOD system, it's nearly seamless. I've been playing extensively today on my Saturn powered arcade machine.
    [​IMG]
     
  11. XL2

    XL2

    Member
    49
    1
    8
    Amazing, first feedback I got! :)/>
    I was starting to think the game didn't boot or something (someone mentionned he couldn't get it to boot...probably just a bad burn).
    Are you using NTSC or PAL?

    Edit : Amazing setup by the way! Playing fighting games on this must be awesome!
     
  12. itsstillthinking

    itsstillthinking

    Member
    167
    0
    16
    Sonic Adventure 1 & 2 Dreamcast Website, Sega Saturn Netlink Voip
    Worked perfectly!
    http://youtu.be/5G9WjiahYis
     
  13. SubCog

    SubCog

    Member
    22
    0
    0
    Works great on my Saturn as well. A little feedback:

    1. Graphics are really fantastic! I can really see the advanced lighting in action (it was a little tough to see it in the youtube videos). To me it often looks like an n64 game. I think it will come to life even more with more organic style levels (Mario64). Also, the distance fading really helps, and makes the rendering limitations less distracting than pop-in (I wish every Saturn game had this).
    2. Running at 60fps is amazing when it can handle it. Overall I think locking to 30 was the right decision.
    3. 2-player is fabulous. Performs great without a hitch.
    4. The fake fish-eye lense doesn't really look like a fish-eye lense at all, but I find it makes the game much more playable... makes the world feel bigger and more open as well. It would be great to be able to switch between fov settings on the fly, as there's plenty of available buttons on the controller.
    5. Level design definitely needs work (I know that wasn't the focus of this release). It's pretty frustrating to fall of the edge all the time, I think these kinds of floating island levels just aren't a good fit for this game. I think there's lots of interesting lessons from Mario 3d World, or maybe even Toad's Treasure Tracker, in terms of good level design for this kind of game.
    6. The controls are very good overall. Definitely better than many other 3d games with digital controls (Croc, Tomb Raider, Bug!). I'm interested to see what it's like after you get a chance to work on the analog controls. I feel like that will change the feeling of the game alot.
    7. There's a surprising amount of depth to the controls, and I keep figuring out new techniques. I was super excited when I discovered that I could roll on a ramp and go up a wall, as I didn't expect any physics like that. Also, sometimes I can get an extra triple jump if I'm right at the edge of a cliff, which sometimes is an interesting way to get up a wall faster.
    8. I couldn't figure out how to do the wireframe mode. I didn't see it in the menu at all.
    9. Overall it's really amazing to get a look at what Sonic on the Saturn might be like, especially with such beautiful graphics!
     
  14. XL2

    XL2

    Member
    49
    1
    8
    Thanks for your review!
    I will take note of your suggestions.
    But really Mario 64-like levels might not work too well with the physics and the LOD system.
    I will try again soon the peach castle map to see how it handles with the newer physics.
    For the wireframe, the option is hidden in the option menu.
    Hold L+R and press Up to cycle between the 5 debug modes.
     
  15. Spinksy

    Spinksy

    Member
    219
    0
    16
    UK
    Will try this later :-)

    Apologises for not much feedback on the last build you sent (I did try it for 20 minutes or so as I said) but just had a lot going on the last week.
     
  16. Andrew75

    Andrew75

    Technical Artist Member
    1,957
    26
    28
    Project AXSX(Sonic Xtreme) + Misc Projects
    Played threw the Sage build finally! You've made so much progress since first starting this project!
    I plan to shoot over some more levels in the future, but truly, I believe that doing some original levels from the ground up, but with more a more fluent flow would really make the project shine.

    While doing Project AXSX and speaking with Chis Senn threw out the years, he told me in his own words, that the original levels that he did were crap and just test areas, and that I should do original levels. I agree 100% but that didn't slow me down in rebuilding each and every one of them. What compels us to want to use these levels? I don't know. I guess they hold a special place in our hearts.
     
  17. RDNexus

    RDNexus

    Member
    Given how the many trailers seen through the years showed those test-stages, the mysticism around them only grew stronger.
    It wasn't my case because I'm not even sure I've ever seen any of those trailers during the Saturn days here in Portugal.

    Still, that may be why people like you two want to give that mysticism a proper shape, alongside original stages you may make.
     
  18. XL2

    XL2

    Member
    49
    1
    8
    Yes, I kind of agree, but it wouldn't feel Sonic X-Treme without these levels since, well, that's the only thing people saw from the original project!
    But they aren't that bad, like Jade Gully is a good intro level, it would just need more slopes and hills (my engine supports it, so it doesn't need to be blocky), Crystal Frost would just need a few things to go faster, Red Sands is beautiful (but the version I put for Sage doesn't have that much in it, but hey, Easter Eggs!) and I think Galaxy Fortress is really fun, even if it's really short, but getting extra lives gives you a reason to explore a bit.
    Once I cut down the loading time to like 4-5 seconds instead of like 8, finishing these levels in quick succession wouldn't hurt the flow and it would get around the Saturn's limited RAM.
    But for sure I don't have time right now to make new levels, working on both the SDK, the engine and gameplay is already really overwhelming.

    Btw, amazing job at the recreation of these levels. The fact that they work pretty much as-is on the Saturn (well, after some offline processing of course) shows just how accurate they are!

    Anyway, for the next few months I want to focus on occlusion culling, which is very hard on the Saturn and made even harder by Sonic X-Treme's maps : some are open, so bad candidates for a BSP tree/PVS and occlusion culling overall, some are closed and need occlusion culling, etc.
    At the time, I don't think they gave too much tought on how it would run on the Saturn (unlike Project Condor era which clearly did), because without my LOD system the draw distance would be quite low.

    So it makes this project very conplex, while if I decided to just be like : ok, let's make this like Sonic Jam (no occlusion culling, open maps only) or Tomb Raider (just manually add portals, maps are inside only), it would have made my life way easier.
    To make matters worse, I really want my engine to be flexible since I would like to do a FPS game after I'm done with Sonic Z-Treme or if I cancel Z-Treme, so going "open" levels only wouldn't work.

    So now I'm trying some very complicated occlusion culling functions, and most will likely prove to be unsuitable, so it might take a while.
    I'm currently working on a potential visibility set, which "seems" to work on the PC side, but I can't know until I've tried it on Saturn, so debugging that will be really hard and will take a while, since I need to compile it (it takes more than 1 hour on my PC because I can't just place portals and the "rooms" aren't just convex, so I must try many points within each node), compress it, uncompress on the Saturn each frame and try to see if it works. If not, I need to return on the PC, try to fix it, compile for 1 hour, come back on Saturn and hope for the best...

    Once/if the occlusion culling works, I can focus on gouraud shading lights, increase the draw distance, maybe add more transparency and maybe add realtime lightning on the map while keeping a 30 fps target.
    So anyway, lot of work ahead!
     
  19. Chris Highwind

    Chris Highwind

    Member
    2,084
    11
    18
    Statesville, NC
    Slacking
    I don't have a real Saturn to run this on, so I've mainly been playing on emulators on my Samsung Galaxy S9+
    Unfortunately, it won't run at all on Yaba Sanshiro (uoYabause), and there's a lot of slowdown in Beetle Saturn Retroarch.
     
  20. XL2

    XL2

    Member
    49
    1
    8
    Use software rendering and see if it helps.
    It works for me in uoYabause on Android, Yabause works rather well, SSF has many glitches and someone mentionned to me that Mame emulates the game perfectly.