Jump to content

The Legend of Zelda: Sacred Talion

Photo

Weather Script and Enemy Management


  • Please log in to reply
3 replies to this topic

#1 RetraRoyale

RetraRoyale

    Doyen(ne)

  • Members

Posted 24 June 2014 - 12:15 AM

Today I experimented with designing a particle-based weather system. Since I basically had an algorithm for making rain in the tile editor, I simply reproduced the method in ZScript. It is much more interesting, since now I can set the wind speed and rain severity, and have random lightning and ambient sound. (Not to mention that the rain is much less repetative.) Coincidentally, when you use the heaviest rain styles, it tends to come down in waves. So it's really authentic in that way.

Next, I made a basic snow weather script. This one has a nice feel to it, but it needs a lot more particles than the rain does, so it doesn't look great right now. Especially during screen scrolling... The rain falls too fast to have this problem. The snow lingers about, so it takes a bit to get started falling on new screens. I need to find a way to fix that.

I will also be adding fog, wind/leaves, ash fall, overhead clouds, and sand storms to the weather script. You can set the weather using an FFC weather changer, which takes a flag set and generates random weather patterns based on what you've assigned for the area.


I've also started moving all the tiles to a new file in order to get them properly sorted. There isn't any room in the file to do ti conveniently there. So this is the point where I set up all the enemies and combos, which is going to be a pain and take some time. Spreadsheets... Good thing I'm a pro spreadsheet master. I also need to find a good naming convention for the enemies. I want it to be clear how strong they are and where they should be used. That way the enemy list can be more efficiently browse-able.

Here is the magic meter I made. I might change it to have a bit more of a 'glassy' texture later on, but it's a good start:

Posted Image


Log Dump
::June 23, 2014::{
Remade the rain in script form. It looks much better -- smoother. Less repetative, and uses far fewer tiles!
Made a snow script. I still have to tweak the particle counts and timing so that it looks ok during screen transitions and startup.

Started converting to final tileset layout.
Imported subscreen.
Redesigned magic meter with scroll-like end caps.
Imported Link tiles. (Left an extra space for a new shield.)

Built a diagram of Link's power level and defense range at each sequence level. This will help figure out which enemies you should be facing at each location.
Started a major enemy compendium to help classify and organize enemies. This will help with figuring out which areas are lacking; interior, exterior, and at what power levels. That way I can slide new enemies into the big picture by just looking up what their stats should be depending upon where they are meant to be fought.
}
  • strike likes this

#2 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 24 June 2014 - 01:04 AM

This'll be interesting for several reasons: It's a first, for the engine, so it'll be fascinating to see the effects, and to measure the performance hit, when it's running. The only other particle-based engine components for ZC at present,t hat I can instantly recall, are in stdCombos/stdWeapons.

 

A real weather system will be fascinating too, if there is any way to determine the current (real-world) season, and match it. (Else, to slave it to the game clock, and run effects based on days per X minutes of play; which is what I'm hoping to do with day/night cycles at some point in the future.)

 

The magic metre is interesting, but IMO, it's be better with a more vibrant green, or something with greater contrast; however, I expect that transparency will make a large difference, and as we're not seeing it overlaid onto a screen, that it's hard to gauge how visible it'll be when presented to a player. (I'm assuming that's an FFC that isn't part of the normal subscreen. Is that correct?)



#3 MarinaraSauce

MarinaraSauce

    Magus

  • Members
  • Real Name:Grant
  • Location:New York

Posted 24 June 2014 - 06:30 AM

It'd be cool if the frequency of certain weather conditions changed based on story events, like how in Morrowind blight no longer appears after you beat the game.



#4 RetraRoyale

RetraRoyale

    Doyen(ne)

  • Members

Posted 24 June 2014 - 11:45 AM

The magic metre is interesting, but IMO, it's be better with a more vibrant green, or something with greater contrast; however, I expect that transparency will make a large difference, and as we're not seeing it overlaid onto a screen, that it's hard to gauge how visible it'll be when presented to a player. (I'm assuming that's an FFC that isn't part of the normal subscreen. Is that correct?)

 

Actually, it's just a normal subscreen meter. I would be open to using it as a script meter, but well... ZC has allocated subscreen space. As soon as ZC 12.0 comes out and you can set the screen size to get rid of that, then I'd be happier to do subscreen stuff scripted. As it stands, it's just not worth the effort for what I'm trying to do.

 

 

A real weather system will be fascinating too, if there is any way to determine the current (real-world) season, and match it. (Else, to slave it to the game clock, and run effects based on days per X minutes of play; which is what I'm hoping to do with day/night cycles at some point in the future.)

 

 

 

The real shame here is that I can't change the palette with a script. If I could do that, then it would be a natural next step to add day/night transitions and seasons changes. I'm not really interested in duplicating maps and faking it with warps -- that seems like... something I don't want to do. But I'm interested in seeing how you'd tackle it.

 

 

It'd be cool if the frequency of certain weather conditions changed based on story events, like how in Morrowind blight no longer appears after you beat the game.
 

 

 

That wouldn't be too hard to do. The way I'm handling things, there are two scripts: A global 'Weather' script and an FFC 'WeatherChanger' script. The global script just processes the particles and makes the weather happen. The FFC script sets the variables concerning what weather to use. So you could always write different weather changers, including ones that look at story event variables.

 

For instance, since my Ocarina item doesn't do whistle warping, and since it's lore is largely tied to the ability to control "the heavens"/destiny, playing the ocarina will actually allow you to cycle the weather.

 

 

The default weather changer uses a set of flags. Set, you set a DMap variable to 13, (1 + 4 + 8), which means "Clear, Snow, Fog", and then it chooses which one to use randomly. It's not super customize-able, since you can't directly control the probabilities, but when you're walking around on the DMap, the weather will slowly cycle between these different effects. It should be pretty cool. For example, if you choose "clear" as a weather option, it will be much more common than the other options. If you want a really rainy place, don't select "clear". (Or go and write a more suitable changer script...)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users