Skip to main content

User login

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password
Register
  • Home
  • Browse
    • 2D Art
    • 3D Art
    • Concept Art
    • Textures
    • Music
    • Sound Effects
    • Documents
    • Featured Tutorials
  • Submit Art
  • Collect
    • My Collections
    • Art Collections
  • Forums
  • FAQ
  • Leaderboards
    • All Time
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
    • Weekly
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
  • ❤ Donate
FLARE [ARCHIVED]

post_powers and the power config file

pennomi
Tuesday, February 22, 2011 - 13:40
pennomi's picture

Hi! I've been messing with the new config file for powers and it's really exciting. It's pretty easy to create your own powers now. I did make a few observations and I wanted a few clarifications on how it works. I would like to insert a disclaimer here, however: I've been doing things you're probably not supposed to be doing, so naturally, there would be weird, clearly unintended and unanticipated effects.

First, I noticed that when you use the post_power setting, the new power originates from the affected creature. This makes sense in some contexts (eg. Blood Spurt, etc.) however, it limits the usefulness of post_power. For instance, I tried using shock as a post_power, thinking to make a type of chain lightning. What actually happened is that the creature fired a bolt of lightning back! Another example is I used Heal as a post_power thinking to make a vampiric strike. This actually heals the affected creature (when the creature wasn't killed, of course. Also, see below for more on Heal as a post_power).

An observation (related to the first): The bolt of lightning fired in return by the creature always fired in the same direction, regardless of where the creature was facing. It may be more exciting to have the creature's response power be aimed at the hero. (Assuming you keep post_power originating from the affected creature.)

Probably related to the previous observation: I used Teleport as a post_power. It actually functions quite hilariously (Oh? A boss? Teleported!) but the main problem is that the creature simply disappears to nowhere. (Quite literally, I think it's gone from the map). I tested this by having a teleporter arrow fired at me by an enemy creature. I ended up in a black, empty map. Perhaps it would be exciting for teleport as a post_power to move the target randomly or in a certain direction?

Another thing is that damage is always determined by base_damage equalling melee, ranged or magical. While I agree with this method for the most part (damage should be based on the equipment), it would also be nice to be able to define a custom number or range to create more variety in damage. Think of a spell with huge area of effect, but relatively low damage. Maybe there's already a way to customize the damage output of a particular spell?

Another observation/bug: When "Heal" is used as a post power, the game sometimes crashes. I imagine this is due to the creature gaining more health than its maximum, but I'm not sure.

If you've made it through that wall of text, congratulations! I probably shouldn't have been making tweaks that would obviously break the engine, but your power config file was sooooo tempting! :D Great work!

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Tuesday, February 22, 2011 - 14:01
Clint Bellanger's picture

This is hilarious!

I was hoping someone would experiment with this stuff, as there are obviously weird combos that I wouldn't have thought of.

The idea of post_power is to have some effect happen when a spell lands, usually just a non-hazard graphical effect.  I plan on adding a pre_power as well so that interesting graphical things can happen.  This is obviously to accomplish things like blood spurts or sparks, but it definitely opens up some fun things...

I'll check on that Heal post-power effect.  It might be doing something bad like dividing by zero.  Obviously not a combo I anticipated.

I'll also check on that Teleport post-power.  Probably the "Teleport Target (x,y)" isn't set, so it might be porting to random/garbage int which will almost always be way off the map.

I can add static damage (instead of weapon-based damage) to spells.  I also plan to add a multiplier option to damage e.g. does 150% of weapon damage, or 50% of weapon damage.

I have plenty more to do for powers.

  • Multishot, Vengeance, and Freeze are still hard-coded (they have unique mechanics that will require new base spell types).
  • Right now the spell tree is the same as the first 20 IDs.  Instead this will be moved to config file.
  • I haven't given much thought to the "source" of post-powers.  I'll probably expand on this in a later release.
  • Chain Lightning and Vampiric effects will be added eventually.

I'll find a cut-off point and release what I have soon!

 

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Wednesday, February 23, 2011 - 07:24
pennomi's picture

Thanks for responding so fast! Obviously I opened up a huge can of worms here, but I'm glad you think it's worth exploring. It may actually be better in the long run to use a diversified, mature post_power system than actually coding in dozens of base spell types (eg. chain lightning just uses a "Shock" spell as a post_power, or vampiric effects can be added to any spell simply by adding the post_power "Drain Life" to them.) But obviously you would know better than me there.

Oh, another observation I had: I set up one of my melee powers with a "Fireburst" spell as the post_power. The interesting effect was every time I hit them, I took damage from the resulting Fireburst explosion (because it originates from the creature I just hit).

While at first I really liked the static damage option I described, (and I still would think it nice to have it implemented), I like even better your damage multiplier option. I think that keeps better to the idea of your equipment defining damage.

Once again, great job! I'm very impressed with your work. I would suggest ignoring most of the things I've said here until after you release FLARE v0.11, since that's going to be a big deal to everybody still playing v0.10.

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Wednesday, February 23, 2011 - 08:15
Clint Bellanger's picture

I definitely plan on having only a few base spells, typically defined by the "motion" of the spell.

Current Base Types:

  • Effect (a non-moving power.  It can have a centerpoint and radius, or just apply static effects to target or self).
  • Missile (single animation flies in a direction.  E.g. shock, enemy ice and fireballs, arrows)
  • A few temporary types

And I'll be adding

  • Ray (creates multiple animations in a straight line.  This is what Freeze is.  I could also use this to make laser spells if I don't have the delay on each section).
  • Enchantment (a buff/debuff with attached visual effect.  Shield will use this type.  One part of Vengeance will be this type, and the other part will be an Effect melee swing that consumes/requires a Vengeance enchantment).

I'll also add a MissileCount and MissileAngle to the Missile spell so that it's easy to do Multishot.  Then it'll be easy to give bosses an 8-direction missile.

I will add an "auto-aim" option to spells that just aims at the nearest valid target -- that's probably how I'll do the post-effect to achieve Chain Lightning.

You're thinking along the right lines.  Plenty of good ideas here.  I definitely need to get 0.11 out the door.

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Wednesday, February 23, 2011 - 08:35
pennomi's picture

Perfect! MissileCount and MissileAngle will be pretty awesome. As far as the auto_aim option is concerned, could you also add a random_aim option? Think of a weak missile that when it hits, it shoots out 2 or 3 randomly aimed missiles of the same type. In a large group of closely-spaced enemies, it could be a powerful chain effect, but when there's 2 enemies, or enemies spaced far apart, it would be nearly ineffective, because of the random aim.

I'm fairly excited to get 0.11 ready for release. Do you have any non-code jobs that need taken care of that you would want help with, eg. populating the cave map, etc.? (I do code, but I don't know your code well enough to help...)

Edit: Maybe help with documentation?

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Wednesday, February 23, 2011 - 08:46
Clint Bellanger's picture

Random aiming would be great, I like that as a possible post-effect.

If you want to take a crack at populating the cave map, go for it!  It's one of the final things remaining for the 0.11 release.  Adding existing creatures is easy enough.

I wanted the cave to have slightly tougher creatures than the dungeon area, maybe enemy level 5-8. You'll see I made three new Antlions for the caves: spitter, blinker, burster.  I need to make a few more creature variations for the Caves (at least some goblins and minotaurs).  If you have ideas or want to take a crack at making them, lemme know.

If you really want to make new monsters, try this out.  https://code.google.com/p/flare-engine/wiki/MonsterLevels  It's untested, just a first stab at how monsters might scale.  Some existing monsters need to be edited.  All of it will be tested (and probably changed drastically).

If you're interested with helping with documentation instead, that would be great too.  The main need is to document the file formats.  If you want to do this, I'm happy to answer all questions.  We can put the resulting docs in the wiki.  The documents aren't really time-sensitive or tied to the regular releases.  I plan to get around to it eventually... maybe in the break between v0.11 and .12, especially now that there's a lot to play around with.

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Wednesday, February 23, 2011 - 11:02
pennomi's picture

I'll go ahead and start populating the cave map, and then I'd be happy to help with new creature creation or documentation. I can't use blender (I've never learned) so I can't produce any art, but I can at least make new monster files.

I've seen (and already used) your new antlions. I really hate those spitters. Which, of course, is the reason I'll put them in the caves. I can whip up a few new creature types as well, if you'd like. I have already seen your Monster Levels wiki page; I'll apply those guidelines to see if they are balanced.

Question about creature placement on cave maps. On the normal maps, you have the "half wall", so that visibility is increased. In the caves, no such tile exists and it's difficult to see the creatures sometimes. Do you like the idea of creatures jumping out from behind the wall to attack the hero? Or would you rather have all enemies visible by default? I think it adds to the creepy ambiance of the caves to rush forward to attack a lone antlion only to be ambushed by 3 more. Players may not like the "gotcha!" effect to it, though.

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Wednesday, February 23, 2011 - 11:28
Clint Bellanger's picture

I like the spitters too!  Essentially, under the hood, they're the same as skeleton archers or goblin spearmen.  It's a plain missile.  But it's funny how just a few variable tweaks and new art can make something so vicious!  Hint though: fire resist gear really helps.  It rounds in your favor, so even 1% fire resistance will reduce fire damage by 1 point.

I think antlions or zombies that start behind cave walls is perfectly okay.  Used smartly/sparingly anyway.

On those tiny dead-end rooms I might put some chests or other containers.  If you can figure out how the container events work feel free to add them, otherwise I'll go ahead and add those after.

Tip: I suggest having a copy of the cave map open in Tiled and using the mouse cursor + status bar to see coordinates, to place enemies.

  • Log in or register to post comments
Tartos
joined 14 years 8 months ago
Thursday, February 24, 2011 - 00:52

It seems next release will be very interesting ! :)

I'm currently coding skills too, and there are great ideas here (haven't tought about random aim). Could you post a typical skill definition from the config file ? Do you plan to use a standard such as xml or json for config files or making your own format ?

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 06:22
Clint Bellanger's picture

Tartos,

Here's the current Powers definition file

https://code.google.com/p/flare-engine/source/browse/trunk/resources/pow...

I'm using a primitive "ini" format for most of my config files. I'm open to the idea of moving to something more standard at some point.

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 07:57
Clint Bellanger's picture

All,

https://code.google.com/p/flare-engine/wiki/PowerDefinitions

A hastily-thrown-together help page for the powers.txt file.

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Thursday, February 24, 2011 - 09:54
pennomi's picture

I've got most of the map working (creatures and a few surprise events), but I am having trouble figuring out how the loot property works for events. What do each of the numbers mean?

  • Log in or register to post comments
Tartos
joined 14 years 8 months ago
Thursday, February 24, 2011 - 10:13

Pfunked wrote :

- loot=random,x,y,level  OR loot=id,x,y,item_id   (x and y are the tile in which to spawn the loot).

Example 1: spawn a random level 4 treasure in map position 10,10.   loot=random,10,10,4

Example 2: spawn a longsword ( http://clintbellanger.net/rpg/item.php?id=200 ) in map position 10,10: loot=id,10,10,200

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 11:21
Clint Bellanger's picture

Tartos is correct.

Note: treasure can drop +/-3 levels, on a bell curve % chance (5,10,20,30,20,10,5).  So if you place a level 4 treasure, there's a 5% chance of getting a level 1 treasure and a 10% chance of getting a level 6 treasure.

Followup-Note: if the treasure roll determines a treasure of level 0 or below, no treasure is given.

Creatures drop loot based on their creature level, same bell curve math applies.  But each creature has a % chance of dropping loot at all, whereas map events always drop treasure as specified.

At some point I will add Powers and Enemy Spawns to events.  So a trap room might spawn a load of zombies, or a trap tile might shoot a poison dart at you.

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Thursday, February 24, 2011 - 12:06
pennomi's picture

Okay, the cave map has been populated, and there's a few events in there too. I couldn't figure out how to add in barrells and crates because they aren't in Tiled yet... so you'll have to add more stuff to loot.

I created the Goblin Shaman as a new creature, but he has no new powers. (He just uses shock and the protection spell). He also has no visual distinction from the other goblins.

Also, I created a commented out entry at the bottom of the cave1.txt file for an antlion queen, if you ever decide to make a large version of the antlion. It should be easy to just scale it larger, right? (I have no idea...) Maybe baby antlions would be good too?

cave1.txt: http://ubuntuone.com/p/eph/

goblin_shaman.txt: http://ubuntuone.com/p/epi/

Give it a play and see if it works or if it's what you're looking for. Of course, feel completely free to change anything/everything around if you so choose.

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 12:19
Clint Bellanger's picture

pennomi, excellent!  I'll go in and add some treasure.  The rest is great and just the feel I was going for.

And great job on the goblin shaman, he was a fun little fight.

It should be easy to add baby and queen antlions.  I might do that later.  I want to add unhatched egg tiles to the map and use events to spawn swarms of baby antlions.  But that'll take modeling so I might save it for a deeper level of the cave.

 

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Thursday, February 24, 2011 - 12:36
pennomi's picture

Glad you liked it! Did you find the two "surprise" events? The one is going to need a new sound effect. I was looking for one on OGA, but couldn't find a suitable sound. Maybe you know someone who can do that? (Sorry about the ambiguity here... it just might be more fun for people to discover them on their own ;) ).

Oh, and I forgot to mention that I modified the Tiled map slightly. Do you need the updated .tmx file?

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 12:41
Clint Bellanger's picture

The surprise events were great!  I like how you handled the monster position on one event.  And I'll look for a great sound for that other event.

Sure, please send the updated .tmx -- is the update just related to that minecart-room event?

I did miss a couple things in the goblin room the first time around.  I might make those activation zones a bit larger.

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Thursday, February 24, 2011 - 13:28
pennomi's picture

cave_level1.tmx: http://ubuntuone.com/p/eqJ/

Yes, the only thing I edited was related to the minecart-room event. I had to flatten out the wall north of the event to make it work correctly.

How do you make an activiation zone for an event larger? In fact, what do the last 2 numbers on events actually do? I think I just copied them from an already existing event in another map.

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 13:33
Clint Bellanger's picture

pennomi, the last two numbers on event location are the tile width and tile height size of the activation area.  The location (x,y) is actually the "top-left" corner of the activation rectangle.

Examples:

- A single square activation might look like 50,50,1,1

- If you want a 3x3 square centered on 50,50 it would be: 49,49,3,3

Side note: each event can have up to 8 actions.  Actions are anything that's not type or location.  For now, if you want a more complex event you have to overlap two or more events (see the final room of the Complex for a large example).  This is silly and unintuitive so I'm going to change the 8-action limit at some point.

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 13:40
Clint Bellanger's picture

pennomi, I'll add you to the credits to the game.  Do you want to be credited in a specific way?

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Thursday, February 24, 2011 - 13:50
pennomi's picture

Whichever way is standard is good for me. Feel free to use my real name; Thane "pennomi" Brimhall will do just fine. If there's ever anything having to do with license, just release my contributions under the same license as the rest of the game. (GPL or CC-BY).

  • Log in or register to post comments
Clint Bellanger
joined 15 years 8 months ago
Thursday, February 24, 2011 - 14:10
Clint Bellanger's picture

Added you to:

http://clintbellanger.net/rpg/contributors.php

and

https://code.google.com/p/flare-engine/wiki/Credits

By the way, "Thane Brimhall" is a kickass name.  Sounds like you just crawled out of a mountain with an axe stained with goblin guts.

  • Log in or register to post comments
Redshrike
joined 15 years 9 months ago
Thursday, February 24, 2011 - 14:18
Redshrike's picture

Yeah... I was about to comment the same thing.  You really won the name lottery.  Would you mind if I named one or more dwarves after you in the future?

  • Log in or register to post comments
pennomi
joined 14 years 6 months ago
Thursday, February 24, 2011 - 14:37
pennomi's picture

Haha, I never really thought about it, but I guess so! I'll make sure to congratulate my parents on their excellent choice!

Feel free to use my name as you like! The only thing I'd ask is you send me a message notifying me when you do it, so I can brag to all of my friends. ;)

  • Log in or register to post comments