Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 20 21 [22] 23 24 ... 90

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

Asgarus

  • Bay Watcher
    • View Profile
Re: BoundWorlds Reborn (Open alpha)
« Reply #315 on: August 28, 2017, 10:19:43 am »

That sounds like a good start, even though I would switch shells and sparks (since it makes more sense to gather something physical like shells while getting something not so physical like sparks over time).

I think demanding sparks (or shells if you follow my idea^^) for some of the world building functions could be a good idea.
Rooms could have a cost, which grows with the size of the room.
That way a world builder has to work to increase their "realm".
That could be interchangeable as well. If I have 3 rather small rooms but want a bigger room, I can just trade the small rooms back and get a single, bigger, one.
There wouldn't be any loss when "selling" rooms.

Force-quitting a world can have different reasons. Maybe the player should be able to return to the last position, in case they had a disconnect for whatever reason or simply run out of time.

What is the corruption?

Talking about shops, there are a few questions to be asked as well.
Do you create global items everybody is limited to? Or can people create local items for their worlds or even global items, too?
If the latter is the case, will they be able to set any price they want, or does the price get calculated automatically, depending on the stats of the item?

If it's only pre-made global items, does a world builder have to buy them from the system in order to sell them in their worlds, or is a shop simply something static and the world builder doesn't even get the money (sparks/shells)?
Logged

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #316 on: August 28, 2017, 12:10:30 pm »

You don't pick up the sparks themselves, the sparks are the "universal energy" contained inside whatever collectible the world builder chooses to use.  Or possibly "sparks of creativity contained within a shell of effort".  Or pieces of souls.  Or all of the above!

Anyway, I thought of possibly making a cost for things, but I would rather make the cost after the world is created.  The reason for this is because, due to the flexibility of the function system, room size is actually a very poor indicator of how "big" a world actually is.  It is perfectly possible to make, for instance, a shoot-em-up with a scrolling background that can be a whole game inside a single small "room".  Likewise, limiting object placement is pointless when it is simple enough to make an object that spawns the other objects after the room is loaded.  The real cost to a world is data, but it's hard to estimate how much data a world takes until it is actually compiled.

Force-quitting will happen at some point (obviously you're not going to be playing the game forever) but if people regularly quit from the same world, it probably is a good indicator that that world has issues.  There might be a means of storing specific details about quitting, such as location (I already made a method for determining if the player quit during an infinite loop, which can happen if a function is poorly programmed) and maybe send feedback to the world's creator if a bunch of people quit in the same general area.  There will probably be some means of saving your game, and most likely once this is in traveling to a new world will auto-save.

Disconnecting isn't as big of an issue as you might think; BoundWorlds is actually very rarely "connected" to the server at all - pretty much only when saving or loading a new world, and some object lists in the world builder like the Gate tags and file system.  I might want to add some checks to discourage hacking but on the whole it's not a huge priority; BoundWorlds is essentially a single-player game and a means of creating and distributing single-player games (or game fragments).  If I ever do go multiplayer (it's come up, but isn't in the plans) that will obviously change.

Corruption is the "Prime Evil" of the BoundWorlds story.  I won't get into too much detail except to say it was inspired by Zalgo.  It tries to eat worlds and is driven back by sparks, either earned by or invested in those worlds.  It is also responsible for deleting garbage worlds.  The exact details will be worked out later.

The main point of items will be saving data across sessions; in most other respects they are essentially glorified variables.  Where it gets complicated is making items globally accessible.  They will be tied to packages (which makes sense; package a creature's "loot" along with the creature) but allowing the "owner" of an item to limit its distribution, while making it accessible to other players, is tricky business.  Since they are, as stated, glorified variables, anyone who has permission to edit an item's value can do whatever they want with it; give the player a million of them or take them all away, nothing is stopping them.  Giving them a cost in sparks could work, limiting the ability of a player to take too many away from a world, and it can also allow there to be "hard-coded" shops that buy items for set prices.  You also run into the issue of the item's owner changing its value while players are already carrying them around.  I have a few ideas but it's all pretty up in the air right now.

There will most likely be several kinds of items depending on their use (key items that can only be edited by the owner and are used to save progress in that world's "story", vendor trash dropped from enemies and basically functions as flavored sparks, and stuff that runs a function when "used" but only in worlds that have imported that item, so you can't use your "kill everything on the screen bomb" unless the world builder allows it.)

Asgarus

  • Bay Watcher
    • View Profile
Re: BoundWorlds Reborn (Open alpha)
« Reply #317 on: August 28, 2017, 02:44:54 pm »

Okay then it makes sense with the shells and sparks ;)

What do you mean with data? The file sizes?

Okay I somehow thought it was partly multiplayer.

The corruption sounds interesting ;) Especially that you have to protect your rooms from it.

Your ideas about items sound good, too. A completely different idea than what I thought they would be.^^
Logged

Derpy Dev

  • Bay Watcher
  • Normal Person Doing Normal Things
    • View Profile
Re: BoundWorlds Reborn (Open alpha)
« Reply #318 on: August 29, 2017, 08:38:13 am »

So... I might be going in over my head here, but I'd be willing to make some tile sets if you're still looking for someone to do so. Just tell me the dimensions for each individual tile and more info on what you want (grass floor, dungeon floor, dungeon wall) and I'll give it a try.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #319 on: August 29, 2017, 02:32:50 pm »

So... I might be going in over my head here, but I'd be willing to make some tile sets if you're still looking for someone to do so. Just tell me the dimensions for each individual tile and more info on what you want (grass floor, dungeon floor, dungeon wall) and I'll give it a try.

That would be nice!  For the "official" tilesets I'm going for something very basic and "blocky", where each tile represents a particular kind of space, thereby minimizing the time a player would need to spend in order to make their world look good.  This is the current baseline tileset:



The basic tile types are floor, solid blocks, "drop" walls used for platforming sections or jumping down from cliffs, ladders, slippery (ice), sticky (sand), water, and grass.  Also pits, but that generally uses a blank space.  (Water and grass are not yet working, so these are placeholders for now.  Grass is intended to be "tall grass" that partially covers the player, and they will partially sink into water.)

Tilesets can be much more elaborate than this of course.  If you create a tileset you can upload it as a package, which other players will be able to import once the package importer is done.

The package system and custom object parameters are nearly done, I'm just putting them through their last bit of testing and bugfixes before they go public.

Oh, by the way I fixed the background slowdown bug, so that's there.

Asgarus

  • Bay Watcher
    • View Profile
Re: BoundWorlds Reborn (Open alpha)
« Reply #320 on: August 30, 2017, 09:30:06 am »

Oh, by the way I fixed the background slowdown bug, so that's there.

What was causing it?
Logged

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #321 on: August 30, 2017, 11:11:13 am »

Oh, by the way I fixed the background slowdown bug, so that's there.

What was causing it?

The difference between the Demo Dungeon and your world was that the Demo Dungeon had tiles and objects in the background layer, and therefore was calling some drawing actions besides drawing the background.

...I have no idea why this should make a difference.  But calling the same drawing actions in the background drawing function fixed it, so there you go.

Asgarus

  • Bay Watcher
    • View Profile
Re: BoundWorlds Reborn (Open alpha)
« Reply #322 on: August 30, 2017, 12:24:42 pm »

Weird indeed. Oô
Well, at least it's fixed now ;)

Spoiler: Just programmer things (click to show/hide)
Logged

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #323 on: September 01, 2017, 10:28:43 am »

Packages are in and seem to be working well (Still no importing them publicly though).  To create a package, add it to the package list and then click the items you want to put in it.  You can save packages to the server using the file system, which allow you to import them into other worlds.

When you save a world after editing an uploaded package, the package will be saved as well.  This will cause it to be changed for all worlds that use this package.  It doesn't matter much now, but later can cause possible issues when players start importing other people's objects - since you could, for example, import tons of a harmless sprite, and then that sprite's creator turns them all into monsters that kill players in one hit, making your world impossible.  I'll need to make some kind of "security sandbox" system to limit the impact of trolls.  (You could "claim" the objects in a package to prevent them from being edited by other players, but this means that you won't get updates either.)

You can also create custom variables.  If you check the "individual" box (the green checkbox), they can be used as parameters when placing them.  These variables can then be used in functions, letting you create more flexible objects for distribution.  (The "select" parameter has been removed, but will be added back as soon as I could figure out why it was being buggy).  This will also allow you to create custom "resource bars" similar to HP and MP, but that's not in yet so ignore it for now.

I've also started working with sounds, using Javascript's Web Audio API.  Right now you can only add background music, but I've already got the basic framework for modifying things like volume, pitch, playback speed, distortion effects, and so on, which will be very fun I think. Unfortunately as this is one of Javascript's relatively newer features it seems to be very different from one browser to the next.

Daren Kazzarch

  • Bay Watcher
    • View Profile
Re: BoundWorlds Reborn (Open alpha)
« Reply #324 on: September 01, 2017, 05:45:00 pm »

I wanted to make an invisible entity and the game helpfully provided me with a white sqare so i wouldnt loose it. "No mater" i thought, "I will just set the size of the image to zero so it isn't rendered." So apearently the editor doesn't know how to handle 0 sized images, the website froze and i had to reload the page.
My other curent issue is that i sometimes can't save the world. Happens reliably when i create a new one and happened once after several minutes of editing, but haven't tested yet if it is reproducable.

Tileset ordering is iffy. The change of order doesn't update the editor and isn't even saved until you do other edits, like creating a new object. Global tilesets don't respect visibility and opacity options and are ordered the furthest even thought they are first in the "Tilesets" menu.
I'm guesing you are changing things around curently, as i'm prety sure the unsaving order issue was had and resolved already.

Now going on to try the package system.
Logged
Feel free to tell me if i mess up your language.

Derpy Dev

  • Bay Watcher
  • Normal Person Doing Normal Things
    • View Profile
Re: BoundWorlds Reborn (Open alpha)
« Reply #325 on: September 01, 2017, 06:44:16 pm »

DID SOMEONE SAY DERPY DEV?

...No? Okay, have a 32x32 generic tile I procrastinated on for a few to many days.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #326 on: September 02, 2017, 12:33:25 pm »

I wanted to make an invisible entity and the game helpfully provided me with a white sqare so i wouldnt loose it. "No mater" i thought, "I will just set the size of the image to zero so it isn't rendered." So apearently the editor doesn't know how to handle 0 sized images, the website froze and i had to reload the page.

Whoops.  Need to make that impossible.  EDIT: Done.
To make an object invisible, uncheck the "visible" checkbox under basic options.

My other curent issue is that i sometimes can't save the world. Happens reliably when i create a new one and happened once after several minutes of editing, but haven't tested yet if it is reproducable.

Okay, going to check that out... EDIT: Fixed.  The same issue was actually preventing the creation of packages in new worlds as well, so that's also fixed.

Tileset ordering is iffy. The change of order doesn't update the editor and isn't even saved until you do other edits, like creating a new object. Global tilesets don't respect visibility and opacity options and are ordered the furthest even thought they are first in the "Tilesets" menu.
I'm guesing you are changing things around curently, as i'm prety sure the unsaving order issue was had and resolved already.

Hm, going to look into this.  Making global tilesets (and packaged tilesets) possible required a revamping of several tileset-related features and it's possible a few things might have been overlooked.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #327 on: September 06, 2017, 12:23:55 pm »

Okay, I remade the tilemap system.  It's a bit different now; you have a list of tilesets which include global/packaged tilesets, and also a list of maps that are actually being used in the room.  You click the (+) button to add a global tileset to a room.  In addition to letting you rearrange the maps, this also avoids the problem of blank tiles in unused tilesets being included in the room.

I also added a "play sound" event for functions, so now you can add more sounds besides just background music.  To stop a sound that's playing, you can assign it to a variable in the "Play Sound" event and call a "Destroy" event that targets the sound.  The volume and pitch controls do not work yet.

There seems to be an issue with uploading large music files, probably due to their size.  I'll see what I can do about that.

If you want to get into more complex scripting, you can click on a sprite while running a test to view all of its active variables.  Variables in red are read-only; all other variables can be edited through functions using a Set Variable (or Set Temporary Variable for techniques) event.  Variables in blue are objects that can be clicked on to view their variables, and also targeted to modify their variables.  (There may be some bugs with this system, as there is a huge amount of stuff to keep track of.  Save before messing around too much with this and let me know if something doesn't seem to work right).

I'm slowly building the sparks system in the background.  One general rule for world building: do not make your world an inescapable trap - you will get no points for players who leave your world using the Q button.  Either allow backtracking from your main public Gate or add one or more exit Gates with associated tags.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #328 on: September 07, 2017, 08:23:16 am »

My three main goals for playing styles in BoundWorlds are top-down Zelda-esque exploration, 2d platforming, and shmups.  Getting them to mesh together in a way that makes it simple for world builders to construct them intuitively - in particular, the seams where 2-d platforming meets birds-eye view - is especially tricky, but I'm working on it.  The idea is for areas covered in "drop" tiles to function as platforming sections.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: BoundWorlds Reborn (Open alpha)
« Reply #329 on: September 13, 2017, 05:18:18 pm »

I've been adding more functionality for sprites, mainly keyed toward making boss monsters.  Objects that spawn other objects can be given limits to how many spawned entities can be active at a time.  There are also death animations built into the system, specifically fading or flickering out.  And you can add actions the entity can do after it dies, but before actually disappearing, like a speech, etc.

More notably, I'm making a new default player sprite (not in yet, but there are transformation bubbles that let you test it out), and unlike the old one is 32x32 pixels instead of 32x48.  There are a couple of reasons for this - it will make worlds easier to build since everything can be based on one tile pieces - for instance, doors can be one tile by one tile instead of needing to be two tiles tall.  Building sidescrolling sections will also be more intuitive if the player can fit through one-tile tall openings.  But don't worry about worlds built for taller sprites!  There's a plot element that explains it - basically, there are several "races" among the worlds.  The "little people" are able to travel between the worlds easier, and the player avatar is one of them, which is why they are short.  "Little people" include sprites based off of, say, the early Pokemon games, or Link's Awakening.  Sprites based on, say, Earthbound or FF6 are more typical world-dwellers, and there may also be "Giants" based on larger sprites.  So many art styles can fit into the same universe.

Transformations are still a thing, of course, so any sprite you make can be playable.
Pages: 1 ... 20 21 [22] 23 24 ... 90