Xavier's Forum Posts

  • Use the action "set object timescale" to 1 on the objects you don't want affected by the global timescale.

  • Your game crashes the latest version of safari on the mac. I'm wondering if it's a specific plugin you might be using it doesn't like?

    I don't have a Mac so I can't test it but it's probably a Safari bug, not much I can do unfortunately, check this thread for more info:

    I've uploaded a Node-Webkit version for Mac if you want to try this one: Link

    That is super work - I love the consistency of the system. This open source for leaning from? you going to make the capx files available?

    Thank you. I already said it at the end of the original post but for now I don't want to make the .capx public, I would need to clean and organize some events and add comments to a lot of them. I did this project as a learning exercise so I didn't put much effort into making it easy to understand for everyone. For now I want to take a break from this and maybe in the future I'll come back to it, improve it and clean it up.

  • HTML5 Link: https://mysticboon.itch.io/jrpg-prototype

    30MB download and WebGL required for graphic effects.

    Tested on Chrome (recommended) and Firefox, please don't use Internet Explorer if posible, the sound doesn't work as expected.

    Objective:

    Defeat 2 wave of enemies and the boss.

    Quick Tips:

    You can select multiple targets when using magic by using left for enemies or right for party.

    Attack builds more rage.

    Acolyte is resistant to magic

    Suplex is useful on the boss (weight based)

    Controls:

    Arrow Keys to select

    Enter to confirm and Escape to cancel.

    How to use Blitz: Select the blitz command and press enter, then introduce a combination using the arrow keys and press enter to confirm.

    Blitz Commands:

    Raging Fists: Left - Right - Left

    Suplex: Left - Right - Down - Up

    Please let me know if you find any bugs, thank you.

    -----------------------------------------------------------------------------

    A little over a month ago I challenged myself to create a turn-based rpg system. I wanted to see how hard/easy it would be, and also as a way to learn more, I had also used the program RPG Maker years ago and I always though it could be fun to see something similar made with Construct. Most of the system was done in the first 2 weeks but I got tired and started doing only a little every day.

    I finally finished it and I'm pretty satisfied with the result, I'll comment on it below. Anyway, I have no plans to continue or extend it at the moment because I got a little tired of it for now, I just wanted to do a demo showcasing the engine and that's what I did.

    Before giving an explanation of the system I just want to say that I've found this project of creating an RPG on Construct 2 not as hard as I though (thanks to C2 event system of course), instead of hard, I would describe it as complicated (lots of thinking, formulas and stuff) and also time consuming for a single person.

    Alright, I'm going to explain the project (563 events) a little for for anyone who is interested:

    The only unofficial behaviors I've used are MoveTo from rexrainbow and LiteTween from lunarray, both being very useful.

    The project uses an ATB system (active time battle) which was used from Final Fantasy IV to IX, but my system is completely turn based, that means that when someone has the turn, everything else stops until that character is finished with the turn. That made things easier for me.

    The battle system is a mix of features between Final Fantasy V-VI-VII. In this demo you have 2 party members, a warrior-type with sword (with the Blitz command from FFVI) and a Mage which uses black and white magic. Nothing is faked or simulated, all the damage numbers are calculated based on formulas which I borrowed from other games and modified them a little. The party members and enemies have the following stats: HP, MP, Attack, Defense, Intelligence, Magic Resistance and Speed (which determines the ATB Bar speed).

    The Blitz command "Suplex" does damage based on the enemy size, I thought that would be a cool way of doing it.

    When using magic, you can select multiple enemies or party members by going to the leftmost enemy and pushing left again, or using right on the party members. You can even attack yourself or teammates.

    At first I was going to add the commands "Defend" and "Item", but decided against it, defend wasn't really necessary for this demo and for the items I would have had to create and inventory system which I didn't feel like doing.

    I used a xml file to make it easier to translate commands, names and edit mp consumption, magic type and stuff like that, there's only a very few lines, but the idea was to be able to make it easier to manage in a bigger project. I could have used it a lot more for stats and other things but the instanced variables was enough for me. The game extracts information from this file with the Ajax and XML plugins. That's the xml file I used:

    <?xml version='1.0' ?>
    <xml>
    	<commands>
    		<attack id='1'>Attack</attack>
    		<magic id='2'>Magic</magic>
    		<item id='3'>Item</item>
    		<blitz id='4'>Blitz</blitz>
    		<limit id='5'>Rage</limit>
    	</commands>
    
    	<magic>
    		<cure id='1' mp='5' type='white'>Cure</cure>
    		<fire id='2' mp='20' type='black'>Fire</fire>
    	</magic>
    	<rage>
    		<meteor id='1' id2='rage_meteor' type='blm'>Meteor</meteor>
    		<cannon id='2' id2='rage_auracannon' type='mnk'>Aura Cannon</cannon>
    	</rage>
    </xml>[/code:3ad06hit]
    
    All the graphics sprites are borrowed from either other games or free art (you can see where from the credits), I really didn't want to spend any time doing that. I only created the logo and some simple bars.  
    The project uses quite a few WebGL effects, for instance coloring the bars depending on its state, coloring the enemies, transition effects, the heat effect on the desert background...Memory usage is reported at around 87MB in this demo.
    A shadow for each enemy/party is created automatically based on their width.
    I created the spritefonts with the program [url=https://www.scirra.com/forum/sprite-font-generator-v2_t86546]giveyourfontsmono[/url] by @blackhornet, very useful tool.
    
    The battle and boss music have a perfect loop (except on IE  <img src="{SMILIES_PATH}/icon_e_sad.gif" alt=":(" title="Sad"> ), the boss music was already loop capable, but the battle music had a little intro which I separated into a different track, this intro only plays at the beginning of the battle and when this intro track finishes playing, the loop part starts which then keeps playing for the rest of the battle. This was done in C2 with the audio condition "On ended". Internet Explorer doesn't seem to loop perfectly, with a little delay between.
    
    Well, that's about it for now. I'm not going to share the .capx for now for a couple of reasons, mainly because it's just a big project with 500+ events and even though at the beginning I was trying to comment everything and keep it perfectly organized, as it went on I stopped the comments and not organizing as much, and I'm afraid it can make hard to understand some of the events. 
    
    For the next project I might try doing a Fire Emblem clone system or point&click adventure system. Thanks for reading and let me know if someone finds any bugs or needs more info on something specific.
  • Probably with the Sine behavior.

  • Can you share your .capx?

  • Can you share the .capx?

  • Try moving the event "player is overlapping with enemy" to the bottom of the event sheet. It needs to be below the events that control "key is down".

  • Use the bullet behavior for the vehicles.

    For the frog movement, the unofficial moveTo behavior could come in handy: http://c2rexplugins.weebly.com/rex_moveto.html

  • Create a instance variable (boolean) on the platform. Call it activated for instance and set it to false for all of them on the editor.

    On the events, when you land or collision with the platform, change that variable to true.

    And finally on the event that adds the points, add the condition that the platform's instance variable must be false.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Change the condition "On collision" for "Is overlapping" and on this same event, add the platform action "Set Enabled " and set it to Disabled.

    That will make the player unable to move while is touching the enemy.

  • You're welcome and you're right about RGB being an additive format for producing colors. For real life color mixing you'll need the Lab Colour Space format blackhornet mentioned. It doesn't sound like an easy task, at least for me, and it probably involves formulas or complicated expressions.

    It could also be added as a plugin with Construct 2 SDK if someone wanted to do it.

  • You can probably do it using webstorage for now. You don't need to save the whole game with webstorage, just store a value that tells you if there is a save or not.

    Maybe Ashley could add a condition for the save/load system in future versions.

  • As the message indicates, you cannot set a breakpoint on events that are triggered or events that are loops.

    Try setting a breakpoint on a "every tick" event for example.

    Relevant articles:

    https://www.scirra.com/manual/170/breakpoints (Read the limitations section)

    https://www.scirra.com/manual/75/how-events-work

  • I'm not sure about this one.

    You could do it manually using the condition "On save complete" and activating a variable. If you want to check if a save exists, then you could check this variable, if it's activated it means that the game has been saved.

  • You can make pink by combining the red and blue. Red = 100, Blue = 100

    You can modify the tint values at the editor and see the results in real time, it will give you a better idea what values you need.