Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 40 41 [42] 43 44 ... 90

Author Topic: BoundWorlds: An action-adventure game with an insanely powerful level editor  (Read 146948 times)

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #615 on: December 15, 2017, 07:30:11 pm »

Okay. I am working on a new enemy, but it seems to not be working. I want it to use a skill whenever it takes damage, but my attempt doesn't seem to work. I used, under _update:

If health > _hp
     Use teleport
End
Set health to _hp

I tried it with a skill that's only effect was to switch control of the player to it (that would be an odd gimmick. Huh), and it didn't work than either, so I don't think it is the skill that is broken. Any ideas?
« Last Edit: December 15, 2017, 10:13:39 pm by Kamani »
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #616 on: December 16, 2017, 11:21:19 am »

It's pretty close.  Just a few issues:

It needs a valid target or the ability will be cancelled.  Generally, for "generic" abilities "target self" should be checked.  Movement and defense abilities don't really work yet.

The "zeroth" frame of a technique has some weird behaviors.  The main reason it exists is for "conditional" abilities that should jump immediately to a different technique without missing a frame.  Jumping might not work on the zeroth frame.  Setting the variable there is fine.

Don't use the "frame drag".  It seems to have issues with saving.

It looks like you need at least one frame for a jump to work.  A zero frame jump should be an instant teleport, but it doesn't work right.

I'm having computer problems so I can't fix it properly (got to use my phone for everything).  But that dungeon is some fine work.  Can't wait to see it done  :D

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #617 on: December 16, 2017, 12:12:58 pm »

Okay. I'll just set the target to @. Since the skill doesn't actually need to be set to mobility with how it works, it should be fine.

Oops, forgot to change it from the zeroth frame.

Frame drag? What is that?

Shoot. Jumps won't look quit right in 1 frame. Ugh.

Thank you.

Edit: Although I still don't know what frame drag is (please explain), it works now.
« Last Edit: December 16, 2017, 01:08:34 pm by Kamani »
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #618 on: December 16, 2017, 12:35:00 pm »

You can move whole frames around inside a technique by clicking and dragging them on the timeline, so you don't have to rewrite them if you want to move them to a different frame.  Only not, because they get deleted sometimes when saving.

I thought a 1 frame jump would be instantaneous.  It's not?  I'll fix it when I can.

Unfortunately it looks like my computer may be bricked.  Stupid involuntary Windows update...

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #619 on: December 16, 2017, 03:18:08 pm »

Okay.

Seems like a 1 frame jump does work. Good

That stinks.

Suddenly, my potionslinger seems to have stopped working. I don't know why.

Edit: Now it works? Edit: Huh. It works again.

Edit: Making another poison style effect, but it seems to be not working. The timer effect on it isn't triggering, and it isn't assigning a target right. Hmm. Wonder what could be wrong now?
« Last Edit: December 16, 2017, 03:49:33 pm by Kamani »
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #620 on: December 16, 2017, 05:46:07 pm »

You're talking about the fire?  It seems to work fine if you take out the bit where it calls the update function inside the update function.  Actually, I'm not sure why that doesn't cause an infinite loop... That and fix the timer, but that's just a logical bug.

You can't set variables of the target in the create function, since the target isn't assigned until after the fire object is created.  You can do this in the initial collide event or the update.

Have you ever coded before?  Funny how you said you didn't think you would be using the scripting when you started...

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #621 on: December 16, 2017, 07:13:18 pm »

Oops. _update_1 was not a real update. It was what had the timer bit before I changed it. It was calling nothing. Oops... typed less than instead of greater than. Again. I need to stop reversing those.

Oh, okay.

I have done almost no coding before. I didn’t know how important it would be.

Thank you.

Edit: Fire does WAY less. Only .05 damage per update. It is pretty easy for damage to stack up to massive at .15, the poison amount, since the pyre skull shoots a lot of flaming attacks quickly.

Edit: Ghostly bullets don't work. This causes problems with both this and the fireball spheres, so this would be nice to be changeable. Specifically, I need my ghostly things to still use there _collide, so I am a little stuck on what to do.

Also, is there any way to ensure that an enemy takes one damage from all attacks?

Edit: How can I use damage multiplier as a variable (like I would use speed)?
Side note on that: Being able to set a damage multiplier for damage the object deals instead of just for what the object takes would be nice.

Edit: I seem to be randomly crashing, usually on death. Frustrating...

Edit: The next enemy seems to be done for now (balancing is tough). It is a mushroom with poison ranged (... is that my new theme or something? The next enemy should be not damage over time...) that hits 4x as hard if you are 150 + distance (but moves slower), but shoots 4 faster spore mushrooms in a cluster at close range. The point is that people using the sling item won't just insta win, and that approaching it takes more skill than just rush at it. Any ideas on how many monsters I should have for a longer dungeon? I want diversity, so it is less tedious. I'll probably want some form of puzzle too. Hmm...
« Last Edit: December 17, 2017, 02:10:45 am by Kamani »
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #622 on: December 17, 2017, 04:21:34 am »

One of my favorite channels for this kind of thing is Snoman Gaming's Good Game Design series.  The earlier videos in particular focus on design principles that can help you think about dungeon layout and how to best challenge the player without making things too difficult too fast.  The video on "Isolation" is particularly helpful.  (In a nutshell - introduce enemies one at a time in a "safe" environment so the player can understand their rules, then mix them together or put them in more challenging locations for variety - you don't actually need too many enemy types to avoid repetitiveness, so long as the circumstances in which you encounter them mixes things up).  Your enemy design is very creative and could work well with this.  Don't forget to limit their roaming and pursuit radius to keep them from wandering into the wrong areas.

Part of the plan is for my own worlds to include areas that teach world design principles such as these.  (Since the Ancients built a lot of the dungeons/temples, the principles they use to design them are essentially game design principles.)

I'd like BoundWorlds to be used as an environment for people who are just getting into coding in general and game design in particular.  Game Maker was my first foray into "real" programming, after all.

Still trying to get my computer back up and running.

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #623 on: December 17, 2017, 10:46:47 am »

Okay, thanks! I’ll look at that when I can.

Makes sense.

Stinks that your computer still isn’t working.
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #624 on: December 17, 2017, 03:28:28 pm »

I've moved to my tablet.  A bit slow, but functional.

So let's see...I've made some improvements to the ghostly and bullet parameters, which might fix the the issue you've been having with ghostly bullets.  They will still likely encounter problems on sidescrolling/top-down boundaries though.  It also makes the "bullet" parameter ideal for collectible items.

For boosting all damage dealt, I expect you want that for use with the sword item?  It is doable, though I'm a bit worried it could get confusing.  Eh, why not.

Making an enemy that takes one damage from all attacks...I don't think I'll specifically make a parameter for that, but I'm sure you could figure out a way to replicate it through functions and a custom HP variable.  I'm going to add some more options for HP and MP displays, as well as the option to display other variables as status bars.

I'd like to make a better system for status effects, likely combining it with item functions, since currently stats, techniques, and items are kind of unpredictable in how they interact instead of "stacking" with each other.  A buff or debuff will basically function as an item you are "forced" to equip temporarily.  I need to work out the details though.

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #625 on: December 17, 2017, 03:56:41 pm »

Good that the tablet works for it.

Oh good. I am not likely to use them around borders, but this should mean that seeker spheres can actually work in sidescrolling, and that my Pyre Skulls can be a bit trickier. Although, with deadly stacking fire, that may be overkill. On that: is there any way to check if a tile in a certain tileset is present at a random tile? I want to check if a tile from my functional solid tileset is there (the floor one), so I could loop until it was floor for a longer teleport.

Oh good. This should also help with buffs and debuffs, and probably other stuff too.

I’ll try that out. I can just set hp to a variable. Nobody should notice that the health bar drops for 1 frame by a tiny amount.

Makes sense.

Thank you.
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #626 on: December 18, 2017, 06:55:19 am »

I made two new inline functions for evaluating a tile.

You can store an object containing a tile's properties based on the layer.  This lets you read whether the tile is considered solid, regardless of any individual tilemap.
Code: [Select]
ok = 0
Loop while ok = 0
    Set tx = rand whatever
    Set ty = rand whatever
    Set tilecheck = _layer._tileprops(tx,ty)
    If tilecheck._solid = 0
        ok = 1
    End
    Wait 1 Frame
End

You can also use this to check any other tile properties, or even examine the sprites occupying that tile.  Remember that it's based on the tile position (_tx,_ty), not the pixel position (_x,_y).

Or, if you need the index of a particular tilemap, you can also select the tilemap by either its index (starting with 0) or ID.  If the tilemap is the first in the list, you can select it using {_layer._tilemaps.0}.  Or by ID, {_layer._tilemaps.basic}.

Code: [Select]
ok = 0
Loop while ok = 0
    Set tx = rand whatever
    Set ty = rand whatever
    Set tilecheck = _layer._tilemaps.0._tile(tx,ty)
    If tilecheck != 2
        ok = 1
    End
    Wait 1 Frame
End

You don't have to wait one frame, but I would advise it to minimize the chances of infinite loops.  (You can also increase a counter with each loop and only start waiting if the counter exceeds a certain number of attempts, like 50.)  I'm trying to make a foolproof (or at least fool-resistant) function that will allow you to escape to either the world builder or the main menu during an infinite loop, but it doesn't quite work right.  (It doesn't crash the site completely, but it does prevent you from actually playing until you reload the page).  However even when it is finished, infinite loops will at best force you to reload the world.

By the way, the Dash function may be better if you're looking for a "teleports behind the enemy" effect.  This will prevent them from passing through solid walls (you can make them invisible during the dash to make it look more like a teleport, and set _unit = 0 to make them untargetable for the duration).  Unless passing through solid walls is what you're going for.

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #627 on: December 18, 2017, 07:32:21 am »

Great! Thanks! This means my teleporting Mage enemies can work.

Passing through walls is what I am going for with the new teleport. For the old one, dash might make more sense. Edit: Right, the old idea for the pyre skull was melee, and they were going to have the teleport so they wouldn't be easy with ranged. Then I ended up doing random fire projectiles. Well... It works too?

Edit: Wait, will they teleport off the map than insta die? I would prefer to prevent that, if it can occur.

Edit: I am still sometimes teleporting into blocks. Probably 30-50% of the time, so I am a little confused. Did I mess something up?
« Last Edit: December 18, 2017, 09:45:06 am by Kamani »
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #628 on: December 18, 2017, 11:24:23 am »

I'm not entirely sure what you're trying to do.  Based on the equations, it looks like it will teleport to a completely arbitrary position, probably outside the room.

_tx and _ty are the tile coordinates, while _x and _y are pixel positions.  When you check a tile, you use tile positions, but jumping uses pixel positions.

To get a pixel position from a tile position, you'll usually want to multiply by 32 and add 16.  This will give you the center pixel of the tile.

Try setting tx to {@._tx - 5 + (_rand * 10)}, and ty equivalently.  This will give you a random tile within 5 tiles of the player; the numbers may be adjusted accordingly.  Then, when you have confirmed that the tile is valid, jump to {(tx * 32) + 16,(ty * 32) + 16}.

I might make a system for doing this kind of thing mote automatically at some point.  It'll be important for doing things like ducking.

Kamani

  • Bay Watcher
  • Hello hello hello!
    • View Profile
Re: BoundWorlds Open Alpha - Explore the Multiverse and build a world!
« Reply #629 on: December 18, 2017, 01:55:34 pm »

Ohhh. Oops. Thanks, I didn't know the tile coordinates thing. I feel kind of silly for missing that. I'm want the Shadow Mage to teleport a longer distance from the player, like 15 tiles, so I'll do that (although teleporting out of the room is an issue... Maybe I can just insert some if loops inside the if loop so that the random values are within the room. That should be doable). Shadow Mage probably isn't for use within this room, but a 8ish distance one might show up in here. I think I'll use the finished version of the 15 tile version of the Shadow Mage in a miniboss room. I think I'll do the dungeon as start, long room, miniboss room, long room, boss, and then add more as needed to make it a little longer. I think that after the miniboss, you'll get a checkpoint, so you don't have to do it perfectly in one run.

I would like to give the player 5 bonus tokens (a pretty large sum of sparks) for not using the checkpoint, but I don't think that's currently possible, so I guess that has to wait? Wait, no, I should be able to make it warp you to a continue room. That should work. Side note: Could there be variables that were set when a player died in a room? This could help the on death gate system. Might be interesting for puzzles or some other events too. Not anything really important, and it might be possible already, I don't know, it would just be useful for me and likely others.

Edit: The miniboss Shadow Mage teleport seems to work usually. It warped into blocks the first two times, but then it worked the next 6ish, so... It seems to work now hopefully? Edit: After I accidentally crashed it (loops) and had to redo some stuff, it seems to work better now. Okay then? My If statement to block it from warping off the map works, although it will have to be changed for each room it is in... Because of that, Shadow Mages will not be going into the Kamani Monsters package, since it is a pain to edit things in packages. Unless there is a way to check room size, at least.
« Last Edit: December 18, 2017, 02:26:18 pm by Kamani »
Logged
Boundworlds: A Multiverse Creation and Exploration Action RPG
Good if you can't focus on a single project long enough to make a full game. Or for making an entire large game, if you feel like it.
Pages: 1 ... 40 41 [42] 43 44 ... 90