Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

Steven M

Members
  • Posts

    650
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by Steven M

  1. I still remember when people bitched at the change of art direction Megaman 9 took. "Why didn't they do it in SNES style? Why didn't they make it look better for a NES game? This is totally shitting on the classic Megaman series." And now there's people getting worked up over Megaman 10 for arbitrary reasons. Point is, people are bitching - and have bitched, and will continue to bitch - over the most pointless things (bawwww running animation, bawwww 3D graphics, bawwww larger-than-usual rings). Yeah, Sonic games have been given the shaft for a while now, we all know that. And SEGA's always talked about the series going back to its roots and then adding weird shit like talking swords and werehogs. But they're crossing a line by calling this Sonic FOUR, and that says to me they've got something big to back up the size of their balls on this one. If we get a decent gameplay trailer, and people come back saying it's shit, then fair enough - it seems very plausible. But even I think it's way too early to judge this one.

    I'm just saying, cautious optimism.

  2. I saw the trailer! ...3 seconds of footage? I'm cautiously optimistic. I wish I were more FUCK YEAR about it, but there's really not enough to FUCK YEAR over - this shit's on dribble-feed.

    I know SEGA's been rocking the whole "Sonic is the only playable character" schtick for a while now, but I really would like to see Tails and Knuckles too. Like the direction Sonic 3 took with multiple paths, and pantomime during cut-scenes. Speaking of which, are we hedging any bets on how much dialogue there'll be?

    "Episode 1"... I'm not sure how to feel about that (could we be seeing more DLC to go with this intended series as well?), though maybe it'll just be like S3&K - play the games individually, or buy the lot and play through Sonic 4 Complete. EDIT: I can totally see SEGA making Episode 1 as Sonic Only, with Episode 2 and onward having Tails and maybe Knuckles playable. Sonic 4 Complete would let you play through the whole 'series' with later characters, ala S3&K. Whether that means we'd get stuck with new friends in later episodes as well, is up for speculation.

    And that mystery platform is totally the Sega Zone. EDIT: Scratch that, it's the fucking iPhone. Wait a minute, wasn't there meant to be a Sonic CD port for the iPhone too...?

  3. Never mind, I think I've got it sussed. Keyword, think. Mostly it's do with delaying the action of the trail segment as it takes the same path as the Main Object, thanks to the number-crunching script I've got half my head around. Thus:

    ON LOOP "init_trails"
    + ALTERABLE VALUE A OF ("Trail Segment") = LOOPINDEX("init_trails")
    ----
    TRAIL SEGMENT
    Set Alterable Value B to [i]DimX( "Array" )-(Alterable Value C( "Main Object" )
    +Alterable Value A( "Trail Segment" )*Alterable Value C( "Main Object" ))[/i]

    Some further code copying/altering was required for the second trail segment, but the crucial difference seems to be this simple:

    ON LOOP "init_trails"
    + ALTERABLE VALUE A OF ("Trail Segment") = LOOPINDEX("init_trails")
    + ALTERABLE VALUE A OF ("Trail Segment 2") = LOOPINDEX("init_trails")
    ----
    TRAIL SEGMENT 2
    Set Alterable Value B to [b]([/b][i]DimX( "Array" )-(Alterable Value C( "Main Object" )
    +Alterable Value A( "Trail Segment 2" )*Alterable Value C( "Main Object" ))[/i][b]*2)[/b]

    Given some time I'll be able to better comb through the script, and then probably simplify it.

    Edit: thanks for the link, gsoft!

  4. DimX/DimY/DimZ("Array") retrieves the array's axis dimension (size). That means, if it's a 8x6x3 (3D) array, DimX would be 8, DimY would be 6 and DimZ would be 3.

    start loop "init_array" DimX("Array") times essentially runs the loop for an amount of times equal to the array's X size.

    Alright. The array's set dimensions are x=500, y=3 and z=1, ergo the array's 2-dimensional. My assumption was that this was a fixed-size array. Ha! But the script goes as follows:

    START OF FRAME 
    Special Conditions - Start loop "init_array" DimX("Array") times
    ON LOOP "init_array"
    Array - Write Value X("Main Object") to (LoopIndex("init_array"), 0)
    Array - Write Value Y("Main Object") to (LoopIndex("init_array"), 1)
    Array - Write Value Dir("Main Object") to (LoopIndex("init_array"), 2)

    So if I understand this right (and I probably don't), the Array object writes three different variables to the loop as it goes on, each variable having a seperate 'depth' from the other (so 0/1/2 would be the Z/depth axis, so to speak... even though the manual states setting a dimension to 1 renders it null?). So does that mean the X value of the "Main Object", which is being written to the loop, determines the number of times the loop runs?

    [NEGATE] "Main Object" IS STOPPED
    Trail Segment - Set X position to ValueAtXY
    ( "Array", Alterable Value B( "Trail Segment" ), 0)
    Trail Segment - Set Y position to ValueAtXY
    ( "Array", Alterable Value B( "Trail Segment" ), 1)
    Trail Segment - Set Direction to ValueAtXY
    ( "Array", Alterable Value B( "Trail Segment" ), 2)

    And if I'm assuming that 0/1/2 does refer to the Z axis, that leaves "Array" as the X and "Trail" as the Y in the "ValueAtXY" equation, yes? Or no? I'm horribly, horribly confused!

    The actual tutorial, if you're interested, can be found here - though it's halfway to what I'd really like, which is the aforementioned Centy/Mother party system.

  5. Alrighty then, new conundrum. I'm studying Retriever II's Caterpillar tutorial (which allows a group of the same object to follow a 'main' object), and part of the script asks for DimX("Array") as a value. For example:

    IF start loop "init_array" DimX("Array") times
    IF Alterable Value A of "Main Object" > DimX("Array")

    Array being the Array object with X, Y and Z dimensions. I get that Dim stands for dimension, and Dim(X,Y) returns the difference between the two integers if it has a positive result. I also understand that - in VBasic at least - "Dim array_name (upper_bound)" is a fixed-size array declaration. So what does DimX in MMF2 stand for, exactly - Dim(X,Y), DimX where 'X' is the name of an array, DimX where X is the X value given to Array, or what? It feels pretty embarrassing being confused at this point, but it's something I have to understand properly.

  6. Glad I could help; I used to go crazy over making your same issue work until I came across this extension ( just in time for when I was designing that 3D special stage engine in which I was able to sort by descending Z position ).

    I remember that special stage, it was aces. And descending Z position? If I remember right you didn't use Mode 7 for the engine, though it probably wouldn't have been that useful anyhow. I can't imagine how you'd get that to work (lots of advanced maths and juggling alt values, I guess).

    No, but the layering works like a charm now - I can get all four characters (including the guard) working properly now, whereas before I'd be tearing my head out. Thanks again!

  7. Do groups work properly in MMF2? If so, I imagine you could put every object into two groups, 'Overlapper' and 'OverLapped' (IE: Hero is in both Overlapper and Overlapped). Then, use general values like so...

    If group.OverLapper.Y < group.OverLapped.Y

    ***then set object.OverLapper in front of object.OverLapped

    That _should_ work.

    IF Y position of (Group.Good) &gt; Y position of (Group.Neutral)
    THEN Move (Group.Good) in front of (Group.Neutral)
    IF Y position of (Group.Good) &lt; Y position of (Group.Neutral)
    THEN Move (Group.Neutral) in front of (Group.Good)
    

    Tagging everyone but Hero as Neutral and Hero as Good, he can overlap/underlap(?) properly in front of one object, but it doesn't seem to work with the others - I think the way its working is, he has to be behind ALL the Neutral-tagged objects (e.g the whole group) for the underlap to work, but if he's just walked in front of one Neutral object, the script puts him 'in front' of all the rest. Obviously I don't want that, I want it to work so he can under/overlap every other Neutral object individually.

    Tagging Hero as Neutral and Good, it just doesn't work at all. Tagging everyone as Neutral and Good doesn't work, either. I'm going to keep pissing about the script and see if anything works, because I think I'm just not getting it properly.

    Edit: and this is just Conrad (the hero) walking around on his own! I haven't even gotten far enough to getting his party following him properly yet!

    Double-edit:

    I think the way its working is, he has to be behind ALL the Neutral-tagged objects (e.g the whole group) for the underlap to work, but if he's just walked in front of one Neutral object, the script puts him 'in front' of all the rest.

    It's definitely this. Confirmed with counters.

  8. You've seen games before where Hero McNiceguy walks around the level, tagged along by party members Sidekick McScrappy and Princess Bipolar. Where he walks, they walk. If he decides to do a U-turn, they'll gladly walk through him to progress. We're talking games like Mother 3/Crusader of Centy/Zelda where, even if you can't walk through NPC characters, you can still appear 'in front' of them (you overlap them) and also appear 'behind' them (they overlap you). And this is where I come in.

    satest2.png

    Our red sprite is the 'hero' in this case. If he's in front of the other two characters because he's lower down on the screen, he should be first in 'order'. If he's higher on the screen and the characters are following, he should be last in 'order' (so the other characters overlap him). Simple, right?

    I can easily write a script in MMF2 to the point of "if (A)'s Y coordinate > (B)'s Y coordinate, move (A) in front of (B)". But I don't want to have to write that for every character overlapping every other character, especially when NPCs, enemies, items, etc are factored into account.

    How do I write it so that if any object has a higher Y coordinate than any other object, they're placed higher up on the order chain?

  9. I think the ground could maybe use something. Maybe grass or something along those lines. The lower part of the menu looks really empty compared to the busy sky.

    Looking at it again, I though the ground looked a bit too bright considering the light source, so I've darkened it a bit. If I get any ideas as to how to decorate the thing I'll have at it - if you get any ideas, let me know as well.

  10. Fixed the links in the second post. Clouds duly noted. Decided that having the cursor hover over the guy will bring up a floating FAQ/About/Email link.

    As for the tiny sprite issue - there's only one way to find out! =D

    Edit: I may as well 'fess up. The idea I had in mind was for a game that had loads of mini levels in three different 'styles' - beat-em-up (ala Turtles in Time), linear platforming (using the Sonic Spring engine) and more methodical platform/puzzling (like Disney's Quackshot). So the sprites generally stay the same for each subgenre. Having huge sprites in a platform game is generally a bad idea since you can't see what's around you in all directions, which is usually less of a problem in beat-em-ups.

  11. 23/09/09:

    conaradtest3d.png

    This probably won't be permanent - the background needs a greater sense of spatial depth (the character outlines clash with the background even now) and it's mirrored at the moment. I had also intended a bleaker graveyard theme in this mockup, but as I started studying previous Game Boy and Neo Geo Pocket screenshots, the palette got a tad out of hand. The giant mook isn't finished either - still has an excess palette, and dodgy lower body. We'll see how things go later on.

    The characters are just standing around at the moment, yes. I'd anticipated a cutscene before the actual fight starts to get underway. Once I've got the designs sorted out properly, I can get into drawing attack/hurt sprites.

    Edit:

    deadonegaletwotwo-1.png

    Colour adjustment.

×
×
  • Create New...