On Sat, Jul 03, 2010 at 09:10:17AM +1200, Ralph Versteegen wrote:
> On 3 July 2010 08:12, James Paige <[email protected]> wrote:
> > On Sat, Jul 03, 2010 at 04:49:59AM +1200, Ralph Versteegen wrote:
> >> > None of those should normally contain waits, but there would be
> >> > situations where it should be okay. For example, when level-up
> >> > calculation is based on your success in a slot-machine mini-game, or
> >> > when attack damage is modified by whether or not you accurately type a
> >> > word.
> >> >
> >> > Although in the case of NPC collision checks, it is pretty hard to
> >> > imagine a game that would want an interruption every time that happened.
> >>
> >> I don't (or don't WANT to) understand... You're suggesting adding
> >> "delay this computation and backtrack all the way out and pause the
> >> battle system and run a script and then come back here and continue"
> >> mechanisms to sections of code such as attack animation+damage? That
> >> sounds like a nightmare to me, but you're far more familiar with the
> >> battle system than I am. Well, it would sound reasonable to me if you
> >> were to reimplement portions of the battle system as scripts.
> >
> > Actually, I expect such a thing to be extremely easy if BattleScripting
> > is implemented according to
> > http://gilgamesh.hamsterrepublic.com/wiki/ohrrpgce/index.php/Plan_for_implementing_battlescripting
> 
> I'm not seeing what you are (in particular, nothing on that page jumps
> out at me as relevant)... could you sketch your implementation idea?

I need to clean up that plan. I prefer the "alternate possible plan" at 
the bottom. In that plan, map mode and battle mode are capable of 
running concurrently. By default, the map is suspended while the battle 
is running, but this can be overridden. This is pretty much exactly like 
how we transitioned from purely modal menus to menus that can be script 
controlled.

I could Imagine writing a battle script that does something like this 
heavily pseudocoded example:

plotscript, boss death animation, begin
  # make boss sprite slice explode in a cool way

  # hide the battle
  variable(bat sl)
  bat sl := slice lookup(sl:battle root)
  set slice visible(bat sl, false)
  suspend battle

  # meanwhile...
  # save hero map position
  disturbence in the force cutscene
  # restore hero map position

  # resume the battle, and finish victory dance and rewards
  set slice visible(bat sl, true)
  resume battle

end


---
James
_______________________________________________
Ohrrpgce mailing list
[email protected]
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to