Re: Earwax

@17
Suppose that you decide you want to do grid tiles as 1 foot, which is a reasonable-ish choice for anything inside a building, and ironically somewhat better than meters because 1 foot is about 1 footstep.  If I had to estimate, one floor of my apartment building would be something like 100 by 40 tiles, a very large supermarket is probably 200x200 or so, a city block is easily 500x500.  Arrowing over a grid at those sizes is painful, but more to the point it's also kind of incomprehensible without further description like shades of doom has, "You are in isle 5", "There is a passage to your left", etc.  You also have the problem that yeah, ambiance from 10 to 20 x and 5 to 15 y isn't so bad, but what about when it's 273 x to 279 x?  Good luck reasoning that out.  I call this the spreadsheet problem, because it shows up with any sufficiently large grid, whether that be a game map or a data table or whatever else.

But the second problem is, suppose you want to make a row of offices in an office building.  DO that with yaml and you cut/paste it.  Do that with the grid editor and you're there all day.  Do that with a function and a for loop and it's done, plus also you can edit one of them and all 10 update properly.

But again, I haven't done it.  There's drawbacks.  For example I suspect that you end up with environments that look like a bunch of hallways with dead ends, because that's easy to express when you can just main_hallway.north_exit or whatever else and build off  the previous piece.  But I think that the flip side is that if you ever wanted to build an actual, to-scale city or something like that, things that are bigger than what most audiogames end up with, you need something like this.  I've probably alluded toward my end goal being an MMO; one of the key steps in that, for me, is finding out if I' right about whether or not this can work.

There's a lot of other directions you can go, as well.  For example, if you have terrain types, you could make two of those terrain types sidewalk and street.  Then you could let the user define rules for overlapping, the default being error.  But a perfectly reasonable rule to add here is sidewalk + street = crosswalk, sidewalk plus sidewalk mean "corner of main street and 1st avenue" or whatever, and then you can just throw streets down like that and have a well-described neighborhood or what have you.  There's also much more hypothetical things like bringing in constraint solvers (see cassowary for an example) which would, arguably, let you have auto-fitting hallways and things like that too that just always connect two points.

I'm not sure I'd go trying to attach scripts in the map files themselves, though that's not a bad idea, just an implementation problem.  Writing something that compiles code like this to a 2d tile grid is actually really easy, but it's also potentially slow enough that you're going to want to load the map without having to recompile it every time, and if the only way to get the scripts attached to the objects is to build the map, that's kind of a nonstarter.  But you could probably solve this with some sort of stable identifiers an just not rebuilding the tile grid if you see one cached, or something.  I dunno.  My plan for the long term was to use Lua and have separate files, being as the goal is an MMO and you need a trusted language to stop everyone hacking the server when building areas, and also because one file per scripted object that's just object-id.lua is also not really super bad.

There's a lot of ergonomics and usability stuff that needs designing, like how do you specify positions of objects relative to each other, and how do you easily encapsulate things into functions, etc, that I have ideas on but who knows how good those ideas are.

One of the key difference between audiogame maps, both what people have done and what people would like to do, and sighted game maps, is this.  Sighted game maps don't have metadata layers.  This seems kinda like I'm changing the topic, but I'm not: we also need good ways to handle that aspect.  Sighted tile-based game is you drop some road tiles, but audiogame is also you need to be able to say this is 4th street or whatever.  You're also building a GPS system in, basically, with all the GPS stuff.  I don't think anyone's taken that as far as we could.  And on the whole, proposing this kind of thing, I'm really surprised that no one's just said "let's use a programming language and make it nice to use", it's always "My tile editor but better".  I wonder if there's an actual reason for that, I dunno.

-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
  • ... AudioGames . net Forum — Developers room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Simter via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Simter via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Simter via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : chrisnorman7 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : chrisnorman7 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : chrisnorman7 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : ironcross32 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : pauliyobo via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : chrisnorman7 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : chrisnorman7 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : chrisnorman7 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : ironcross32 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : chrisnorman7 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Dragonlee via Audiogames-reflector

Reply via email to