Jump to content

Search the Community

Showing results for tags 'advanced'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community Central
    • Introductions & Farewells
    • Forum Announcements
    • Forum Feedback and Support
    • The Competition Zone
  • The Developer's Corner
    • Theory and Development
    • Recruitment
  • Game Development
    • Editor Support and Discussion
    • Programming
    • Tutorials
    • Workshop
  • Game Production
    • Games in Progress
    • Completed Games
    • Game Reviews
    • Archived Games -Projects that have been inactive for 12 months are stored here.
  • Resource Center
    • 2D Resources
    • 3D Models
    • RPG Maker
    • Audio
    • Resource Market
    • Developing Tools
  • Creative Area
    • Artwork Gallery
    • Music Room
    • Literature Library
    • Animation Theater
  • Off-topic
    • General Discussion
    • Role Playing And Forum Games

Blogs

  • Loki's Blog
  • Kirin's Blog
  • Cremno's Blog
  • Nelneo's Blog
  • silversatyr's Blog
  • Virtuous Blade Development Blog :: DISCONTINUED
  • Lone Barrel Works
  • Intrigue of the Crystals Development Blog
  • Princess Project
  • Endafy's Corner
  • Knightmare's Blog
  • The Septrian Voyager
  • Animated Battlers
  • Pikalyze's Apple Tree
  • Marshzd Film to RPG Blog
  • Guardian Spirits Status Blog
  • Shinsei Stuff
  • æ�±æ´‹ã‚¢ãƒˆãƒªã‚¨
  • Eve of Perception [RPGMakerMV] Devlog
  • Blood Boundary Development
  • Little Girl That Could dev blog
  • Alice - Human Sacrifice Blog
  • Brualrosian Empire
  • Bashar's Blog
  • Shin RPG Maker
  • ShinGamix's Ace.net Only Blog
  • UnDead Studios
  • tillypope's Blog
  • whitedahlia
  • Rusted Souls Project Blog
  • Somnium: Burning Ember Development Blog.
  • E. Rin's Blog
  • Mako Star's Blog
  • A Descent into the Maelström
  • Aarowaim's Blog
  • CubixPG's
  • Pokemon Planet Project
  • Uprising:The Blog
  • COOL TELOCH BLOG
  • Politics: The game project blog
  • MonDez's Custom Resources
  • BlueDragonGamers
  • CT Bolt's Blog
  • Cid Gaius' Blog
  • Cidiomar's Blog
  • monster311
  • Velvela Jade
  • Dark Horseman
  • Pocketmouse, Project: Blog
  • Looking for Artist
  • COVB Custom
  • Ravenith's Laboratory
  • The Ninth Life Gaming
  • Daniel Tom's Blog
  • Daniel Tom's Blog
  • Level 99
  • Blood Shadows Blog
  • PK8's Blog
  • It's Acezon
  • Saphire Action Battle System IV how do you make the player Die?!
  • jomarcenter gamer news blog
  • Random Designs~
  • Mini Game Ideas
  • A Mouthful Of Maus
  • Mundane's Blog
  • The Guardian's Wicked Cool Stuffs!
  • Script Request
  • Ultima - Virtuous
  • Deadwater's Blog
  • Alendalin RPG
  • Cait's Blog
  • Acer K Productions
  • Hyde's Development Journal
  • DWM2 Development Journal
  • ~Hikari No Uta~
  • => proceed to recycle bin
  • The8th's Journal
  • Face Emotions
  • Request on Tutorials Anyone?
  • estriole's Blog
  • NecromireGames Blog
  • Toheka's blog
  • Bluestar Blog
  • Upcoming Tutorials
  • Misadventures
  • Resource Blog
  • LunaWing118's Blog
  • My Game
  • A Masterpiece In Development
  • N.O.I.M.
  • Hey PL! (Passive Lion's Official VX Ace Blog)
  • RagingHobo's Blog
  • Arctic Fox's Blog
  • Utajärvi
  • Yin's Blog
  • TDW's Blog
  • pxlgraphic- Official Blog
  • The Making of Zendir
  • Rowen's Blog: Okami project
  • Vintaisa:School magic
  • Elixia's Memoir Chamber
  • Progress Project
  • Realms of Eternity
  • Infernal Cauldron of Miscellany
  • The Making of Zendir 2
  • Hortator's Blog
  • Project Shotgun
  • kelchw2323's Blog
  • kelchw2323's Blog
  • Aesorian's Thingymajig
  • NewMarker's Blog
  • Dezz's Stuff!
  • Pixel Art
  • KilloZapit's Magical Fairyland
  • Zendir 1: The Director's Cut
  • Bá´€ssÒ“ire [â—£ â—¢]'s Blog
  • My sweet abyss
  • RuinLight's Blog
  • ohheart's Blog
  • Indy Star: Dev Log
  • Logic's Blog
  • Mark Juner
  • LunaWing118's Blog
  • The fall of equestria
  • chronicles of a gamer
  • Replication/Tutorials
  • King's & Heroes Dev Blog
  • Whistler Wolf's Blog
  • kaz's Blog
  • China Rgss Scripts
  • Draciarch Games' Blog
  • Modern's Goal
  • Z3R0's Blog
  • 7-continents worldwide travel
  • "The World After" in the Making.
  • DarthVollis' Blog
  • SMC Development Blog
  • ~Choco's Blog~
  • Thoughts
  • The Four Stones
  • The Zen
  • Maindric's Blog
  • icon's Unusual Ideas
  • kayden997 Gaming Moment
  • Jonnie's Blog!
  • RuinLight Blog
  • Wren's Blog
  • Axio Chronicles: Progress Report
  • Liphidain - The Record
  • Nightgazer Starlight's Blog
  • Thebigzumawinz's Blog
  • Orrgar's RPG Blog
  • SchnitzelLion's Blog/etc
  • SirBilly's Blog
  • The Guardian's "Project RPG"
  • Alufey's Blog
  • Zanara's Blog
  • Legend of Erthia - The Etheral Gate
  • Naruto RPG Blog
  • GreenSheepGo's Blog
  • siChainlinks' Blog
  • Haunted Robots Blog
  • A blog emerges.
  • HimeWorks
  • cHAOScythe's Blog
  • Aetra: The Blog
  • Soul of Sul
  • Tutorial Drafts
  • Tigerbite's Blog
  • I need a little help... (o.\\)
  • Project A
  • The Shadows of Splendor
  • Deej's Blog
  • From the studio...
  • Vos: Demon Eater
  • RuinLight's Blog
  • Project Pepé
  • Project: █████▌
  • LunaticZio's Blog
  • Vauge
  • ThunerzIX's Blog
  • Smokey's Blog
  • AlexanderK's Blog
  • Magic Warrior
  • VanillaCube's Blog
  • Eventing 101
  • wirt2650's Blog
  • Rabie's Vaccine
  • Ninja Wolf Blog
  • Grotaiche's Blog
  • Writing Competition
  • OtaEnt Studios
  • Totori's Blog
  • The Kokonut Tree
  • Universecoffee's Blog
  • Universecoffee's Blog
  • Judgement Journey : Develop Blog
  • OmegaDSX's Blog
  • CharmingDominion's Blog
  • Jay Heartay's Blog
  • Arfax Games Dev-Blog
  • Pandemonuim the game
  • Remains: Dream Paradise
  • Just Starting Out
  • dev[otion]
  • Taffer's Blog
  • Soft-Square's
  • OmegaDSX's Off site blog
  • Story Review
  • My Ideas
  • EVENavesT
  • Elementstormrpgteam's Blog
  • RavenTheOld's Blog
  • Unnamed Game Dev
  • The Arbitrators Series
  • Medicine Man
  • Laura Yeah Right's Blog
  • Stradar's Blog
  • Silvershore
  • Jonath4nC's Blog
  • xMikachux's Stuff
  • Cecillia's Blog
  • Liphidain Development Blog
  • Pixelated
  • animeforfun's Blog
  • Purogurama Project
  • Flora Development
  • animeforfun's Blog
  • anna trinh's Blog
  • DragonWing Studios Blog
  • Constellation
  • Tangential
  • P3RR1N's Blog
  • Necromedes' Blog
  • Soul Attraction
  • Tsarmina's Ramblings
  • lastonealive111's Blog
  • privateer's Blog
  • Warhamme40k Extermination
  • Dead Island Reincarnate part 1 review
  • Murgianswordsman's Blog
  • Jungernaut's Status Updates
  • Dead island Reincarnate info
  • KevinFrost's Blog
  • The Ensnarer
  • InfectedChild's Blog
  • Cupcake293's Blog
  • Choco's Dev Blog
  • Something Witty
  • t h e j a y s t u d i o's Blog
  • Zeth-Almer's Blog
  • Blindga's Lounge
  • Yenok's Blog
  • Eroha Maximus Development Blog
  • General Douchebaggery
  • My RPG progress blog
  • Master of The Forge - Development Blog
  • Draaloff - a small artwork collection
  • Update Blog
  • Cazziuzz' Blog
  • Personal blog
  • Ramblings of a writer
  • Ocedic's Blog
  • Gump's Dev Blog
  • smashdaddy's Blog
  • Biwy's Scripts
  • Ooooh! A Blog!~
  • So yea...
  • Cakes Notebook
  • Questions about my game
  • Flaming Teddy Productions
  • JamTam Universe
  • Tales of Mysteania DEMO
  • Near Misses of the Mundane Sort
  • Patch game title WIP
  • Tales of Time
  • Is anyone willing to assist me?
  • EraYachi's ...*sigh*..."Blog"
  • Help and Advice Requested
  • Fallen Temple
  • QuizicalGin's Blog
  • Ace Academy in Action
  • Fairy, Fairy How Contrary
  • Post-apocalytpic Simulation
  • Tweaksource's Blog
  • McCrumple's Blog
  • Utopia Software
  • gaixareku's Blog
  • DH2 Productions' Blog
  • Palladinthug's Blog
  • magicmetal's life
  • AlliedG's Blog
  • JStewartMusic Blog
  • Attack on Diary
  • Jeff-Andonuts PLAYS SOME RPGMaker VX Ace GAMES!
  • The Thoughts of a Squirrel King
  • Kamalot_INC Presents
  • Crazy Lady with a Hammer!
  • Question About Damage Formulas
  • Wow, such blog!
  • Phantom Antiquary
  • My Game Days
  • ShadowSphere Entertainment
  • Quick Question with Victor's Battle System
  • OFFICAL HIREING LIST
  • UnDead Studios Archive
  • Big project, I need help
  • Welcome to Entropy
  • Tactical Game System
  • Under The Name Sanders
  • Otterlicious
  • ScottofNorth's RPG Journal
  • LukeRiley's Project:
  • DiaWulf here~
  • A Spark of Inspiration
  • Downwinds' Blog
  • Arctic Thunder Crunch
  • luwehazcu's Blog
  • Fake but real
  • Allusion's Blog
  • Preparing For Massive Crowdfunding
  • nicoleanderson's Blog
  • Light and the Dark, A Journal
  • Kuronekox's Blog
  • Tris Blog
  • Omniblacklight's Blog
  • Theolized Stuffs
  • Blood Heart Redemption Dev Blog
  • Sug's Blog
  • GameMaking Blogger TheAqib
  • An artist's scattered thoughts
  • CloudTheWolf's Blog
  • Malagar's RPG Dev Diary
  • PoorCollegeGuy's Blog
  • nanokan's Blog
  • Movie Review Blog
  • Minerva's Touhou Diary
  • GameCreations' Blog
  • insomnioid
  • Johnny's Corner
  • Rush2112's Blog
  • Cat`s and Lolipops
  • The Rock Music Blog
  • New Artwork!! :D
  • Wolf Engine
  • Ultim's Thoughts
  • NightWolf's Logo Hub
  • Arcane Blog
  • Lith's Corner
  • HTML & CSS Learning Diary
  • Freak's Games
  • ASOE - Asynchronous Online Engine
  • Dark Cloud RPG Maker Edition
  • Plague's Blurbs
  • An Errant Soul's Musings
  • Stellar Complex - Development Blog
  • Venya's Blog
  • Wish to the Stars development blog
  • A Writers Paradise
  • Project Aventice
  • Aljara~
  • Extreme edits
  • Concepts & Roughs
  • Hokobishu's Japanese Tea House
  • Yukijin's Storehouse
  • The Pantheon
  • Pixii Stix since 1986
  • The Manic Elf
  • Ramblin' Roccstar
  • Blogging and Things
  • Opal Starlight
  • Game Watch
  • Turt's Blog
  • minefan's development blog
  • Kotori-chan`s Review Adventures~
  • Vectra Productions
  • ~Diary of Wrath~
  • DMTK Stuffs
  • Ailuro's Blog
  • Omni Link's Blog
  • Scoosh's Blog
  • DavidFoxfire's Works in Progress
  • DJBailey on Sound, Life, Development
  • Tools of The Trade
  • Kaiso's Blog of ideas and art
  • ImAGirlUPerv's Blog
  • TimothyWhitcomb's Blog
  • Chaosian's Blog
  • Lex's Blog
  • Spooky Does Blog Stuff
  • @Monkeysnow55's Blog
  • Don't have a project title yet :x
  • TheCaliMack RPG (California Macky's Blog)
  • Point08's Blog
  • Emphasis Log
  • A World On Fire
  • Space game
  • Project Eden Dev Blog
  • Soul Eka
  • The Consensus' RMVX Ace Musings
  • Writer's Resource
  • Spectre's Freebies
  • Karsh's Developer Blog
  • AngelCou's Blog
  • Intelligent Debates/feelings/conversations
  • The scripting life of a big red dog
  • Realm of the Nine Palms
  • D'Art Blog
  • BHR development
  • Personal Blog
  • And A Random Blog Appears From The Shadows
  • [Project Log] Relic Hunter
  • LadyLemonGames' Diary
  • Takeo's Game Updates
  • Visual Novel Progress
  • Absolute Nonsense(The Good Kind XP)
  • My Precious Days
  • Wander Work Blog
  • upsidedownprtl's IGMC Blog
  • IGMC Entry
  • Joseph's Development Chatter
  • The Daily Apple
  • [Project Log] The Keeper of the Wards
  • Local Woman Creates Blog: Users React in a Rampage
  • JaiCrimson's Blog
  • Returning to RMVX
  • Vectra's Speeches
  • Monster's Den Blog
  • Firehawk Labs
  • gunsage's magical death metal unicorn apocalypse
  • LTN Games
  • EpicFILE Leisure Time
  • Personal Blog
  • Random Things
  • My small ideas
  • The Waffle of Gold! Development Blog!
  • Blithe's Bleh
  • Maki's Semi-Transparent Cube
  • thejaxinator's INAW3
  • ~Dia's Rant's, Comments, And Concerns of Today's World~
  • Development of Beyond the Dark
  • You walked into Shin's Room
  • Manga Gothic
  • My year with the dragon
  • Memoirs of a Space Traveler
  • The Bounty Hunters
  • Cookie ninja shares!
  • Balter's blog
  • Veryll Tavern
  • Random Postings
  • Devonair320's Blog
  • Green With It's Freedom-Land Field Guide
  • Thought-crime and Other Misdemeanours
  • Jaluna's Berry Bush
  • Character Showcase and Other Things
  • Khaos' Kavern
  • markA's Blog
  • Equestria
  • PixeLockeT Plays & Plugs
  • Jacklack3's Book Of Stuff
  • Paradox: The Dev Log
  • Scalvose: Demons and Dragons Progress Holder
  • KunLibertad's Blog
  • Development of STA-FDW
  • Decim Blog, and Other Things
  • Tales of the Clumsy Beginner
  • Shiggy's Lab of Randomness
  • Bunbunmaru News
  • Raymi's Blog
  • Shiggy's Blog
  • GameKirby's Blog
  • LewisDruid's Gaming Corner
  • Nirwanda's Corner
  • Jax's Game Log
  • ashm13's Blog
  • A Dog's Guide to Highwick
  • Jacob Mann's IIAW3
  • The Eddsworld Fangame(s?)
  • beh
  • As Time Takes Its Course
  • Tempest of Souls
  • Tochiko Island: Juju Talks to Herself (And Others)
  • Unfortunate Ideas
  • The Woodcutter's Daughter (dev corner)
  • Demon's Gate Progress Blog
  • Cleosetric's Journal
  • Cinder's Stuff
  • Project Iniquitous
  • Milton Monday Plays Something
  • Ac Games
  • Characters And Such
  • Gaming, Writing, and Music
  • GamePad DevBlog
  • CVincent's Blog
  • Cupid's Universe
  • The Lightsworn Devrambles
  • Tarq's Backlog
  • Iron Fortress
  • Chungsie's Dagger Thunder Poop
  • Straydog's Blog
  • DRC's Blog
  • The Book of Love: South Park Fanfiction
  • The Legend of Jerry Quiver: Dev Blog
  • Official Works
  • Cosmo's Development log and Process Anouncments
  • 9 Circles Casino & Hotel
  • The Hurst's Development... Thingy
  • Chibae's Blog
  • JesseO's Blog
  • Party Pals!
  • 'Lucid' Blog Thing I Think
  • Cryptic: Project Journal
  • Neryan's Bloggie >,<
  • Planned All Along
  • Planned All Along
  • Alphys Hedge's Blog
  • Nexus of Naoto
  • FluffexStudios' Blog
  • CAW Series
  • RGSS3 Rumbles
  • Journal of the Phoenix
  • Project Updates
  • Perang Cemen's Devil Boy Quest
  • Fleshport Development Blog
  • Amyrakunejo's Game Cabinet
  • Secret Project
  • "Crystal Crown" Devlog [RPG Maker MV]
  • Memory of the Fallen Leaves Demo 1.8 coming soon-ish
  • Delve into the Digital Embrace
  • Nira, the Experiment
  • Testing Blog
  • Loco's Loose Leaf Odyssey
  • CH2 - Afterword
  • Verdiløs Games

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Skype


Location


Interests

Found 11 results

  1. I've acquired a little skill in RGSS code, so I've decided to share the fruits of this with you! And without further adoobie (lolz)... 1. System Options Modded (original - Yanfly; mods made by myself and a fellow game dev) Modifications made: Added the ability to change the Music Effects volume (originally attached to BGM for whatever reason); this was done by the game dev and chose to remain anonymous. Added :bar as an option which displays a long line of ASCII/10-key text that is reminiscent of a border bar (depending on your font choices this might look weird); I added this one. Implemented @Ninjamida's Jukeboxy-box feature so that one can go straight to that from the system menu. It won't be arsed to access it if you don't have the script installed either. Modified the control bars; holding combinations of buttons will increase the multiplier (holding down A and Y would increase the multiplier to 50 for example). Now, onto the script! ... Next, my little Set Level scriptlet. All this one does is allow the dev to directly set the level of any given actor. It will set the earned EXP to that of the minimum required EXP to attain that level. One can set the level using a static value, or the value of a variable, or really, whatever. Scriptlet: ... Last is my Set Gold scriptlet, as well as the companion for @Calestian's Currencies script. With both of these, the functions are basically the same as my Set Level scriptlet, though with my add-on script for @Calestian's Currencies script, one can do a little bit more with it. Now, onto the scripts. ... Pretty straightforward. ... And that's about it. It's mainly just rewriting what has already been written but it's a start.
  2. This is a neat little idea that can make your typical boulder-pushing puzzle a little more interesting. It took me a while to figure out how to do this through events (although I'd like to learn, I currently have no ability to script), but I have it sorted now and hope it might help someone else. Hard mode: Multiple boulders and gaps. (<if this anchor doesn't work, just scroll down) Pushing a rock into a gap. First thing's first - create an event that will be the boulder, or whatever your character will be pushing. You also need an area of water or a hole or something of the sort, which the boulder can be pushed into. The gap must be one tile across, the the boulder can act a bridge when in the water. In this case, the player is pushing a boulder into the river in order to get to the island. I added a chest that can only be reached this way, for added incentive. The boulder event will eventually have several pages, but initially, just set up the first event page. The settings should look like this: 'Event Touch' means that the boulder will move when the player stands beside it and pushes a directional button. Other people may prefer setting the trigger to 'Action Button' so that the player must press the 'A' button to activate the movement. You will need to use a terrain tag to label the water tiles. Doesn't matter what number you use, but tag the water tiles you want the player to be able to push the block into. You need several variables for this. Two will store the boulder's current X and Y location on the map, two will store the X and Y location of the position the player is trying to push it to (when they walk up to it, or press 'A'), one will store the terrain tag of the new position. So, let's do some eventing! As soon as the event is triggered, we want the boulder to store its current position in the variables. We can then use conditional branches on which direction the player is facing to determine which direction the boulder is being pushed towards. With this information, we can store in variables the new position. We then get the terrain tag of the new position. If the player is just pushing the boulder over land, the boulder should just move normally as these tiles are passable. We check if the terrain tag is equal to the one you set up for the water. If so, the boulders move route includes setting it as 'Through' which means it can pass into impassable tiles (like water). Self Switch A is then turned on if the boulder has fallen into water. It's not mandatory, but I added an extra bit of eventing here so that the boulder wouldn't reset back to its original position if the player left the map. This only activates if the boulder is in the 'goal' position and the puzzle is solved. Use two conditional branches to check if the boulder's new position is equal to a designated goal location, and if so, turn on a switch. This isn't a self switch, as we need it to link to another event. More on this later - first, let's finish setting up the other event pages on this boulder. Here's what the first page looks like: Page 2 is relatively simple. Once the rock is in place, this page sees when the player is trying to cross over it. It takes note of which side the player is on. Because switch A turns on if the boulder falls into ANY water, we need to check if it is in a goal location first. Page 3 is triggered if the player touches the rock and is facing left. This page must be set to 'Autorun' and the priority 'Below Player'. This is important, because the 'Below Player' priority means that the player will walk on top of the rock, rather than appearing to walk behind or underneath it. The event autoruns and moves the player over the rock to the other side. The switch then turns off, so that if the player touches the rock again, Page 2 runs, which looks at which side the player is on and redirects to the corresponding event page. Page 4 looks exactly the same as this, but is for if the player approaches from the other side. The only difference is that the move route contains 'Move Right' and it's a different self switch. Of course, you can also make boulder bridges which are north-south. So that's it - for the most part. What about Page 5 though? Well, it's completely empty! Remember that part at the end of Page 1 where I said something about getting the boulder to stay put after it's solved? If you want to add this feature, create a second event using the same boulder graphic. Put it in the place where the boulder is 'supposed' to be when the puzzle is solved. The second event contains a copy of pages 2 to 4 of the first event, with an additional condition that the 'Solved' switch must be 'on'. This switch also removes the first event from view. Hopefully this was useful to somebody - it's the first tutorial I've written and I'm not particularly confident in my ability to explain things, hence the use of pictures. Here's a short demo of how this looks in-game. *** Hard Mode: Multiple boulders and gaps! (Uses more switches and variables, but the basic idea is the same). It's here that I must stress the importance of keeping your switches, variables and event names organised. Otherwise, you're gonna have a bad time. Depending on just how complex you want to go, here's the switches and variables you need to use: The good thing is though, that you can re-use some of these for other boulder puzzles you might wanna make in your game and it won't make any difference. Namely, you can re-use the variables in any number of puzzles. The switches must be set up individually for each puzzle though, as they recognise which puzzles have been solved and which rocks have been used, and allow the player to leave the map and the puzzle still be solved. I used 3 boulders when I was figuring this out. You can easily use more than that without it becoming more complex to set up, but you'll need the extra switches and variables. Variables Rock_X_Location - Stores X location of the boulder that the player is about to push. Rock_Y_Location - Stores Y location of the boulder that the player is about to push. Pushing_Towards_X - Stores X location that the boulder is currently being pushed to by the player. Pushing_Towards_Y - Stores Y location that the boulder is currently being pushed to by the player. Terrain_Tag - Stores terrain tag of the location it is being pushed to. Goal_X_Location - X location of first possible solution. Goal_Y_Location - Y location of first possible solution. Goal_2X_Location - - X location of second possible solution. Goal_2Y_Location - Y location of second possible solution. Goal_3X_Location- X location of third possible solution. Goal_3Y_Location - Y location of third possible solution. Switches Boulder1_Solved - Switches on if any boulder has been pushed into goal location 1. Boulder2_Solved - Switches on if any boulder has been pushed into goal location 2. Boulder3_Solved - Switches on if any boulder has been pushed into goal location 3. Boulder1_Used - Switches on if boulder 1 has been pushed into any goal location Boulder2_Used - Switches on if boulder 2 has been pushed into any goal location Boulder3_Used - Switches on if boulder 3 has been pushed into any goal location To give this a sense of meaning, here's the cave where I'm setting up this puzzle: You can see the three boulders. I've named them 'Boulder1', 'Boulder2', 'Boulder3' for convenience. The three 'empty' events are locations where the boulders can be pushed into to enable our hero to cross the water. These events are named 'Solved1', 'Solved2', 'Solved3'. You might notice that it's possible for either of the two boulders near where the hero is standing to be used for either of two goal locations. I have considered this. Let's look at the event pages. This is the first page of Boulder1. If you read the basic part of my tutorial first, you'll notice that the general structure is pretty similar. We check the rock's current position, which way the player is pushing it, it's new position, and the terrain tag of the new position. If the terrain tag is the one for water, it makes a 'splash' and falls in. Then comes the extra bit.... It gets the data for the variables 'Goal_X_Location', 'Goal_Y_Location' etc. from the positions of the events which are at the goal locations. We then need conditional branches to check whether the rock has been pushed into ANY of the possible goals in the area. This is done by using branches of the form: Conditional branch: Pushing_Towards_X = Goal_X_Location Pushing_Towards_Y = Goal_Y_Location Branch End Branch End Repeat this for each goal location. Within these conditional branches, we need to flick on the switches that indicate which boulder we have pushed into the water, and at which goal location. This is why I numbered my boulder events and goal events. If it's pushed into water (as recognised by the terrain tag), self switch A turns on, which is just a blank page. This is just so that the boulder is not able to move if it's in the water (eg. if the player stood at the waters edge and pushed). The reason I didn't use the A switch to allow the player to cross the boulder is because depending on where the boulder is placed, it might form either an East-West bridge or a North-South bridge. As such, this movement is tied to the 'goal' events which appear when the rock is moved into place. ((I used 'empty' comments for the sole purpose of spacing this out into sections so it looks neater and was easier for me to work on)) This event above is Boulder1. The other boulders look exactly the same, except that the switch turned on when they fall into place is 'Boulder2_Used' or 'Boulder3_Used', etc. etc. for however many boulders you have. ((My switches for this include the area name, in case I later want to use a similar puzzle on a different dungeon)) Okay, this has probably been slightly confusing. I'm trying hard to keep it as organised as I can and sometimes I have to look back and think things through again. Hopefully looking at the other pages of the events will help all these switches and variables make more sense. This is pages 2 and 3 of the boulder events: Page 2 is empty and is triggered whenever the boulder falls into water. It's just there so that it stays put and acts as an unmovable object. Page 3 is triggered when this particular boulder has been pushed into a goal location. It makes the original boulder event invisible. Now let's finally get to these 'goal' events... Page 1 is blank and has no image. Because having a crossing before a boulder has been pushed here would defeat the purpose. So, page 2... Looks rather familiar, huh? It's the same eventing as you may remember from the basic tutorial here, which triggers a self-switch when the player touches it and allows them to cross in a certain direction. This activates if the switch 'Boulder1_Solved' is on. Not to be confused with 'Boulder1_Used'. The 'solved' switches correspond to the goal or solution locations, and can be triggered by any boulder if it is pushed into the goal location. Then as you may guess, the B and C self-switch pages are exactly the same as before. .... done. Finally. Let's see it in action!(unfortunately without the pretty mapping this time)
  3. Lord Vectra

    Multi-Strategy Bosses?

    I was doing some work with events in the troop event page and battle-testing this boss I've created. I thought of an interesting question hat deals with this boss. How do you guys feel about multi-strategy bosses? For example, the boss I'm talking about. Let's call him Man 1. Man 1 A boss who has 10 spells/skills. He has no pattern to his moves so you can't predict when he'll use them. You can't use long term strategies since Man 1 inflicts the ailment, fell, a lot. You can't inflict any ailment that keeps him from attacking except for the ailment, Disarm. Unpredictably, he'll act as a combo-maniac and do vicious combos, and then, the next minute, he's not a combo-maniac. If he fight you individually, he can easily rip you apart. When his health reaches half-way, he uses a move that decreases everyone's MP to 0 and it doesn't increase until after 10 turns. You can get around this by using Leo's and Patricia's invisibility spell and you're warned of this ability before fighting him. He has a special combo he doesn't use often but does great damage. It's a combo that consist of four skills and the combo is done during one turn. It takes 1 turn to activate it so it can get you if you're not paying attention. This will cause you to grind through a lot of it but it's surprisingly fun because this boss is unpredictable, and when you do manage to outsmart him in anything, it feels great. This boss forces you to create multiple strategies and switch between them to go with the flow of battle. Basically, you're trying to beat him at his own flow. How do you guys feel about multi-strategy bosses?
  4. Jeanne d'Ys

    Boss Battle Design

    Welcome to Maki's Boss Battle Design Tutorial! Intro: Boss Battles have been pretty much a staple in almost every RPG out there. What make Boss Battles (and Bosses themselves) stand out is that they're usually pretty different and unique in design and executions than the usual battles. However, designing a nice Boss Battle is a challenge in and of itself. Yes, you can probably just take the graphic, make its stats triple than the party, make it immune to all status effects, insert it in its lonesome into a Troop, and call it a Boss... But doing so would make the battle bland and boring; and it also took away the fun in designing! Always remember that designing... is art! Well, that's why I write this guide. I want to share some advice, ideas, guidelines, etc. in creating more interesting Bosses, especially to the newer users of RMVXA. I'm not saying that you cannot create generic, "plain" boss. It's just... Wouldn't it be fun to spice up your boss battles with unique seasonings? Oh, and you can help to if you'd like! Just leave your feedback and, suggestions in the comments, or even additions you think would make the guide better! I'll see if that could be added later into the guide~ So without further adieu, let's begin! Chapter 1: ~What is a Boss?~ "Salazar went Berserk!" Yep, let's start and reflect from the very basic: What is a "Boss"? or What makes enemy a "Boss"? Answers may vary a lot, but I personally think that Bosses are special and usually stronger enemies that are there to either advance the plot or serve as "checkpoint" for the player in learning to play the game- It's not unusual to get a certain ability only to find it crucial in the next boss battle; the Zelda games are particularly fond of this. Some are locked into thinking that Bosses needs to be bombastic, one-of-a-kind enemy with 4xxxxx HP, scary stats, specials attacks and hours to beat. But in actuality, you don't need to fill all those criteria to make good boss fights. Looking at the beginnings though, these "cliches" are actually justified; it's just that they're just so overused they became tedious and sometimes annoying to go through. Boss Battles are usually set-up differently than usual enemy battles. There's a cutscene, the dialogue and stuff, and even a random winged lion in the forest usually have a short cutscene just about the monster appearing to the player. RMVXA itself has its own settings to determine if an enemy is a "Boss" by enabling the user to choose different collapse effect, SE, and the RTP is bundled with more than one "Battle Start" SE just in case the user wanted a different one to use in Boss Battles. Chapter 2: ~Boss Types~ There are a lot of Boss Types, it'll be quite difficult to explain them all here. I'm just going to highlight some of the more simpler ones, and you can expand from there. Be creative! "The Damage Sponge" As its name implies, the Damage Sponge can take a lot of punishment before going down. It also has a lot of stats, and usually the best strategy is just beating it to death with every offensive move you got. Sounds familiar? Well, it's the "basic" template for a Boss, and usually, when people think about Boss, they think about this type. Unless they play too many SMT games, probably. This boss type can be commonly found in older, retro games. The Final Fantasy series are also particularly fond of these. Example: Too many to count and give. Just grab your nearest RPG and play it, nine out of ten you'll encounter one. "The Puzzle Battler" The polar opposite of the Damage Sponge, the Puzzle Battler requires certain strategy to be taken down. This usually involve out-of the box tactics, but once the player figures out the way, they're usually pretty easy to take down. More prominent in platformer or side-scroller, but can be found in RPGs too. Examples: Wallman from Castlevania: Order of Ecclesia. House of the Red Rose (Second Battle) from Yggdra Union. (Gotta love that game's difficulty...) "The Elemental Changer" This Boss mess with Elemental RPS. They constantly change affinities, and can be pretty annoying in games that use the "Accumulate actions, then execute turn" mechanic as the player usually can't help but seeing their Whirlwind gets absorbed by the Boss' new WIND -150% affinity. They usually stand in the border between Damage Sponge and Puzzle Battler, depending on the Boss. Examples: A certain "Hipster Angel" from Persona 4. Seiryuu from Final Fantasy V. "Undefeatable" Undefeatables are... Well... Undefeatable. You can't beat them because the plot said so. However, they're usually not Game Over-inducing, and some even give Game Overs if the player actually manages to beat them. Additionally, a Boss might be Undefeatable and/or certain point. The player could do something to make it defeatable. Examples: Beauty Queen Etna from Disgaea 2. The Black Knights from Final Fantasy II. "Multi-Limbs Boss" One of the favorite classics, Multi-Limbs Bosses are those who needs to be taken bits by bits, until ultimately brought down. They may be a giant octopus, a multi-headed dragon, or even a mob of angry people! Usually, there's a "core" part that serves as the hub/main part of the boss. More often than not, destroying the "core" instantly wins the battle. May overlap with Multi-Stage Boss if the limb-tearing takes multiple stages. Examples: Polaris from Shin Megami Tensei: Devil Survivor 2. Menace from Castlevania: Dawn of Sorrow. "Multi-Stage Boss: Another classic favorite, these are Bosses that transcend a stage to continue the fight. They usually do so by transforming into their "stronger" or "true" forms. Most of them takes really long time to beat, and they usually gets all their stats fresh like a jar o' skippy during the transition while your party have to cling on those Mega Potions or Greater Heals. May overlap with Multi-Limbs Boss if the battle involves battling various part of the boss. Examples: Kefka from Final Fantasy VI. Death from... Almost every Castlevania game he's in. Chapter 3: ~Tips and Tricks!~ Here are some of my tips, tricks and ideas in designing Boss Battles. You don't need to take them fully, these are just suggestions and advices for you. I'll be happy if they could help you out~ 1. Sense of Progress How convenient. Make sure that the Boss Battle is meaningful to the player. Or at least, not just a button-mashing galore (Except if your game is a hack-and-slash, probably.). I don't mean you can't pop a Chimeric Steed out of the mountains. You can. What needs a meaning is not the Boss, it's the Battle. Unneeded Boss Battles can be a hassle to some players, so take account into that. Of course, you can just ignore this advice completely for Bonus Bosses or Secret Bosses, as they're purely optional. Just make sure that the players don't feel like they're just wasting their play time by fighting the boss. 2. No "Attack Spam", Please... Just sleep, just dream. It's only a battle... One of the most glaring thing I saw when playing some RPGs is some of the Boss Battles consist of nothing but Attack-spamming. (Although it's inevitable if you chose 4 Warriors in Final Fantasy XD) The battle becomes pretty tedious by that, and the Boss Battle would just turn into a glorified random battle. Don't misunderstand- I'm not against it, everything can be cool if properly executed, it's just that I advise to be against Attack Spam design just for the sake of it. 3. Let's Party! (Author's note: It kinda looks like Oscar is dodging the rubbles ._.") How about making the Boss do something to the Party? It doesn't have to be the Boss joining after battle like pictured. You can use other options such as: a. The Boss being a bertraying party member all along! The reverse from the above situation happens, and the boss is removed from the party member. a. The Boss is actually a nice guy, and one of your party member's a traitor. The Boss joins in the middle of the battle, and a new battle starts against the betraying party member. A mix of the example picture and example a. 4. Utilize Those Status Effects! Aah... Succubus! You make Enchanter-chan sad Nine out of ten, you know that feeling. When you play a game where there are like 15 "Ailment" States present... But none of them worked on the Bosses. What's the purpose, then? The Warrior and Mage can just slash and burn through the small fries, so it's usually moot to Ailment them. So how useful would the Enchanter be? So my next suggestion is, make States more meaningful to the mechanic. Although, you'll need to manage which are affected with what. It probably wouldn't be a good idea to make Firespirit affected by Burn or Toxic Wyrm affected by Poison. Although I also suggest that the "Death"/"Knockout" State should not be able to be used on Bosses, since it could break the game's challenge. Or alternatively, don't add insta-death Skills. 5. Make a Duel Boss! Natalie would actually look pretty sweet as a cheerleader... Duel Boss is a kind of Boss where only a certain number of your Party may join the fight (Usually only one). You can specify whether only the Chosen Twins may fight the Twilight Ruler, or that only the Star Princess can soften the Solar Dragon's anger. Executed well, Duel Boss can make a Boss Battle challenging and/or fresh without looking too cheap. 6. Make "Irregular" Battle A Hero Arrives! (Spoiler: It's Noah) Alternatively, you can make a Boss Battle that ended in an unusual fashion. Be it a mysterious hero rescuing your Party and defeating the Demon once its HP reaches 40% or below, a Greater Demon that kills the Lesser Demon and replaces it during battle... The plot potential is strong! 7. Alternate Win/Lose Condition! You take care too, Isabelle. We need your Spells but your MHP seems to be against that. Usually, the main goal of a Boss Battle is to take down the Boss by making its HP reach 0. However, you don't have to always stick upon that. You can make alternate goals such as surviving for 30 Turns, protecting a friend who's channeling a Barrier, or walking the usual beat-to-death route, but with a mix such as making the Grave Squirmer only killable by casting Holy Spark! 8. Linked Enemies! SLASHTHEM You can make Multi-Parted bosses too in RMVXA! There are scripts for that I'm sure, but you can also make simpler ones with eventing. Multi-Part Bosses are essentially multiple Enemies set up in the same Troop. Once the "Core" dies, an event triggers that places Death state into the others. 9. Reverse Multi-Limb! Of course, talking is easier than executing. ... ...That pun. How about making a twist to the usual Multi-Limb fight, and make that you're easier/possible to win the less you bother with the "Core" enemy? If that sounds too easy, then remember that you could "Invoke" (Guess the hint?) the player to attack the forbidden. Be careful with balancing, though... There are many possibilities with this one: A Chaotic Spirit that is unaffected by all Magic but has Magic Seeker skill to turn all Elemental Magic toward him? Your hero's hostage girlfriend forced into an armor that redirects all Sword Skills toward her? Up to you! 10. Outside Battle Tweak (Suggested by AlliedG) MY EYES!!! (I luckily captured this state though SS ) Who says you cannot tweak the battle externally? You can apply circumstances that makes the a Boss Battle different depending on your doing outside it. You can make a Boss gets a weakness to Fire by completing a sidequest involving sabotaging the Boss' magical capability, or makes an NPC that will strengthen the Boss if you failed his request! XX. Hair-Pulling Edition: Yuu Narukami Myriad Truth SWAG (Requested by Casta) This basically emulates the final phase of the final boss fight in Persona 4, where you manually cast a certain skill on the boss in a scripted fight, which finally leads to winning. It's quite tricky (and long), and requires multiple Database setup, so please read and proceed very carefully. 12. The Persona Reaper Encounters! (Requested by Casta) This one is more into map eventing than battle eventing, but still cool for me, nonetheless! The Reaper encounter style from the Persona series 3, 4 and 4 Golden. The Reaper itself is a really tough special enemy that appears in Persona 3 and 4/G that is well-known for its extreme difficulty and special encounter method. And now we're going to mimic those encounter systems! This request would be separated into 3 parts, divided by the game the Reaper appears in, because the encounter method is different in each game. This is another one that's a bit more into the intermediate-to-advanced skill level, so please read thoroughly. Especially the P3 one. I spent the whole night figuring that one out, while the others don't even take 10 minutes. 12. 1. The Reaper Encounter (Persona 3) 12.2. The Reaper Encounter (Persona 4) 12.3. The Reaper Encounter (Persona 4 Golden) I hope you find these useful~ Useful Links: "Boss Battle" on TV Tropes. Basically a witty exposition about Bosses and Boss Battles, complete with a huge list in Tropenese. Are you One of Us, too? http://tvtropes.org/pmwiki/pmwiki.php/Main/BossBattle "Battle Systems 101: Creating Bosses" by Lowell Richards. A neat guide found in this very forum. Has a well-written pointers and insights, including some small details not found in here. Despite seeming a bit incomplete, it's definitely worth reading! http://www.rpgmakervxace.net/topic/1098-battle-systems-101-creating-bosses/ Outro: Well, I think that's all for now! I'll update the guide once I got more, so stay tuned for that! Don't forget to give feedback and leave comments if you have any! I hope this guide would help you in designing cooler, more interesting Bosses and Boss Battles. Happy designing! -Maki
  5. I am Vectra the master eventor. Someone asked how to do something and I decided to make it a tutorial of it. I am making the tutorial based on this: http://www.rpgmakervxace.net/topic/31724-tournament-game/#entry216926 Note: If anything becomes confusing, read at least 5X. If still confused, stop reading, and ask your question so I can answer it. Why Vectra? Why can't I just continue reading and come back to it? Eventing is like Math, if you are confused about little stuff it can possibly mess EVERYTHING up, so I heavily advise that you ask before continue. Picking the character(You can skip if this is irrelevant to you and/or you know how to do this) Now, let's say you're picking three out of 6 for your team. This one is pretty easy because all you're using is choices. Let's say character 1 is Bob and 2 is Billy @>Show choices: Bob, Billy : When [bob] @>Change Party Member: Add [bob] @> : When [billy] @>Change Party Member: Add [billy] @> : Branch End Now, let's say there are five teams. Vectra's Minions The Undead The Barbarians The Nasty Boogers The Killerz Now, let's say player controls one team and the other four are CPU. Let's say I'm playing and I am using the VM team. Now, here's a way you can do this. Event CPU activity This is for you want battles between teams happen randomly so meaning that there is no certain order on which team fights which. You will need the following 1 Variables for Battle chance 1 Variable for TEAM ID 1 Variable for Teams Picked 1 Variable for Battle win/lost 2 Switches for each team except the player 1 Common Event A LOT of conditional branches V1 - Battle Chance V2 - Specifies which Team attacks V3 - Team Picked V4 - Specifies which team lost and which one won S1 - Team ID , MUST USE or variable 2,3, and 4 wouldn't work(or at least you'll have trouble trying to make it work) All of the above goes into one common event. This Common Event will be parallel process. If you want it triggered you can use a switch. You need to decide what is the chance of a battle per sec. This will be done by making a variable pick randomly between 1 to whatever. @>Control Variables: [0001: Battle Chance] = Random No. (1...100) @>Conditional Branch: Variable [0001: Battle Chance] <= 30 @> : Else @> : Branch End This will say per sec there is a 30% chance of a battle happening between CPU's(Note: This is an example, don't actually make it 30%) There are 5 teams in total. The number of Var2 will decided which of the 4 CPU's will attack. Space is to organize things so it don't look so confusing. Note: If you're doing it as you read, DO NOT DO THIS STEP! Note: There is four CPU's because one is for the player. @>Control Variables: [0001: Battle Chance] = Random No. (1...100) @>Conditional Branch: Variable [0001: Battle Chance] <= 30 @>Control Variables: [0002: Team ID Fight!] = Random No. (1...4) @>Conditional Branch: Variable [0002: Team ID Fight!] == 1 @>Control Switches: [0001:CPU 1] = ON @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 2 @>Control Switches: [0001:CPU 2] = ON @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 3 @>Control Switches: [0001:CPU 3] = ON @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 4 @>Control Switches: [0001:CPU 4] = ON @> : Branch End @> : Else @> : Branch End Now you'll want only two picked. So you will put an additional conditional branch for Variable 3. So It'll look like this. THIS STEP YOU DO. Note: You will need a loop. Loop is shown in the example below. I'm going to bold it so you can see where to put it. Hint: Look for loop and repeat above Note: Var3 only goes up by one. Note: You want additional conditional branches so teams aren't picked twice. Those will be bolded as well so you can see them. Note: You need break loop. This will be bolded so you know where to put it. @>Control Variables: [0001: Battle Chance] = Random No. (1...100) @>Conditional Branch: Variable [0001: Battle Chance] <= 30 @>Loop @>Conditional Branch: Variable [0003: Teams Picked] == 2 @>Break Loop @> : Else @>Control Variables: [0002: Team ID Fight!] = Random No. (1...4) @>Conditional Branch: Variable [0002: Team ID Fight!] == 1 @>Condition Branch: Switch [0001:CPU 1] == OFF @>Control Variables: [0004: Teams Picked] +=1 @> : Branch End @>Control Switches: [0001:CPU 1] = ON @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 2 @>Condition Branch: Switch [0002:CPU 2] == OFF @>Control Variables: [0004: Teams Picked] +=1 @> : Branch End @>Control Switches: [0002:CPU 2] = ON @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 3 @>Condition Branch: Switch [0003:CPU 3] == OFF @>Control Variables: [0004: Teams Picked] +=1 @> : Branch End @>Control Switches: [0003:CPU 3] = ON @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 4 @>Condition Branch: Switch [0004:CPU 4] == OFF @>Control Variables: [0004: Teams Picked] +=1 @> : Branch End @>Control Switches: [0001:CPU 4] = ON @> : Branch End @> : Branch End @> : Repeat Above @> : Branch End @> Now when Teams Picked = 2 You then use Var4. That will look like this. @>Conditional Branch: Variable [0003: Teams Picked] == 2 @>Control Variables: [0001:Who win?] += Random No. (1...100) @>Conditional Branch: Variable [0001: Who's win?] <=50 @>Conditional Branch: Switch [0001: CPU 1] == ON @>Control Switches: [0005:CPU 1 Exterminated] == ON @> Else @>Conditional Branch: Switch [0001: CPU 2] == ON @>Control Switches: [0005:CPU 2 Exterminated] == ON @> Else (So on and so on) So at the end it'll look like this... Some things has been added because I forgot about them. INCLUDE THEM!!! @>Control Variables: [0001: Battle Chance] = Random No. (1...100) @>Conditional Branch: Variable [0001: Battle Chance] <= 30 @>Loop @>Conditional Branch: Variable [0003: Teams Picked] == 2 @>Control Variables: [0001:Who win?] += Random No. (1...100) @>Conditional Branch: Variable [0001: Who's win?] <=50 @>Conditional Branch: Switch [0001: CPU 1] == ON @>Control Switches: [0005:CPU 1 Exterminated] == ON @> Else @>Conditional Branch: Switch [0001: CPU 2] == ON @>Control Switches: [0005:CPU 2 Exterminated] == ON @> Else (So on and so on) @>Break Loop @> : Else @>Control Variables: [0002: Team ID Fight!] = Random No. (1...4) @>Conditional Branch: Variable [0002: Team ID Fight!] == 1 @>Condition Branch: Switch [0005:CPU 1 Exterminated] == ON @>Control Switches: [0001:CPU 1] = OFF @> Else @>Conditional Branch: Switch [0001: CPU 1] == OFF @>Control Switches: [0001:CPU 1] = ON @>Control Variables: [0004: Teams Picked] +=1 : Branch End @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 2 @>Condition Branch: Switch [0005:CPU 2 Exterminated] == ON @>Control Switches: [0001:CPU 2] = OFF @> Else @>Conditional Branch: Switch [0001: CPU 2] == OFF @>Control Switches: [0001:CPU 2] = ON @>Control Variables: [0004: Teams Picked] +=1 : Branch End @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 3 @>Condition Branch: Switch [0005:CPU 3 Exterminated] == ON @>Control Switches: [0001:CPU 3] = OFF @> Else @>Conditional Branch: Switch [0001: CPU 3] == OFF @>Control Switches: [0001:CPU 3] = ON @>Control Variables: [0004: Teams Picked] +=1 : Branch End @> : Branch End @>Comment: Space @>Conditional Branch: Variable [0002: Team ID Fight!] == 4 @>Condition Branch: Switch [0005:CPU 4 Exterminated] == ON @>Control Switches: [0001:CPU 4] = OFF @> Else @>Conditional Branch: Switch [0001: CPU 4] == OFF @>Control Switches: [0001:CPU 4] = ON @>Control Variables: [0004: Teams Picked] +=1 : Branch End @> : Branch End @> : Branch End @> : Repeat Above @> : Branch End @>Control Variables: [0004: Teams Picked] == 0 @> Vectra, is there any customization with this? You can change the battle chance to your liking. It can be 1 out of 1000 if you wanted. Max is 99,999,999 You can change number of Teams Picked. You can change the number of teams. Any Questions?
  6. I am Vectra. The Master Eventor. Here I'm going to show you how to create a city building system using ONLY events. We're going to start with the exterior of the individual houses/apartments/villages/whatever you use. Here's how you're gonna know what you need: 1) All possible roofs, walls, doors, windows, accessories(plants) have to be characters and not tile sets. 2) 3 Variables needed for each house(Can vary depending on what you want). The # you give the variable is the color. 3) 4 Events for each house(Can vary depending on what you want). 4) A house with NOTHING in it but the floor. 5) The Door events has to be made to transfer player to whatever pre-made house it's suppose to go. Well Vectra, I don't understand. I'm confused . Can you explain a bit better? Well, I sure can. Let's say you can have a all-yellow house then a all-blue house. Variables: Variable 1: Wall/Wall Color Variable 2: Door/Door Color Variable 3: Window Color/Windows' Color Variable 4: Roof/Roof Color Events Event 1: Wall/Wall Color Event 2: Door/Door Color Event 3: Window Color/Windows' Color Event 4: Roof/Roof Color Here we go! Usually I'll do screenshots but I feel too lazy to make the characters and do all of that so Imma imitate how your event page should look like for one object. For example the roof. Blue = 1 Yellow = 2 Event 4: @>Conditional Branch: Variable[0004: Roof/Roof Color] == 1 @>Set Move Route: This Event (Wait) : $>Graphic: 'Roof_Blue', 0 : @> : else @>Condition Branch: Variable[0004: Roof/Roof Color] = 2 @>Set Move Route: This Event (Wait) : : $>Graphic: 'Roof_Yellow', 0 @> : else ...so on and so on end end You do that for the rest.(Doors, Windows, Walls, etc.) Now it's time for the interior. This one is A LOT more complex. 1)Each house item would be a character(bottle, bed, etc.) 2) Variable for each object. Number you give the variable can be type, style, color etc. 3)Event for each house item. 4) 2 Extra Variables for X coord and Y coord Your event pages will look like this... Black = 1 Red = 2 @>Conditional Branch: Variable[0004: Bookshelf] == 1 @>Set Move Route: This Event (Wait) : $>Graphic: 'Shelf_Black', 0 : @> : else @>Condition Branch: Variable[0004: Roof/Roof Color] = 2 @>Set Move Route: This Event (Wait) : : $>Graphic: 'Shelf_Red', 0 @> : else ...so on and so on end end This goes for the rest. This includes windows too(if you choose to). Now, here's what you do if you want the player to choose where to put the house, or the items inside. Here's how you find the X and Y of an event. 1)Go to Control Variables on 1st tab of the events. Click on it then pick the X or Y coord variable. 2)Click on game data 3)Go to character 4)Choose the event 5)Then go where it says Map X and pick Map X or Map Y. Once you do that you have the player pick which direction they want the object to go. I recommend have it go up or down by one. Here's what I mean... (Once you did the whole shelf customization) Right = X Coord + 1 Left = X Coord - 1 Up = Y Coord + 1 Down = Y Coord - 1 Loop Text: What do you want? (Choices are Right, Left, Up, or Down) For Example When Control Variable: [0001:X] += 1 Text: Good? (Choices yes or no) If no then it loops again. If say no say break loop and do self-switch A so the customization event for that house doesn't appear again. BOOM! There you go. If you have any questions plz ask me and I will answer them.
  7. So you've found the perfect song for your game. It's moving, it's sweepingly orchestral... and it's in MIDI format. But that's okay, because RPG Maker supports MIDI, so you import it anyway and add it to your game. Only one problem: now your game hangs for fifteen seconds before it starts playing the song. What gives? And how do you fix it? The problem here is that modern versions of Windows (anything past XP) no longer load the MIDI synthesizer when your computer starts up, because most people don't use MIDI anymore. Instead, they wait until an application asks to play a MIDI file, and then the application has to wait for Windows to load everything, which takes a really long time. There's a setting in RPG Maker that will force the MIDI subsystem to load when your game starts, but that just makes it hang before the title screen instead. To really fix this, we have to ditch MIDI entirely and convert the song to Ogg, the default audio format for RPG Maker VX and VX Ace. Unfortunately, that's not as easy as it sounds. A Note about MIDI Before we dive into the tutorial, it's important to understand a few things about the MIDI format. You're probably familiar with formats like MP3, WAV, and Ogg, which store actual recorded sound. MIDI isn't like that. It's more like sheet music: the file tells your computer what notes to play with which instruments, and your computer plays the music in real time as you listen. This has a lot of implications for conversion: for example, a MIDI file can sound completely different across different computers or even different programs. A MIDI file played in iTunes will sound different from the same MIDI file played in Windows Media Player, because they use different MIDI synthesizers. It also means that looping is handled very differently in MIDI than it is in other formats, as we'll see in a moment. Looping - the heart of the problem As you are no doubt aware, most of the songs in a classic RPG are infinite loops. Usually there's a short introduction which is played once, and then a refrain which is played over and over again. To make this happen, the composer of a MIDI file can specify something called a "loop point", which tells synthesizers "when you reach the end of the song, start playing again starting right here". You would think that if you could convert the introduction and then one play-through of the refrain to Ogg, you could just skip back to the loop point when you reach the end of the song and it would sound the same. But that won't work, because Ogg isn't sheet music like MIDI is. If you try that in an Ogg file, it'll sound horrible: you'll hear the lingering sound (the "sustain") of the notes from the end of the introduction, instead of the end of the refrain. It makes sense if you think about it: in MIDI, your computer just starts playing from the loop point like a human on a piano, so it all melds together perfectly. In a recorded format, you can't do that. That's the bad news. The good news is that we can fix it, but it'll be a bit of work. Step 1: Recording to Ogg For this step, you'll need Audacity. If you've never used it before, I recommend reading up on it a bit before you start. It's a very powerful tool, but it's also very complex. You'll also need the Trim Silence Nyquist plugin by Steve Daulton (mirror here). To install it, find where Audacity is installed on your computer and put the file into the "Plug-Ins" folder there, then re-launch Audacity. It should show up in the "Effects" menu. Lastly, you'll need an audio driver that exposes the "Stereo Mix" input. Most Windows sound drivers do, but if you're doing this on a Mac or a Linux machine, you may be in trouble. Take a look at this forum post for ideas, but really you probably need to use Windows for this. Open Audacity. You should see a new, blank project window. Make sure that the combo box in the lower left corner of the window labeled "Project Rate (Hz)" is set to 44100. Now, look at the toolbars along the top. Just below the timeline ruler, you should see a toolbar that looks like this: The text in the dropdown menus may be different for you. You want to set the recording input to the output of your speakers, so you can record the MIDI file as it's being played. To do that, click on the dropdown menu just to the right of the microphone icon, and look for an input named "Stereo Mix". (It may also be called "Mix", "Sum", "Loopback", or possibly even something else depending on your audio driver.) If you don't see any such thing, don't panic yet. Follow these instructions to enable Stereo Mix, then re-launch Audacity and try again. Once you've got it, make sure the dropdown next to that one says "2 (Stereo) Input Channels" as well. Once you have the input set correctly, it's almost time to record the MIDI file. Any sound coming through your speakers while the MIDI file plays will get recorded, so pause that YouTube video, log out of Skype, shut off notification sounds from your email, and generally make sure nothing is going to make noise before you begin. Also set your Windows speaker volume to 50% so you don't cause the recording to "clip". Now, finally, it's time to record. In order for this to work, you need to play the MIDI file in a program that will honor the loop point event, rather than just playing through once and stopping. Windows Media Player and iTunes both ignore the event, but you already have a program installed that will work: RPG Maker itself! Launch RPG Maker and click the "Sound Test" icon in the toolbar. Then select the MIDI file you want to record. Click Play, wait fifteen seconds as Windows loads the MIDI subsystem, and then click stop as soon as you hear music again. Switch back to Audacity and click the Record button in the toolbar, and then switch back to RPG Maker and click play again. (You don't have to be fast here: we'll get rid of all the silence at the beginning later.) As the song plays, you should see a waveform in Audacity. Let the song play at least a few seconds past the end of the refrain, until the song has looped and is starting to play the beginning of the refrain again. Then click Stop, switch back to RPG Maker, and click Stop there too. You should now see something like this: If the tops and bottoms of the waveforms get cut off, make sure your speaker volume is set to 50%, and if it is, set it even lower until it stops clipping. If you need to try again, make sure to click the X in the upper left corner of your old track to delete it before you record again, or it'll play over your new recording. Congratulations: you have a recording of your MIDI file! But it doesn't loop yet, so we're not quite done. Step 2: Finding the Loop Point Now, at this point you could try to fiddle around in Audacity to figure out where the loop point of the song is, but at 44100 Hz, it's pretty much impossible to get it exactly right. So we're going to cheat. I wrote a python script that uses Sean D. Spencer's midiparser library to parse the MIDI file, find the loop point, convert the time of the loop point to Ogg samples, and output all the information you need to do the rest of this tutorial. Download it here. You can decompress that anywhere you like. If you don't already have Python installed, you can get that here (make sure to download the 2.7 release: my script probably won't work in the 3.x release). Now open a command prompt and type: C:\path\to\python.exe C:\path\to\find_loops.py C:\path\to\folder\containing\your\midi\files The script runs on an entire folder at a time so you can just copy and paste the output to a file and not have to run it a bunch of times. If you run the script on, for example, the RPG Maker XP soundtrack, you'll get output like this: 001-Battle01.mid Start: 0.500000 seconds (22050 Ogg samples) End: 66.875000 seconds (2949188 Ogg samples) Length: 66.375000 seconds (2927138 Ogg samples) LOOPSTART: 1.875000 seconds (82688 Ogg samples) LOOPLENGTH: 66.000000 seconds (2910600 Ogg samples) 002-Battle02.mid Start: 0.500000 seconds (22050 Ogg samples) End: 58.785656 seconds (2592447 Ogg samples) Length: 58.285656 seconds (2570397 Ogg samples) LOOPSTART: 4.928568 seconds (217350 Ogg samples) LOOPLENGTH: 54.857088 seconds (2419198 Ogg samples) ... Let's look at Battle02.mid. The song starts 0.5 seconds after the beginning of the file and ends about 59 seconds in. The loop point is at a little shy of 5 seconds, and lasts about 55 seconds. All of these are also shown in Ogg samples, which are seconds multiplied by 44100 (the Project Rate from earlier). Step 3: Looping the Ogg File Head back to Audacity. Your recording probably has a bunch of silence at the beginning, because you had to switch back to RPG Maker and hit Play after you hit record. Well, we know how much silence there should be at the beginning: in our case, it's 0.5 seconds worth (the value of "Start" from the script output above). So let's fix that now. Go to Effects > Trim Silence. (Make sure you installed the Nyquist Plug-in back in step 1!) It will think for a moment, and then remove all the silence from the beginning (and the end, if you hit Stop in RPG Maker first). Click the purple rewind button on the toolbar to put your cursor at the very beginning of the recording, and then go to Generate > Silence. A dialog will pop up asking you for a duration. Click the down arrow to the right of the text field and select "samples", then input 22,050 (the number of Ogg samples corresponding to 0.5 seconds, which you can find in the script output). A little bit of silence should get added to the beginning of your song. Next, we need to set up the loop point. Now, you're probably wondering what about the stuff I said at the beginning about how that wouldn't work. It's true, it wouldn't if we used the real loop point, but that's why I told you to keep recording for a few seconds after the actual loop point. The output of my script automatically adds one second to the actual loop point when it outputs LOOPSTART, enough time for the sustain of the introduction to fade out completely so that the sound environment is the same on both sides of the loop. If one seconds turns out to not be enough because you have some crazy reverb or something, you can change how much the script will add: just pass --help to see the options. There's only one thing left to do: click File > Export, and choose "Ogg Vorbis Files" as the type to save. Enter a name for your song, and click Save. A dialog will pop up asking you to edit the metadata. This is where we'll input the loop point information. RPG Maker uses metadata fields called "LOOPSTART" and "LOOPLENGTH" for this, which is why the script output calls it that. Double-click in the empty cell in the bottom left (right below "Comments") and type "LOOPSTART", then hit tab. The value should be the number of Ogg samples for LOOPSTART, which is 217350 for our song, so type that in. Now, click the "Add" button to add another metadata field, and call this one "LOOPLENGTH". Its value is the number of Ogg samples for LOOPLENGTH, which is 2419198. Click OK, and it will save your Ogg file. Step 4: Test It! At this point you should have an Ogg file that loops just like the original MIDI. To test it out, import it into RPG Maker using the Resource Manager, and test it out using Sound Test. If all went well, it should loop perfectly. In some cases, I have heard a tiny pop when the loop happens, but you have to be explicitly listening for it to hear it. Oh, and one last thing: make sure you have legal permission to use the song you've recorded in your game! The law surrounding distribution rights of your own performances of other people's music is very complicated, so even if you have permission to use the original MIDI, it's not absolutely clear whether you have permission to use a recorded Ogg file of that MIDI. I am not a lawyer and this is not legal advice, so you're on your own here. As you can see, this is a lot of work, but once you get good at it you can blaze through converting a song in about three minutes. I hope you found this tutorial helpful!
  8. Elemental Spells Frozen Darkness: Cool off your opponents with this heart-wrenching spell. Does Base Magic + Weapon Attack * Enemy's Defense - Enemy's Magic Defense (Ice Damage). Also bestows Dread upon opponent, causing them to lose %2 of their attack, magic attack, defense, and magic defense for 1~6 turns. Flaming Frostbite: Causes fire damage with a chance to freeze enemies. Hits entire group. Pierces magic defense. Freeze chance of 40% + 5% per level. Dark Lightning: A burst of black thunder strikes 3 enemies simultaneously, causing dark and electric damage with a 60% chance to stun for 2~6 turns. Stacks twice. Damage is halved on ground type and Dark type enemies. Holy Spells Path of Light: Casts a magical aura of light upon one enemy, either causing them to flee with repent, or massively damage the core of their being. 25% chance to cause flee or 1200 Holy damage. Works only on Humanoid type enemies. Does not work any boss except a human one. Can only cast once every five turns. Searing Light: Causes extreme Holy and Fire damage. 50% chance to cause burning and blind for 1~3 turns. Glory of Gyandu: Pray to Gyandu to heal your entire party for 50% of their current health, also Blesses, causing party to recieve a bonus to their attack, magic attack, defense, and magic defense. Only works if party health total is below 50%. So that's it so far. I consider these advanced because of the work it'll take to get them working, as well as the conditions each spell has. You all have your own opinions on these and I would like to hear them and receive feedback. I strive only to bring something new and interesting to the playing field!
  9. When you're playing your game, you may notice that the camera follows the player and is always centered on the player unless you've reached the edge or corner of the map. Sometimes, you may want to focus the camera on a different object, or an arbitrary position on the map. For cut-scenes where the player is not involved, for example, you would typically have to set the player's graphic to transparent and then move the player to the cut-scene's location. After the cut-scene is over, you would then move the player back to where they were. This is not a difficult task, but it is not really something that you have to do just to look at somewhere else on the map. One solution that would make your cut-scenes and overall eventing experience so much easier is the ability to control the game camera using the Camera Target script. Read the rest at Hime Works!
  10. This tutorial explains what Drop Item Sets are and how they can be used to create unique conditions for obtaining item drops from enemies. Required Script: Drop Item Sets What is it? A "Drop Item Set" (or simply, "drop set") is an object that manages drop items. It describes -What drops can be obtained from an enemy, and -What conditions must be met to obtain these drops A single enemy can have multiple drop sets, each with different items and different conditions. This allows you to control when and how conditions are dropped based on any type of conditions that you can imagine. How to create a drop set It is easy to create a drop set. Simply note-tag an enemy with <drop-item set> drops: 1, 2, 3 priority: 1 condition: your_formula </drop-item set> `drops` specifies which drop items will be assigned to that set. The numbers are based on the enemy's list of drop items, 1 being the first drop item on the list (ie: Potion). You can assign the same drop multiple times to a set, allowing the player to receive the same item multiple times. `priority` determines the order that drop sets are checked. When a battle is won, the game will pick one valid drop set to reward drops from. Higher priority sets are checked before lower priority sets, so you can use the priority to determine which sets should be checked first. `condition` is used to determine whether a drop set is valid. A drop set is valid only if the condition is met. If there is no condition, then it is valid. The condition is any valid ruby formula that returns true or false. There are special variables available for your formulas; refer to the script for more information. Example: Quest Drops Suppose you are designing a quest where you are asked to collect some Slime Pudding that are dropped by Slime monsters. You want these slimes to be regular monsters in a dungeon that you can encounter at any time, but you also want the slimes to drop the Slime Pudding only when the quest is activated (Switch 14 is ON) You have decided that the slimes will drop two items normally: Potions, and Hi-Potions. You also want these slimes to drop the puddings with a 100% droprate when the quest is active. So here are the slime's drops and their droprates: 1. Potion - 50% 2. Hi-Potion - 25% 3. Slime Pudding - 100% The slime has a 100% chance to drop the pudding, which means if you have to collect 20 puddings, then you only have to find and defeat 20 slimes. However, if the pudding has a droprate of 100%, how can you control it so that they only drop when Switch 14 is ON? Using Drop Item Conditions A nice solution is to use Drop Item Sets and attach conditions to them. You can create two groups of drops: the first group is the normal drops that you receive whenever you defeat a slime. The second group is used when the quest is activated. Here is a possible setup Group 1: Potion, Hi-Potion <drop-item set> drops: 1, 2 priority: 1 </drop-item set> Group 2: Potion, Hi-Potion, Slime Pudding<drop-item set> drops: 1, 2, 3 priority: 10 condition: s[14] == true </drop-item set> There are two things to notice in our setup. First, is the priority. When the quest is active, we want to receive slime puddings whenever a slime is defeated. Because the drop sets are checked in order of priority, we want the second group to be checked first so that the game doesn't randomly choose the first group that doesn't have any pudding. Second, is the condition. In our second group, we have the condition that Switch 14 must be ON. This means that if switch 14 was not ON (ie: the quest hasn't started, or is finished), then we will never receive Slime Puddings from the slimes because the second drop set will never be picked. This example assumes you can only collect Slime Pudding from Slime enemies, but you can use the same setup to have multiple enemies drop Slime Pudding easily. For example, maybe you have five different Slime-type monsters and you want all of them to drop Slime Puddings when the quest is active. Closing words As demonstrated above, drop item sets allow you to accurately describe what drops should be available under certain circumstances. By using powerful formulas, you can create a variety of unique events in your game that could not be done before without putting a lot of effort into finding workarounds.
  11. Random Occurrence System (R.O.S.) Introduction My apologies. This was meant for Halloween but I got caught up in uploading the tutorial. I've been playing a lot of horror games lately; mostly Dead Space. I got to a point in the game where there was a door that was chained and kept shaking, like something wanted to get out. I walked in front of the door and thought, "What if something actually popped out of that door?" That's when I got the idea for R.O.S. I figured that the reason some RM games don't scare players is because the player already knows what's coming. What people are afraid of is the unknown. I desperately wanted to make this system for RPG Maker but never found the time. But this October, I found the time to really devote myself to RPG Maker. Enjoy the system! About the System This system requires some heavy eventing and editing. The level of difficulty is from moderate to high so have patience with the system. Available in the Demo: Enemies Regular (Set up by you. ABS compatible) Self Checking (Runs on Parallel Process to check their own X and Y values. ABS compatible) Traps Active Trap (Triggered by Player Touch and runs once. Player must step on trap again to re-activate) Active Persistent Trap (Runs on Parallel Process and triggered by player or other conditions) Passive Persistent Trap (Runs on Parallel Process and is independent. Processes as soon as player enters the map) Ventilation System (Requires Self Checking enemies) Exits (For enemies to exit the vent system and surprise the player) Entrances (For enemies to re-enter the vent system to hide from or chase the player) A more detailed explanation is found in the demo. It explains all the tips you need to get this system functional. Screenshots It's hard to understand the system just from pictures but here you go. A monster who has popped out of the wall Common Events The Dead Space-inspired Ventilation System The Ventilation System's Region IDs (For numbering Exits and Entrances into the Ventilation System) Terrain Tags (For Exits and Entrances into the Ventilation System) The Random Occurrence System (R.O.S.) was deisgned and created by RGangsta at gdunlimited.net (RM Unlimited) for RPG Maker VX ACE October 28, 2013 Click to Download! (Redirects to gdunlimited.net) **This system is ONLY available at gdunlimited.net (RM Unlimited)! If you would like to post this system somewhere else, please redirect to gdunlimited.net. Credit is not necessary but is appreciated.
×