don't click here

Sonic 3 A.I.R. Release Thread

Discussion in 'Fangaming Discussion' started by 360, Apr 7, 2019.

  1. D.A. Garden

    D.A. Garden

    Sonic CD's Sound Test Member
    I really like the new Knuckles intro, and how it connects to the main layout. Very nice. I have one minor criticism, and that's the placement of the rock/spring/rings at the end; it really should be moved right just a little bit as it currently looks a little off. (This is just like my criticism of Tails' new path in Launch Base Zone, whereby the layout didn't look right, and needed some refinement).
    The music didn't play for me the first time I started this version. Not too sure why. Closing and restarting it all seemed to fix it.
    I'm really enjoying the changes to the bubble shield to feel more like Mania. Feels a lot better to use now.
    This keeps impressing me with each new release. Keep up the good work.
     
  2. Sally Rose

    Sally Rose

    Member
    77
    7
    8
    Any plains on a future Knuckles & Knuckles mode? complete with going to DEZ and Doomsday in normal story mode and an overly silly ending cut scene, that would be epic AF!
     
  3. Blastfrog

    Blastfrog

    See ya starside. Member
    Did someone say "Knuckles and Knuckles"?

    [​IMG]
     
  4. McAleeCh

    McAleeCh

    Oldbie
    1,470
    531
    93
    The new update sounds great - looking forward to giving it a go when I have time! Super excited that you've ported Competition Mode after all, and that you've included most of the notable tracks from the Nov 1993 proto. Is the Competition Mode menu track the only one not currently included?

    Knuckles having a proper intro for the full game is also a great addition. Having seen the video a few posts above, I do have one small query - it looks like the intro currently uses the Mushroom Hill animals (Cucky/Ricky) even though it's been transplanted into a more appropriate Angel Island setting. Would you consider changing the animals to match Angel Island's in-game animal pairing (Flicky/Cucky) in future builds?

    Anyway, thanks again for the update - excited to check out the new features for myself when I get the chance...! = )
     
    Last edited: Dec 17, 2019
  5. The credits theme, too, is excluded.
     
    • Informative Informative x 1
    • List
  6. Eukaryot

    Eukaryot

    Tech Member
    63
    155
    33
    Sonic 3 A.I.R.
    Quick update: I just uploaded a new preview with some bug fixes (see the changelog), including some bugs / inconsistencies you've mentioned. :)

    (And btw. the project's minimalistic homepage got updated as well for this.)
     
  7. McAleeCh

    McAleeCh

    Oldbie
    1,470
    531
    93
    Woohoo, the other two proto tracks have been added! Think that's all the notable ones added now. Thanks for giving us the option to use them! = )
     
  8. Blastfrog

    Blastfrog

    See ya starside. Member
    So I finally got around to actually playing this, and it's pretty good. Some feedback:

    1. The extended camera seems to cause a bug that locks the camera vertically in the start of HCZ2 when spindashing, preventing me from progressing after the crusher sequence has ended.
    2. The proto tracks don't appear to have remastered equivalents yet, the percussion is still crusty in those tracks.
    3. I realize there may be potential issues in supporting ultrawide, but can you please consider it? 16:9 on my ultrawide feels like 4:3 on a widescreen, with such large borders still visible I don't feel the benefit of the extended screen as much.
    4. Gotta be honest, the strong aliasing in the smooth rotation is not pretty. Is it feasible to have something something similar to RotSprite work in realtime? I haven't played Mania TBH, but from the footage I've seen it appears as if they have a way to rotate things with less artifacting.
     
    Last edited: Dec 24, 2019
  9. I would recommend if he used RotSprite to look into how Aseprite does it, because it manages to do it in real-time just fine. (Pretty sure the source code is open, at the very least to people who've bought it)
     
  10. Eukaryot

    Eukaryot

    Tech Member
    63
    155
    33
    Sonic 3 A.I.R.
    Another quick update:
    After several betas and previews over the last weeks, the final stable Christmas Update is ready now.
    You can find the download and changelog (since the last stable build from September) on the homepage.

    1. I couldn't reproduce that issue. If it happens again, can you make a game recording and send me? Eventhing needed is pressing F2 after it happened, and the last 30 seconds of gameplay debug data get stored in a .bin file.
    2. The stable build now includes the remasters as well!
    3. Ultrawide is more or less impossible without a LARGE overhaul of the entire engine & game. I tried going from 400 pixels width to Mania's 424 pixels, but that alone introduced so many new issues that I figured it isn't worth it...
    4. Improved sprite rotation is something I'd like to include into the rendering engine later. That would certainly be an improvement for smooth rotation.
     
  11. Miles3298

    Miles3298

    Member
    581
    19
    18
    Hope you had / are having a great holiday season!

    I've got a legacy bug for you, if this counts as a bug. In competition mode, if you go by the goal in the same frame that the "GO!" sound plays, you still get faulted. I'm not sure if the go sound plays a frame early or the fault check ceases a frame late, but either way that does indeed happen.
    Videos - On hardware (forgive the godawful colors, my capture device is doody), Sonic 3 AIR (regular Fault, then Go-Fault, then Go)
     
    • Informative Informative x 1
    • List
  12. D.A. Garden

    D.A. Garden

    Sonic CD's Sound Test Member
    I've just done a new run through with Sonic, and found a Hidden Secret. Very nice. Wonder if there's any more of them?

    I've also noticed a couple of small issues in general that could be addressed:
    • Knuckles is 1 pixel away from left walls when climbing them. He looks like he's climbing on nothing. It's very minor, but it's only left walls, not right.
    • There's a wall spring in DEZ1 that retracts near the end of the (what used to be) Tails only path. This spring has broken graphics on the bottom. Looks like it's using the graphics of the blue bumper object inside the vacuum tube.
    • There's a legacy mistake in HCZ2. After the spiral tube to the 1-up, there's a 180 degree curve from right to left that then drops you onto a hand launcher and another spiral tube. The floor chunk to the bottom here is misaligned by one chunk; it's quite obvious if you look at the big face tiles.
    • You can abuse the restart feature to get lives/score from an act over and over. The way later games handled this is by using a life to restart (which is a little harsh), but I can't think of a way around this.
    • ICZ1 crystals that are floating in Knuckles' path deal damage to you even if you're flashing with invincibility.
    • The added invisible blocks to the left and right side of the LBZ2 final boss (Death Egg launch) can be got on top of by using Hyper Sonic's jump dash. This can cause some weird behaviour where you can hit Big Arm off screen, among other things.
     
    • Informative Informative x 3
    • List
  13. Shaddy the guy

    Shaddy the guy

    Professional Internet asshole Member
    2,085
    1,125
    93
    OR
    I mean, there's already an option for infinite lives anyway. Anyone who would bother exploiting the game might as well just use that (which I do, because honestly fuck lives systems as a concept).

    ...Which I guess is an argument in favor of making restarts punishing? I dunno.
     
  14. SuperSonicRider

    SuperSonicRider

    Member
    200
    64
    28
    In Mania, you don't lose a life, but your score and lives are reset to what they were at the start of the Act. That could be a way of dealing with it!
     
    • Like Like x 2
    • Agree Agree x 1
    • List
  15. D.A. Garden

    D.A. Garden

    Sonic CD's Sound Test Member
    A couple more issues I encountered during a Knuckles and Tails playthrough:
    I used Tails to get really high above the miniboss in MHZ1 and when I landed, a random log was bouncing around down there.
    Recording: https://www.dropbox.com/s/azop7jydodzwort/gamerecording_191228_180448_MHZ1.bin?dl=0

    I was using the pulley to get up to the boss area of MHZ2 and jumped off right at the top, which led me to an area full of broken chunks and a general mess.
    Recording: https://www.dropbox.com/s/k34udmcf8wu0y0e/gamerecording_191228_180833_MHZ2.bin?dl=0

    Also, an issue with Tails in Sky Sanctuary:
    If you skip either of the Sonic 1/2 minibosses using Tails' flight, fly up to where Mecha Sonic's boss area is, then drop down to one of the Sonic 1/2 minibosses, Mecha Sonic will load in with the other miniboss. This is very easy to do, and can cause all kinds of issues.
    Recording: https://www.dropbox.com/s/ysxx6onl32rg6e3/gamerecording_191229_121420_SSZ.bin?dl=0

    I think these issues may have been in the original Sonic 3 and Knuckles, so it's entirely up to you as to whether you fix them.
    I'll also be doing a stream today of me playing through it again, so if any issues arise while playing, I'll be sure to make a note or recording and let you know afterwards.
     
  16. Firippu Maiefusuki

    Firippu Maiefusuki

    Member
    17
    11
    3
    Hi, I'm trying to play the game on mac myself, but I'm having a bit of trouble with the installation process. What should I install into which bottle?
     
  17. Sappharad

    Sappharad

    Oldbie
    1,413
    70
    28
    There's only one bottle. Those instructions have you switching the bottle type between Windows 7 and 10 to get the dependencies installed. They assume at least some familiarity with crossover, such that you know how to open WineConfig to change bottle settings, but otherwise are fairly straightforward. The only thing easier I could do is make video instructions or just offer the bottle for download with all of the work done for you. I suggest just carefully following the instructions. Note that I wrote them last year prior to the current version of CrossOver and there might be other ways to accomplish the same thing in the latest version. I can confirm that the game still runs on the latest version of CrossOver on the latest macOS Catalina, as long as you're in safe mode.
     
  18. Eukaryot

    Eukaryot

    Tech Member
    63
    155
    33
    Sonic 3 A.I.R.
    Hey everyone,

    The following is going to be a longer post, here‘s the short form:
    I'm making the scripts (that are a major part of Sonic 3 A.I.R.‘s functionality) public as open source, and bundle them with a development version of the underlying engine for download.

    Okay, that was the short version, here‘s the long one.

    It‘s been around a year since Sonic 3 A.I.R. got its first "full" release with the complete game playable - and since then many extras have been added, including the Blue Spheres game, Competition Mode, and many smaller tweaks and options that I have always wanted to see in S3&K.
    But since the last stable update on Christmas, things have changed.

    Right now, the whole project has reached a point where there‘s actually not too much left of what I have planned for it content-wise.
    Which means that
    a) I‘ll be focusing more on technical / engine stuff in the future, not so much on the core game any more, and
    b) changes on the game code have stabilized enough that I wouldn‘t worry too much any more if other people played around with the game code themselves.

    So as mentioned above, this post is about a source code release of the game scripts. And don‘t get me wrong, only the game scripts, not the C++ code of the engine.
    But let me explain.
    The whole project consists of a mix of C++ code and scripts. All in all, it‘s these three major parts:

    1) The engine, which I named "Oxygen Engine" now (because air…, oxygen..., you get the idea).
    This is more or less a replacement of what an emulator does. Or original hardware if you will. It provides the basic graphics / audio / input functionality for the game, and is able to execute code from scripts (but can not emulate e.g. 68K code, so it's not actually an emulator). In a way, you could call it a specialized minimalistic game engine built mainly for S3AIR, and who knows, maybe other future projects as well.

    2) There's also some S3AIR specific code written in C++. This exists because in most cases it was easier for me to add new stuff like menus that way, or for performance reasons. This includes things like the new menus – main menu, options, etc. - together with related features like achievements, and also the modernized special stage rendering, and S3AIR's Time Attack.

    3) All of the rest, everything that makes up the actual S3&K, is in the game scripts.
    These scripts are using a custom, and quite basic, script language designed for generating script code out of the original 68K code. Which is exactly how they were first created – it‘s simply a automatic translation of 68K opcodes to something that more closely resembles a higher programming language. Plus actually a lot of manual review, commenting and refinements, because as you can imagine the generated code is still kind of ugly and hard to understand.
    So the script code includes almost everything covered by the original S3&K ROM code, from character / object / level routines to VDP calls and graphics decompression.

    I guess the scripts is the most interesting part of these three parts anyway, and that‘s what gets released as open source. Together with a special development version of the Oxygen Engine that includes the integrated analysation and debugging tools that I used to make all the needed changes for S3AIR to the original code. Because I can tell you, I had no idea at all how Sonic 3 & Knuckles worked when starting all of this back in 2017. So these tools probably aren‘t the worst. ;-)

    So it‘s the full scripts and the dev engine. What you make with it is up to you!
    Here is the download link.

    If you just want to take a quick look into it, download the ZIP, unpack it anywhere you like, and start the OxygenApp.exe inside "oxygenengine" (it‘s Windows-only at the moment).
    Or for the scripts, go to "sonic3air_dev\scripts".
    You can find more information on the engine in the handbook PDF next to the exe.

    Also note – in case it wasn‘t clear so far – that the engine does not include the S3AIR specific code. So the new menus are missing, i.e. title screen leads directly into data select as in original S3&K. And special stages lack 16:9 support, but (mostly) resemble their original appearence.


    By the way, the latest preview version of S3AIR has support for script mods, allowing for changes to and extensions of the game functionalities.
    In case someone likes to get engaged in that – please make sure to read both the modding PDF inside "doc" in the S3AIR game installation, and the Oxygen Engine handbook (see above).

    Have fun!
     
    Last edited: Apr 11, 2020
    • Like Like x 15
    • Informative Informative x 1
    • List
  19. farmerbb

    farmerbb

    Member
    9
    4
    3
    Really glad to see these dev tools and scripts released!

    Does the Oxygen Engine include the automatic 68K opcode translation tools that you used for translating S3&K into Lemon script?

    EDIT: also, on page 13 of the handbook, it mentions preprocessor definitions. Where are these definitions actually set? Are they part of the compilation process of the Oxygen Engine / Sonic 3 AIR themselves (and thus not part of the open source release), or are they set somewhere in the scripts?
     
    Last edited: Apr 13, 2020
  20. Eukaryot

    Eukaryot

    Tech Member
    63
    155
    33
    Sonic 3 A.I.R.
    No, that's yet another, entirely different application. Or actually a crude hybrid between a modified emulator, a script runtime environment and code generation. Certainly nothing I'd want to make public any time soon.

    The preprecessor definitions are set by the engine itself, and exist only to differentiate between different runtime environments (namely S3AIR game build vs. pure Oxygen Enine vs. the aforementioned modified emulator).
    So yes, they're all hard-coded into the compilation process.