Overworld Gunplay in SciFi RPG

Discussion in 'Game Mechanics Design' started by cdonn09, May 16, 2016.

  1. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    Hey there folks,


    I am currently developing a SciFi Rpg in MV and has been having trouble with one of the concepts that I wish to implement to the game. If anyone has ever played Lufia the Legend Returns then they know about the dungeon mechanic of swiping your sword or more importantly using a wave attack. In the game players were able to press the Action button and swipe their sword to reveal secret passages, cut down shrubs to reveal chests and traps.


    Holding down the button made the sprite ready a wave animation that would send a particle effect in a straight line in the direction that the player was currently facing. Any monster that was hit by this wave animation effect was stunned for a small amount of time. The wave would also cut down any shrubs in its path, and open hidden passages if it struck textured walls. Here is an example:


    https://youtu.be/o2Y3jlp0-78


    Anywho I would love to try and implement this game mechanic into my game. My idea is that the player can hit an enemy with a close ranged melee strike in the overworld, that would trigger a preemptive battle. The player could also hold the action button (or another key like "F") to do a slower, yet ranged attack that would hit an enemy event and also trigger a preemptive strike. 


    I'm currently using Yanfly's Region plugins and the Stealth Plugin so that enemies when spotting the player will either trigger a battle screen automatically (ranged Human enemies) or cause the enemy to chase the player for a melee strike (melee creatures or humans). Having this other mechanic would allow the player to gain a chance to control when battles happened.


    Imagine a player in a corridor and they see an enemy coming toward them. They hold down the action button and prepare to take a pot shot at the enemy sprite, when all of a sudden another enemy comes out of a door and spots the player first. A battle is triggered, but now instead of a single enemy, the player  has to deal with two enemies that now have the upper hand!


    What do you folks think? Is this possible using Region controls or would it require more extensive events and Java Scripting? Anywho, thank you for your time!
     
    #1
  2. Saboera

    Saboera Veteran Veteran

    Messages:
    63
    Likes Received:
    66
    Location:
    Canada
    First Language:
    French
    Primarily Uses:
    N/A
    I can't really say anything about the plugins but it should be possible with events at first glance.


    Not exactly going to be easy by any mean, but it's possible if you can handle some advanced level eventing.
     
    #2
    cdonn09 likes this.
  3. Titanhex

    Titanhex Do-It-All Veteran

    Messages:
    577
    Likes Received:
    215
    Location:
    In my office.
    First Language:
    English
    Primarily Uses:
    N/A
    It's possible to do this. Problem is, RPG Maker's event collision detection is really basic. Event creation is also very basic.


    There's plugins that expand on the basic event interactions used by the RPG Maker engine.


    The level of difficulty, if evented, is around the intermediate-expert level. And it would require javascript commands to be used in the eventing. Using plugins it gets a lot easier, depending on the plugin used.
     
    #3
    cdonn09 likes this.
  4. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    I figured it would have to be done with a common event. I would assume that I can find a plugin in the master plugin list? I'm currently learning javascript and am up to the challenge. How can I access the Java Script for the MV program? I probably don't want to mess around too much with it, I imagine that it would quickly crash the software.
     
    #4
  5. Bex

    Bex Veteran Veteran

    Messages:
    1,211
    Likes Received:
    273
    First Language:
    German
    Primarily Uses:
    RMMV
    Some detail questions:


    1.


    How many Enemies maximum per Map?(Enemies, slayable Bushes counted together)


    2.


    If you make a Sword slash, in which distance do enemies get hit? 1Maptile infront of Player or more?


    If more tiles, do all enemies get hit by that blow or just 1 of them?


    3.


    Can the Energy Wave atack shoot through Walls or does it need, to not going through walls?


    4.


    Does only one enemy get hit by energy wave atack or all enemies in a line?


    My English aint always the best but this would be interesting to know for me.
     
    #5
  6. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    1. I'm thinking 10 max to start. 


    2.The sword slash (or in the case of having a gun equipped, a gun bash), would only affect one map-tile in front of the player. Holding the button for the wave attack would affect multiple tiles depending on the gun type equipped (Shotgun=2, Pistol =3, Repeater/Cannon = 4, Rifle = 5). Just one would get hit, but it would trigger a battle for all of the mobs next to them. In my first map I have three mobs grouped together, conversing. You hit one with a rifle shot or bash and it would trigger a battle with all three as enemies in a single troop. One of the enemies would be heavily injured because you triggered the battle this way. Win the battle and the three mobs would disappear.


    3. The energy shot would not be able to go through walls.


    4. It would only hit one enemy.
     
    #6
  7. Wavelength

    Wavelength Pre-Merge Boot Moderator

    Messages:
    4,217
    Likes Received:
    3,542
    Location:
    Florida, USA
    First Language:
    English
    Primarily Uses:
    RMVXA


    Find your game's folder in Windows.  Click the "js" folder.  Edit the appropriate file, or open the "plugins" subfolder and write a new .js file that aliases/overwrites/adds methods to the existing code.  Make sure to add your plug-in to the Plugin Manager in the editor and to turn it ON.


    I agree that this kind of thing is best done with a script.  Some people mention that hit detection is not so great in RPG Maker, but this kind of thing can be solved with very basic JS skill, since you can check an event's location, direction, etc. and compare it against the player and all other events.
     
    #7
  8. kaukusaki

    kaukusaki Awesome Programmer Extraordinaire Veteran

    Messages:
    666
    Likes Received:
    489
    Location:
    Saint Louis, Missouri
    First Language:
    English
    Primarily Uses:
    RMVXA
    it's possible with events. You're just calling your map xy and button presses right? I'll work on this today. I have a game with a similar mechanic...
     
    #8
  9. Bex

    Bex Veteran Veteran

    Messages:
    1,211
    Likes Received:
    273
    First Language:
    German
    Primarily Uses:
    RMMV
    Okay i saw this earlier but had other stuff to do. Now i had some Time and made a little Demo Map.


    I just have the Demoversion but  posting the Mapfile here should be enough for you to Test it, right?


    -Melee Attack W-Button


    -Range Attack Q-Button / Walls get detected


    -10Enemies / Bugfree Hitdetection through Screencoordinates


    -Uses only standard Editor Commands


    -Uses Less than 10Variables


    -No FPS Drop on my end on a Windows System, other plattforms i dont own to Test.


    Only one possible Way of many to structure this Eventcode, hope its ok to get into this a bit more.


    I hope you like it it was kind of like stuff i was experimenting on in the MV Demo, so it helped me too, to get finished/started.


    Just Create a New Project and create a MapID 1 if there is non, than close MV and copy the DownloadMapfile and replace the Mapfile in that Project.


    In Ace this worked, hope this also works in MV, i hope this File contains all.


    Download here:


    Edit: Download removed, new download further down in the thread.

    View attachment Map001.json
     
    Last edited by a moderator: May 21, 2016
    #9
  10. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English


    Didn't think of it that way, but yes. Thank you for working on it, I will tinker around with variables and such on my end.
     
    #10
  11. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    Sweet, is there any good editor programs that you can recommend? I'm thinking Ace editor might be a good idea.
     
    #11
  12. Wavelength

    Wavelength Pre-Merge Boot Moderator

    Messages:
    4,217
    Likes Received:
    3,542
    Location:
    Florida, USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    I use Sublime Text 2, and I've had a pretty good experience with it.
     
    #12
  13. Bex

    Bex Veteran Veteran

    Messages:
    1,211
    Likes Received:
    273
    First Language:
    German
    Primarily Uses:
    RMMV
    ..........................................................................Forum Failure at the moment this Post was created........
     
    Last edited by a moderator: May 18, 2016
    #13
  14. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    Thank you so much for making this! It looks like it's working fine in MV....the W works but the "Q" brings up an error message of not being able to audio/se/Bowl.ogg. Which I assume is an audio file that I don't have, and wasn't transferred. 
     
    #14
  15. Bex

    Bex Veteran Veteran

    Messages:
    1,211
    Likes Received:
    273
    First Language:
    German
    Primarily Uses:
    RMMV
    Ah ok its just the missing Bow Sound, you should be able to find that in the Eventcode and just delete or replace it.
     
    #15
  16. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    Figured out the sound issue and it works flawlessly. I will tweek the audio and animation bu this is exactly what I'm looking for. Thank you Bex!
     
    #16
  17. Bex

    Bex Veteran Veteran

    Messages:
    1,211
    Likes Received:
    273
    First Language:
    German
    Primarily Uses:
    RMMV
    Sure no Problem, if you have questions about understanding the code i still have 16 Days on the Trial Version and even after that it should be possible to Help.
     
    #17
  18. cdonn09

    cdonn09 Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    So I'm gathering that the variables really have to do with the player's position? I wonder if I can tie a variable to the gun switch being turned on. Fire your gun too many times and an alarm goes off and enemies will start to chase the player or something.
     
    #18
  19. Bex

    Bex Veteran Veteran

    Messages:
    1,211
    Likes Received:
    273
    First Language:
    German
    Primarily Uses:
    RMMV
    Ok but for that we have to change the structure of the eventcode a little bit so Mechanics can be easier implemented.


    I will take a look at it.
     
    Last edited by a moderator: May 18, 2016
    #19
  20. Bex

    Bex Veteran Veteran

    Messages:
    1,211
    Likes Received:
    273
    First Language:
    German
    Primarily Uses:
    RMMV
    Sorry for double Post.


    I split the Eventcode from 2 to 3 Events, i hope its easier now and the code should be a bit cleaner.


    Yes your Question is possible, just count up a variable, i implemented a example just cast fire 5 times and watch what happens.


    Edit: Uploaded new Mapfile, first one was buggy.


    Download New Mapfile:


    View attachment Map001.json
     
    Last edited by a moderator: May 18, 2016
    #20

Share This Page