CROSS ENGINE: Combining Chrono Engine with Altimit Movement

● ARCHIVED · READ-ONLY
Started by Restart 206 posts Page 3 of 11 View original ↗
  1. enable altimit debug plugin, which will show you what the hitboxes look like.

    The X and Y are the coordinates of a rectangle relative to the upper-left corner of the tile the event is on, so setting x=5, y=5, will mean that you have a hitbox that's pretty far away down and to the right. Width and height determine how big the hitbox is.

    The comment tags for altimit are active for the specific event page they're on (so changing pages can change how big your event is)
  2. Restart said:
    enable altimit debug plugin, which will show you what the hitboxes look like.

    The X and Y are the coordinates of a rectangle relative to the upper-left corner of the tile the event is on, so setting x=5, y=5, will mean that you have a hitbox that's pretty far away down and to the right. Width and height determine how big the hitbox is.

    The comment tags for altimit are active for the specific event page they're on (so changing pages can change how big your event is)
    I already try to add all the collider script type, I think it my be something with this events type the need a specific Hitbox plugin in order to work, (it's few plugins the need eachother to work properly), I check the plugin script itself and still didn't find why is that, I will have to do more checking, thanks for the help.
  3. Bug, Animation number 0008 and small idea/request:

    Hey, I hope you doing well,
    I notice a small thing, it seems like if I change animation number 0008 to normal 'effect' it will show up every time I use item/skill on an enemy or when the enemy attack player even if I didn't set it to do that.

    I guess its something with the one you already set it there call: "Temp Invulerability Damage Flash", are this animation number connect to some script in your cross plugins? if so what this animation set to do?


    Small request/ thought (if possible):
    You know when you use the "collision_id :" comment the event will 'remove' if using the 'item' you set there... I was looking for a way to add extra setting the only if use the item set 'amount' of times, only then it will be 'remove', something like "collision_id : 6 : 3" currently that's doesn't work).

    If the 'cross' only changes the 'enemy' script, you may change the enemy react to only get damage from a specific item/weapon? and then add a similar option as above?

    Also, I go even deeper with this idea, if possible, set up with a script how each item/weapon will affect the event (one item will light it up, the other will change active a switch...), that will be even better... maybe that's too hard to get that too work, just a thought

    It can be helpful for making stronger items/tools that affect the event faster/differently.

    Edit: Bug?
    I might be wrong but it seems like the 'mog_pickup_throw' plugin doesn't set up %100 with altimit, I take it from the fact Player can't 'throw up' an object (for example: 'bam') after pickup, (it works fine when turning cross/altimit off). there is any script, setup the can fix that?
  4. How could i use Cross Engine with MOG DestinationPointer? It is possible to run them together or they just wont fit? Because i tried and the pointer just doesn't show ://
  5. TigerJazz said:
    How could i use Cross Engine with MOG DestinationPointer? It is possible to run them together or they just wont fit? Because i tried and the pointer just doesn't show ://

    The reason why 'MOG DestinationPointer' not working for my understanding: It's something to do with 'collider' checking, the original 'MOG DestinationPointer' plugin probably only have a function to check y,x in tiles, and there are 100 colliders in each tile... so we will have to add a 'collider location' script to check that, Restart mentioned this type of script in the official 'altimit' post.

    The solution: What I did, instead of using MOG DestinationPointer to get a mouse point picture, I use TDDP_MouseSystemEx. However, if you using mv version 1.6 or up you will have to use a specific version of the plugin edit by Krimer, the original plugin not working properly on that version of mv (unless you using mv vir 1.5.1 version or lower than use the original one). I added the js file with the fixed version (for mv 1.6+).
  6. This is great work! I was hoping the new MZ version would have this same exact chrono like functionality built in but no such luck.. I have heard that MOG Hunter will be porting his Chrono engine over to MZ . Would be nice to see this ported over as well .
  7. TheGameAfter said:
    The reason why 'MOG DestinationPointer' not working for my understanding: It's something to do with 'collider' checking, the original 'MOG DestinationPointer' plugin probably only have a function to check y,x in tiles, and there are 100 colliders in each tile... so we will have to add a 'collider location' script to check that, Restart mentioned this type of script in the official 'altimit' post.

    The solution: What I did, instead of using MOG DestinationPointer to get a mouse point picture, I use TDDP_MouseSystemEx. However, if you using mv version 1.6 or up you will have to use a specific version of the plugin edit by Krimer, the original plugin not working properly on that version of mv (unless you using mv vir 1.5.1 version or lower than use the original one). I added the js file with the fixed version (for mv 1.6+).
    Thanks! I will take a look!
  8. hello, how does galves cam plugin help with event and doodad jiter? Any chance you can share how to do that?
  9. Hello, I just wanted a help if anyone knows how to thank you.
    Well the boomerang tool doesn't work as it should with normal settings, how can I configure it?
  10. zyeard said:
    Hello, I just wanted a help if anyone knows how to thank you.
    Well the boomerang tool doesn't work as it should with normal settings, how can I configure it?
    Hey, zyeard, you need to change some numbers to configure with altimit, I added an example of a boomerang Tool event that's work, you can copy and post it, then you can play with it a bit to see how it's work (focus on the 2 blue singes I added).
  11. TheGameAfter said:
    Hey, zyeard, you need to change some numbers to configure with altimit, I added an example of a boomerang Tool event that's work, you can copy and post it, then you can play with it a bit to see how it's work (focus on the 2 blue singes I added).


    Thank you very much it really helped !!!
  12. @Restart Just want to apologize and say thank you, apologize for trying to ask about MZ, a system like that takes a lot of time to import. I decided to stick with MV to use the power of the cross engine, I appreciate all the effort and time you put into it, and for sharing it. Any updates/other plugins commutability for MV will be very helpful, however, after all the people asking about MZ, it might pull you off, and that understandable. In any case, my game plan was not possible to have the freedom I wanted without your cross engine, I didn't fully understand that until now, I can't thank you enough. Have a wonderful day/week.
  13. First of all, this is amazing, and thank so much!

    I have some weird enemy/character shapes, and can't figure out how to make the collisions/hits to work properly.

    Is there a way to see and/or customize the 'hurtbox' size? I see it mentioned a few times in the code, but don't quite see where I could change it.

    I thought using 2 Altimit Colliders might work, but that seems to just be for changing the shape, not having different collisions.


    Edit: hit post too soon, finished question and reposted.
  14. Hi Restart!
    Thank you for sharing this amazing plugin together with the demo file. This is all really fascinating, and I really appreciate your work!
  15. Drake-_-Azric said:
    First of all, this is amazing, and thank so much!

    I have some weird enemy/character shapes, and can't figure out how to make the collisions/hits to work properly.

    Is there a way to see and/or customize the 'hurtbox' size? I see it mentioned a few times in the code, but don't quite see where I could change it.

    I thought using 2 Altimit Colliders might work, but that seems to just be for changing the shape, not having different collisions.


    Edit: hit post too soon, finished question and reposted.
    IIRC, hurtbox is totally differently from map collision, it's a circle centered on the bottom of the event's main tile and defined in the enemy's note tags as body size. Defaults to radius of 1, I think?
  16. Hi. How did you make spells or arrows (for example) disappear at the edges of the screen? On Chrono Engine, it reaches the edge of the screen and stops. I'm racking my brain to fix this problem.
    ----------------
    >>>> I found the solution. Ignore this coment rs
  17. uhhh...anyone helps ? :kaoeh:, why my game look like this when I play test it :kaoswt:
    (No nevermind I fix it, I have to turn off AltMovement I hope it's not imported to the battle plugin)
    Screenshot_3.png

    Restart said:
    Latest Version: Cross Engine Alpha 0.20.06.26 Demo Project




    What is Cross Engine?

    Over the course of the last few months I've been working on my game, and I decided I wanted to combine Altimit Movement and Mog's Chrono Engine. Cross Engine is what I call the big pile of functions that makes both of them work together, giving both pixel movement and ABS mode.

    It also includes bugfixes, and QoL features that came up when I was doing things (most of my notes to self thread is included). Basically, this is all stuff I found useful, and hope that other people will find useful as well.

    Why's it called Cross Engine? Partially because it's a Cross-Compatible Engine for making games, but mostly because it's a followup to a beloved classic which killed off Chrono.


    Compatibility Patches

    Cross Engine now works with yanfly's itemcore, altimit movement, yanfly's item spawner, yanfly's doodads, and galv's camera plugin (the last of which is actually essential to avoiding event/doodad jitter).

    Also, Ultra Mode 7.

    Other New Features:
    8-directional, 2 directional, and 1-directional Spritesheets:

    Sure, a lot of people have 8-directional spritesheets (and I support all the major formats), but how many people have ONE-directional spritesheets?

    With Cross Engine, you can take any old image, give it a filename, and put it in.

    ameEN5K.png
    Save it as $Angel(f1)(d1).png, and BAM, it's usable as an event. No mucking around in photoshop making a spritesheet with four versions of the same sprite.

    But that's not all! I also added intelligent sprite flipping, as well. If you named that angel $Angel(f1)(d-1).png instead, it will flip to face left if it moves left, and flip to face right if it moves right.

    Split poses and actions
    One of the things really dragging down the pace of a chrono engine game is that characters were locked in place while they animated. I have changed the engine so now you have a separate 'pose duration' and 'act duration'. Pose duration means your character is playing an animation, act duration means they can't move or cast anything. I've also added a 'cooldown duration', which lets you move, but doesn't let you cast any abilities.

    Intelligent Tag Parsing
    1) Tags parse from right-to-left, instead of left-to-right. This seems super minor, but it means that if your base character sprite is $Harold(f4)(d8), and he has a casting pose "_casting(f8)(d1)", then the new spritesheet sizes will take precedence!

    2) Filename Completion: Let's say your idle sprite for harold is "$Harold(f4)(d8)_idle(f1)(d1)". In base Chrono engine this would cause rpgmaker to screech to a halt, because it can't find "$Harold(f4)(d8)_idle".

    However, upon starting up the game, Cross Engine makes a list of every file in your characters folder. When it checks for poses, it will first check for an exact match. If it doesn't get it, it will check to see if there's any longer versions of that filename. If it checks for "$Harold(f4)(d8)_idle", and can't find it, it will return "$Harold(f4)(d8)_idle(f1)(d1)".

    What if there's no match at all? The event keeps its base sprite. In playtesting, it will whine about it in the console. No crashing.

    3) Negative values are now allowed for x and y offsets.

    Walking actions
    You know how in megaman you can shoot your little gun and megaman keeps on walking? Using the tag (walking) will keep your character in the same part of the animation cycle when transitioning into the new pose. Practically speaking, that means you can do the megaman things. If the character isn't moving, it will fall back onto a _static pose, so you don't run in place whenever you shoot.

    Standing Pose
    One of the big constraints on having fluid animation in rmmv is that your walking frames have to include a static pose used for standing. If you define a 'standing' pose, your character will use that instead when they aren't moving. While you can technically do this with an idle pose, I wanted to have both in my project.

    Faint Poses
    Mog was going to implement faint/death poses distinct from damage poses, but didn't end up finishing it. I have an implementation of this, so you can have a robot get banged up a bit when it gets hit, then violently explode into a miserable pile of circuits when it dies.

    Basic Preloader Function
    One thing you'll notice using chrono engine is that whenever creatures change poses for the first time, you'll sometimes see a flicker as the file loads. I have added a function which preloads all poses for a creature. If you enter ImageManager.preloadPoses('Ralph'), it will find 'Ralph_attack', 'Ralph_defense', 'Ralph_is_unstoppable(F4)(d8)(s2)(x4)', et cetera, and preload them. This doesn't happen automatically - you have to invoke it each time you're worried about preloading.

    New plugin command: disable_idleposes
    Turns off idle poses. Good for cutscenes where characters mugging at the camera is unwanted. Turn them back on with enable_idleposes

    Intelligent Rotations

    Do you want a magic circle of spinning runes? I've got you covered. In chrono engine, rotations are around the bottom center of the sprite, wherever it is. In Cross Engine, the axis of rotation is the base of the event - the offsets you put into filenames, (y124) or (x12) or whatever, move the sprite without changing where rotations are - so if you have a 128 pixel tall wheel and put (y64) into the filename, rotating it will spin it!

    I also have functions that let you tell an event to spin its sprite, and whether or not there's an angle it should stop at. So you can have a compass that always points at the player or at a monster or something.

    And if you use the this.rotFaceTarg() function, your bullets will point to face the direction that they're going to move towards. In a move route, put it on the same line, directly after one of the motion-ordering commands (like rLoc, tLoc, shootForward, or shootPastPlayer)

    A big pile of helper functions
    I've got a bunch of functions with short names for stuff that I ended up doing often, like converting directions to vectors or angles, or making characters move in a specific direction. For instance, being able to type in tLoc(x,y) to get a character to move directly to the location x,y makes writing moveroutes and scripts a lot easier.

    How To Use
    Just like the Chrono Engine which preceded it, you're best off starting with the working demo project and building outwards. The cross engine plugin itself should be reasonably drop-in for an existing Chrono Engine project, but I honestly haven't tried it.

    Q & A:
    1) Will you make a compatibility patch for (this random plugin)?

    If I end up using that plugin in my game, yes. Otherwise probably not, there's a lot of plugins out there.

    2) I have a compatibility patch for chrono engine and (some plugin) - will you add it?

    If it doesn't break anything, sure.

    3) I have a bug report!

    If it's in ABS mode, upload either a minimal test case or a bugfix.

    4) What if I'm reporting a bug that isn't in ABS Mode?

    We've moved on past Chrono Engine. This is the sequel, Cross Engine. Chrono died in the timeskip. It's sad but we all have to live with it. You can report Chrono bugs but I probably won't do anything about it.

    4) But what if I have a bugfix for a bug in Chrono mode.

    Oh well in that case, sure. Just because I don't care about poor dead Chrono doesn't mean other people don't.

    5) I'm using yanfly item core with this and I'm just getting a 'cancel' beep when I try to use a sword or my shield isn't working or whatever

    Turn on midgame note parsing.

    6) What are the future plans?

    I'll keep adding features that I personally find useful, and fix bugs I encounter.

    7) I want to take cross engine and make my own thing based on it.

    Go ahead, just credit with a linkback, and stick a link in this thread to wherever your project is.


    PLUGIN ORDER:
    Spoiler
    This is from the demo project, but I'm putting this here as well
    gvOI9Z8.png

    LICENSE:
    This is a cross compatibility patch, which means that it borrows heavily from the underlying plugins. Do whatever you want with my contributions, but don't take that as permission to violate any terms for the underlying plugins I'm stitching together. Use it commerically, noncommerically, as a basis for your own compatibility engine, whatever. Please credit.

    CREDIT INSTRUCTIONS for using Cross Engine:
    For Cross Engine specifically, credit 'Restart', and make sure you also credit Moghunter and Altimit Community Contributors for their massive contributions. Neither of those plugins' terms require it but I think they deserve it :).


    DEMO CREDITS:
    * Moghunter made the original Chrono Engine, as well as the original chrono engine demo which I'm including.

    * The Altimit Community Contributors is the official copyright group listed for Altimit Movement, but I think we all know that it wouldn't have happened without Xilefian.

    * Galv's Camera Plugin is included (with permission) in the bundle as well, because it's needed to control the unholy jitter this stack of plugins creates.

    * Yanfly gave me permission to include some of the original code when making the YEP_EventSpawner compatibility patch.
  18. @Restart
    Bug Report:
    In Chrono Engine, there is a plugin command to change the speed above the natural value 6. However, if you use speeds 7, 8 and 9 the character ignores the collision and goes through walls and events.

    It's the only thing stopping me from using your system. Is there any chance of correction? It would be awesome if you could. :)
  19. I seem to keep getting errors every time I try to use Khas's lighting plugin. The property number keeps changing on every crash.

    Edit: This actually seems to be having issues with other lighting plugins.