Hey, we have forums!

Author Topic: Form Trials  (Read 9091 times)

0 Members and 1 Guest are viewing this topic.

Offline Zeno

  • Bit Bit
  • ****
  • Posts: 85
    • View Profile
    • Internetography Forums
Form Trials
« on: December 13, 2007, 02:50:57 am »
So, my first real idea for a mod would be to have a series of levels designed around using each form to the full extent of its abilities.

For example, the Nature Form level would require you to use the charge shot to launch yourself places, or as platforms/shields.

For the Beast Form level, I was thinking of having puzzles that would require you to have specific shots from a certain enemy.  If possible, this would use pearlgates that are activated by certain enemy shots instead of the Energy Form.

Energy form would be heavily combat-oriented, obviously, but would also have puzzles that require precision and timing, for example, shooting things in a specific order.

Aside from the  Forms, I think it'd also be neat to have similar levels for Bind and Shield.

In each level, you would only have the specific form/song required.

Offline Burton Radons

  • Mini Bit
  • **
  • Posts: 9
    • View Profile
Re: Form Trials
« Reply #1 on: December 13, 2007, 06:13:31 am »
Sounds nice and well-directed, since you only need to think about what constructs test the player's understanding of the form and not what, you know, makes sense or fits into a plot or cohesive; "Naija's imprisoned by a jealous god who's teleporting her all over Aquaria to intricate traps of his own design but she's being helped by sea creatures who teach her the necessary song to beat the trap". The only problem is I don't think there's any way to forget a song, but that's no big; just pretend you can until a patch adds that.

Offline Alec

  • Administrator
  • Dream Bit
  • **********
  • Posts: 2211
    • View Profile
Re: Form Trials
« Reply #2 on: December 13, 2007, 12:48:33 pm »
Oh, there's a way. :)

e.g.

unlearnSong(SONG_ENERGYFORM)

Offline Dolphin's Cry

  • Bit Bit
  • ****
  • Posts: 61
    • View Profile
Re: Form Trials
« Reply #3 on: December 13, 2007, 04:25:02 pm »
You can also lock the player into a specific form using changeForm() and setCanChangeForm(); they do not even need to have the song for that form. I wrote a little function to simplify the process. At the beginning of your script:
Code: [Select]
dofile("scripts/entities/entityinclude.lua") -- to get the FORM_* definitions

local function ensureForm(form, lockForm)
    -- Since setCanChangeForm(false) prevents changing the form by any means, not just by the player,
    -- we have to be careful about the order of calls.
    -- Do not call setCanChangeForm() if lockForm is nil, i.e. if it has been omitted.
    if lockForm == false then setCanChangeForm(true) end
    if not isForm(form) then changeForm(form) end
    if lockForm == true then setCanChangeForm(false) end
end
Then when you want to force the player into a specific form (for example beast form):

ensureForm(FORM_BEAST, true)

And to give them back the normal form and allow changing the form again:

ensureForm(FORM_NORMAL, false)
Can you hear the dolphin's cry?