PDA

View Full Version : Visualizing Elanthia



Celephais
05-08-2007, 12:08 AM
I dislike posting my vaporware progress, because I have no idea when I'll be able to make a public release (I've had very little time to put into my projects lately), but I'm kind of stumped about how to better represent Elanthia.

My original idea was to represent every room as a bland sphere, laid out like the Tsoran maps, except three dimensional. The first issue I ran into was obscuring of the current location by geometry above... the catacomb sewers are perfect for illustrating that point, the spokes are underneath the rest of the sewers, and it looks pretty crowded. I addressed this by making portions "below" the current location greyed out, and above becomes transparent (if I decide to go this route I'll clean up the transparency, and make it only effect portions that "block"). This ends up looking like so (moves much smoother obviously)

http://www.deadlylight.com/images/catacombs.gif
You can see as I step through the grate, the rest of the catacombs become transparent (there are some buffer issues I haven't dealt with, but I'm just illustrating my point right now, the greying and the transparency... and ignore the "Go Opening", thats debugging stuff)

My other idea would be to create a more "overland" type of map, where I take a 2d image, and lay it out in the 3d space, ignoring a lot of the up and down movements and treat them as sort of... shelves. Almost a paper mario feel, this way I can keep one shelf from obscuring the other, but would likely result in blockier movements (jumping from shelf to shelf).

Neither system has a real performance advantage over the other, I'm purely wondering which has a better representive feel for the game...

TheEschaton
05-08-2007, 12:23 AM
I think the 'below' layers should be transparent-ish as well. The grey lower layer still makes it look crowded if you're at the top. I would also advise against only making "part" of the upper level transparent when it's blocking. You don't need to be able to see the upper level at all when you're on the lower level, just the exit from the Nexus up. It'll just clutter things up.

Celephais
05-08-2007, 12:31 AM
My concern with blanket layers based on "up/down" would be locations where an up/down is part of the natural progression of the hunting area, where a normal hunting loop would include an up/down movement, so I wouldn't want to entirely obscure the rest of the area because it has a different Y level.

I can see what you're saying though, it might just be a lot clearer if heights are clearly defined.

AestheticDeath
05-08-2007, 12:35 AM
Seems pretty neat, but thats freaking annoying to look at, with the whole map moving, instead of the sphere your moving with.

Hard to keep track for me, with the map itself moving.

AestheticDeath
05-08-2007, 12:37 AM
And if you get into it far enough, you might have some sort of red line marking the rooms you've come from. Not sure if that even makes sense for what your trying to do..

But I found myself getting lost as the upper portion you came from, moved and dissapeared.

Could use different colors for different layers..

TheEschaton
05-08-2007, 12:43 AM
Transparent doesn't necessarily mean invisible though. People'll still be able to "see" the level above them.

Celephais
05-08-2007, 12:47 AM
Seems pretty neat, but thats freaking annoying to look at, with the whole map moving, instead of the sphere your moving with.

Hard to keep track for me, with the map itself moving.

Seeing it fluid it's not nearly as disorienting... it does look bad in animated gif form, it doesn't jerk around, it moves smoothly from room to room based on how fast your character is moving. I contemplated a fixed camera per "zone", but I think I'll make that optional, the jerk from zone to zone (even if I smooth that out) is too disorienting.

I am allowing the camera to be moved independently, and this is where my concern for over transparenting things that aren't in the way comes from... because I can select a room and then generate a path to that room from the current location (to create an ad-hoc movement script), so obviously I still want to be able to see places where you aren't located (I guess I could mess with the transparency as you move the camera, but that might get a bit dicey)

Back
05-08-2007, 01:01 AM
Agree that the map moving is disorienting rather than just the color of the room moving around the map.

If the map must move at some point because its not all on the screen at once could you perhaps pan to it when the color gets to the edge?

Celephais
05-11-2007, 10:02 AM
When it comes to room descriptions and day/night descriptions, what kind of time cutoff is there? Do I have to worry about more than day/night... I was really surprised to find that the majority of the town has tiny description changes from late last night till now. I'm not worried about event caused description changes now, but what am I looking at for standard changes? (Day/Night/afternoon/midday/teatime?)

And a little update on progress:
I went with TheE's suggestion of making all non-current layers transparent (further you are the more transparent), and I added a trail to show off where you've been as AD suggested, despite it not really being disorienting before when fluid (non-gif animated) it adds a really cool effect (I'll see if I can't get a way to get an animated gif to show it properly).

I also thought you guys might like to see the landing in 3d, I thought it was really neat looking... this is it moving from TSE to the Cul-De-Sac, blue is where it is, you can see the fading trail, and purple is where it still has to go (and you can see the catacombs beneath it, haven't scaled them properly though so the cul-de-sac is the only part that lines up right the "Jagged opening" connector needs to fade properly too...)

http://www.deadlylight.com/images/landing.jpg

I'm just about done with the actual map engine, then it's a matter of making a better "map maker" that's less manual saving room locations and some cleanup and I should be able to release this (maybe a month as a quick guess if things go well)

Martaigne
05-11-2007, 11:03 AM
This is extremely cool man. Do you think this is a project you'll actually finish? :D

Celephais
05-11-2007, 11:24 AM
This is extremely cool man. Do you think this is a project you'll actually finish? :D

I've been making pretty solid progress on this lately, and I only have high hopes for this weekend (girlfriend is out of town and my only plans are tenatively going to Boston on sunday). I won't finish it this weekend, but I could see it in an alpha or beta state by then, I just wanted to be really conservative in my estimate (incase my buddys want to get tore up this weekend... :medieval: )

My biggest problem is I keep getting ahead of myself... I already have plans to integrate a bounty system window as well (highlight rooms w/ the proper climate for herbs, highlight rooms you haven't searched for heirlooms, make the pathfinding script wait for your traveller/child, and obviously a timer for time till you can get a new one), but I've been trying to make a list of my ideas/tasks and clearly seperate them into release/post-release and only work on the release items.

I am battling how I want to handle map upgrades too, since I'm incapable of going everywhere I'm going to need a way for people to save off a "map pack", even worse I have no idea how to consolidate two packs if they conflict in 3d space. My "mapper" is pretty user unfriendly right now too and I'm not sure if I want to polish it (since once things are mapped... it shouldn't need to be used anymore) since it works.

Artha
05-11-2007, 11:26 AM
How does it handle a place like snow spectres where the directions are kind of funny?

Celephais
05-11-2007, 11:42 AM
How does it handle a place like snow spectres where the directions are kind of funny?

Currently the passages/connectors between rooms are calculated by simply taking the location of both rooms and drawing a strait line between them, I've only mapped one location like that so far (I'm not familiar with the snow spectre area) but it's the cave gnome location.

http://i169.photobucket.com/albums/u222/GuinnessKMF/gnomes.gif

The orientation of the rooms makes it impossible to have perfect cardinal directions with these rooms. So what I did was I maped 1,2, and 4 on the same level in the L shape, and mapped 3 above 2. The passage for sw from room 1 is actually drawn se, and the up from 3 is drawn as downeasterly. For now I'm happy with that, the rooms are messed up but the code still knows it's going "southwest" not "southeast". In the future I'll add passages that start going southwest, change to a different color, take a right past four, then keep going southwest. And rooms that have "random" destinations like the COL mist in the landing (that still there?) will be floating rooms with spokes off into nothing.

As a kind of side not to that, I had planned to add a "Cardinal remapper" to the code, where all non-cardinal passages will be given a cardinal direction and if you attempt to go that direction it remaps the command. So if you're in TSC and you type "up" it converts it to "climb oak tree", and if you type "north" it sends "go old well". I guess I could take that a step further and if you're in room 1 and type "se" it converts it to "sw", so in a way I could "fix" simu's stupid mapping... but there is no "downeast" command (heh, I could make it a command!)

Gan
05-11-2007, 01:26 PM
Way cool stuff bub.

Having this in an inset window (Zelda I like) while moving around in game would be awesome.

Celephais
05-11-2007, 01:35 PM
Way cool stuff bub.

Having this in an inset window (Zelda I like) while moving around in game would be awesome.

That's what it is. The program is sorta like psinet in that it fires up as part of the FE, interprets what is sent to/from and creates a window as an overlay (it's an "always ontop" window when the FE has focus, and is a regular window when the FE does not, so it sorta behaves like it's a child window of the FE). So as you move in game it tracks you, and in any given room I can type "label <labelName>" and then from any room I type "goto <labelName>" and it'll script me to that room (I'm going to add "picking" where you can right click a room to go there).

(FE being the Stormfront FE currently, no reason I can't make it Wizard compatible though)

Gan
05-11-2007, 01:39 PM
Good, because I dont use SF. :)

Stanley Burrell
05-11-2007, 01:50 PM
When you go into the East or West Tower/TSSE General Store, or larger locations directly adjacent to a bigass town map, do you think you could sort of freeze frame (fine tuning-ly) the last map and then have it unzoomed and put in a "Last Map" window in the upper left or right hand corner of your IF? Maybe a "return" function for the last mini-mapped location for that particular Boolean variable(s) when entering a shop/CHE/cave (if you had entered the East Tower, the wehnmap would resize to a little window. And if you were on the East Tower roof, maybe you could click an fancy control button on the mini-window to return you back outside [back down two flights of stairs and Out to get back to the North Gate.])

I mean, I'd only include this for very large scale maps, such as towns, where there are so many offshoots that you'd want to avoid clutter. And it'd be a really cool feature for the new and confused.

Looking pretty darn nice :)

Latrinsorm
05-11-2007, 02:06 PM
in any given room I can type "label <labelName>" and then from any room I type "goto <labelName>" and it'll script me to that room (I'm going to add "picking" where you can right click a room to go there).
I believe I just wet myself.

Celephais
05-11-2007, 02:58 PM
<Stanley's good idea>

I like that... I was trying to figure out how I wanted to do interior rooms, I currently have a scale mechanic (you can see the well rooms are smaller), where when you enter a smaller scaled room it zooms in (I even considered making interior rooms so small that they would be "inside" their parent rooms... so by "go shop"ing it zooms inside that orb), and I figured I could just make things like town buildings fit inside bigger maps, but I didn't like the idea of "losing" access to the larger map, that's a pretty good way to handle that.

I might not get that in before a release but that doesn't sound very hard to do at all (if scale is shrinking greater than a certain amount, snapshot the current scene, put it in the corner, make a temp label for the previous room to use for "return", and when the scale goes back up, clear it)

TheEschaton
05-11-2007, 04:13 PM
Does this automap the whole game?

Cause if so, I want to talk to you about converting it into a zMap.

-TheE-

Celephais
05-11-2007, 04:58 PM
Does this automap the whole game?

Cause if so, I want to talk to you about converting it into a zMap.

-TheE-

Since ZMud uses the same data stream that the WizFE uses there is no reason it won't work with ZMud as it is (I might have to fanagle a ZMud launcher, and I don't know how'll act w/ ZMuds tabs but...).

Do you mean does it auto-walk around, or do you mean does it auto-figure out the map as you walk around? It does the latter to a certain extent (I walk it around and then adjust room positions so things fit nicely, and I have to tell it to "merge" rooms when it sees a day/night description and thinks it's a different room).

As for writing a bot that walks everywhere, that wouldn't be very hard to do with what I already have (if you don't have a passage for an obvious exit, go to that room and walk that way, with stormfront I could probably even have it figure out most of the non-obvious exits that are go/climb/swim based), it's just that it would generate really ugly maps and it would probably mess up with the whole Night/Day description changes.

Speaking of which, no one answered my question :( is it just Night/Day I have to worry about?

Stanley Burrell
05-11-2007, 05:01 PM
(if scale is shrinking greater than a certain amount, snapshot the current scene, put it in the corner, make a temp label for the previous room to use for "return", and when the scale goes back up, clear it)

Yep. Justa little Fable-map-style pan in and out for the snapshot, exactly. And if you got that in by your alpha phase, I wanna know how to stay not dead without sleeping for a couple months or years, too.

Jolena
05-11-2007, 05:21 PM
Speaking of which, no one answered my question :( is it just Night/Day I have to worry about?

Yes! :)

Martaigne
05-11-2007, 05:22 PM
I'll be more than happy to test it with zMUD/cMUD for you too, man.

Drew
05-12-2007, 03:34 AM
The twisting tunnels ( http://tsoran.com/maplib/icemule/IMT-underground.gif ) upper right corner, cave gnomes, would look really odd on here I imagine.

Celephais
05-12-2007, 05:35 AM
lol, apparently simu is consisent about cave gnome area's not making sense in GS... yes, I would probably end up just mapping that area in a manner that wouldn't make sense. I think that would be a candidate for spokes that appear to lead into nothing... fuck cave gnomes.

AestheticDeath
05-12-2007, 10:16 AM
There is a FUBAR'd area in Zul Logoth as well. I get lost everytime I go there. One of the higher level hunting grounds in that town.

Celephais
11-30-2007, 09:18 PM
What with Jamus posting his it jarred me into deciding to open up a beta (that and my GF is busy this weekend so she'll leave me alone for some free time)... send me a PM if you're interested, I'm probably going to limit this (include your location/level) and for now I'm only taking beta for SF users (SF gives more information, so if I let the WizFE map it wouldn't be as accurate, but since the WizFE is a subset of SF it can still view SF made maps).

This is a hastily pasted together screenshot of me starting in the node of fire guardians and then typing "goto wlboutique", which I had previously marked by typing "label wlboutique" ... why on earth you would need quick access to the boutique is beyond me, but you can do it. It moves extremely fluidly, but I can't create a gif to show that.
http://i169.photobucket.com/albums/u222/GuinnessKMF/FireToBoutique.gif

Mapping is pretty simple too, simply standing in a room and typing "map move e" would move you east, and then add that room to the map.

You can also type "map room" to see:
Map Room Status - RoomKey: 4180
Location: 2, 5, -3
Scale: 0.25

Then you can scale the room "map room set scale 0.5" and you can adjust the position of the room "map room set location 2,5,-2.7" and you end up with:
http://i169.photobucket.com/albums/u222/GuinnessKMF/boutique.jpg
(Made the room bigger and moved it up)

Other included windows:
http://i169.photobucket.com/albums/u222/GuinnessKMF/Latest.jpg

I've mapped out 4118 rooms, mostly in the landing and Ta'Illistim areas (but I connected to Icemule, IFW, Zul, Ta'Val, Solhaven); it will path from Ta'Ill all the way to Solhaven... (has an issue with the ferryman, which is next on my plate, no trouble w/ the minecarts though... and I guess I should have it check the rope)

Donquix
11-30-2007, 09:28 PM
cool project, and i got a chuckle out of the wow icons.

what, if anything, did you assign the shadowform icon to? i'd have to play a class that gets that, just to be my glorious facemelting self.

Celephais
11-30-2007, 09:41 PM
cool project, and i got a chuckle out of the wow icons.

what, if anything, did you assign the shadowform icon to? i'd have to play a class that gets that, just to be my glorious facemelting self.
Not sure what each icon is, I just needed cool icons so I ripped them from WoW... top to bottom right to left: 401, 406, 414, 503, 507, 508, 509, (top middle) 513, 905, 911, 913, 425, 430, 520

Donquix
11-30-2007, 11:47 PM
http://wow.allakhazam.com/images/icons/Spell_Shadow_Shadowform.png

Celephais
12-01-2007, 04:21 AM
http://wow.allakhazam.com/images/icons/Spell_Shadow_Shadowform.png
Ah... well actually it's all dynamic, so all you would have to do is replace the "215.png" file with that image and all the sudden that's bravery. As it stands I only put cool images in for a handful of them (almost all the wizard spells, and a few others). Otherwise you've got:
http://i169.photobucket.com/albums/u222/GuinnessKMF/215.png or http://i169.photobucket.com/albums/u222/GuinnessKMF/9912.png

For example 712:http://i169.photobucket.com/albums/u222/GuinnessKMF/712.png

That screenshot is a little older too, I resized the icons so it fits 4 across and 9 or so down (also dynamic but I haven't yet mad it resize as you get more... safer just making room for 36 icons.. overflowing doesn't crash it, you just can't see them... and I had easily passed the 27 slots there)

phantasm
03-02-2008, 01:38 AM
I think this map is fails miserably in usability. I think you have a great idea here but should have rendered the map in 2d instead of 3d. Maybe it could use a fog of war type effect, showing a detailed view of only a small area around your position, like just 3 or 4 moves out from your current room. The rest of the map would reduce down to lines showing general direction of movement and have markers showing important stuff in that direction.

Drew
03-02-2008, 03:02 AM
I have an idea for this that really could make it useful, but it would take user input. Is there anyway you could estimate distance and degree of inclination for each room and have a user input that data.


From the room description the user enters the distance they believe it is from the next room and the line is stretched to indicate that and then the degree of inclination they think it is from the next room (for up/downs and other climbs or for cardinal directions that indicate a slope in the room description).

A prime example of this is the seeker area in Pinefar. The whole area wraps up around Mt. Aenugugoaoaugugaugjmeta and you could make a very good visual representation of that. Now obviously this would take user input but it seems like a I know a number of people who would map their favorite areas or just do it for fun.

Celephais
03-02-2008, 03:02 PM
Currenty you can reposition any room on the X,Y,Z axis, and you can change the scale of the room... as it is right now it'll automap as best as it can, but often for irregular rooms I tweak them to look better (you can tweak rooms to actually be, for example, up when you actually moved north).

The most tweaking takes place when you move through doors, take for example the GoS hall in Zul, the "Taskmaster" room is actually through a door, there are no cardinal directional clues... I just took the location of the room I was coming from, and told the new room to be +1 on the X axis.

http://i169.photobucket.com/albums/u222/GuinnessKMF/Sunfist.jpg

As for usability, ask AestheticDeath or Tuio about my speed when we were doing some GoS tasks, the area we were hunting in I had never been in before, I just had it auto-mapped and instantly had a visual representation to run around in.

Gnomad
03-04-2008, 06:48 AM
The most tweaking takes place when you move through doors, take for example the GoS hall in Zul, the "Taskmaster" room is actually through a door, there are no cardinal directional clues... I just took the location of the room I was coming from, and told the new room to be +1 on the X axis.

http://i169.photobucket.com/albums/u222/GuinnessKMF/Sunfist.jpg

I'd stick him in the hexagon, but that's just me. :)

This probably isn't even worth the bytes to post, but what are the odds of ever seeing this on a Mac?

Celephais
03-04-2008, 10:59 AM
I'd stick him in the hexagon, but that's just me. :)

This probably isn't even worth the bytes to post, but what are the odds of ever seeing this on a Mac?
Well I'm using the .NET framework and DirectX ...

I think about your only hope there would be a silverlight version, if version 2 of silverlight supports sockets. (Silverlight 2.0 should be coming out sometime this month... microsoft has been very fuzzy with the details). If silverlight supports sockets* I may stop all development on my current platform and move there, web accessible GS in a high quality FE would be badass.

*If it doesn't support sockets the workaround is either AJAX or ActiveX... which is like saying "Slow or major setup hassle"

BigWorm
03-04-2008, 01:04 PM
Well I'm using the .NET framework and DirectX ...

I think about your only hope there would be a silverlight version, if version 2 of silverlight supports sockets. (Silverlight 2.0 should be coming out sometime this month... microsoft has been very fuzzy with the details). If silverlight supports sockets* I may stop all development on my current platform and move there, web accessible GS in a high quality FE would be badass.

*If it doesn't support sockets the workaround is either AJAX or ActiveX... which is like saying "Slow or major setup hassle"

Is the .NET framework really that nice to develop on? My experience with Windows development was with the Win32 API. Even with Visual Studio, which is a nice development environment (though I missed vim for text editing), it was not such a great API to code for. It just sucks that .NET is Windows-only because I'd like to try out your and Jamus' programs, but Mono just isn't a realistic option for a Linux user in its current incarnation. Silverlight looks to be more of the same, but for a web platform (wtf?). If there's one thing Microsoft does right, it's vendor lock-in, because I know neither you or Jamus (or almost any sane developer) would be willing to do a total rewrite to port it to a more open framework.

I know I represent like .1% of the GS community, so I'm not asking you to rewrite your program to support like 5 people. But you also don't have support for any of the Mac users. I'm just saying that maybe next time you decide what platform you use for development should think twice about using something more portable. I know that the programs are of use to yourselves primarily, but if there's any subset of the GS population than would be able to assist you in development of a useful app, its this subset.

Celephais
03-04-2008, 03:37 PM
Silverlight is a subset of the .NET framework that runs on Windows, Mac and some versions of Linux.

The framework itself is extremely attractive to develop on from a concept to completion perspective. The underpinnings just work, and if I'm not really looking to grind out every minutia then I can stay completely within the framework, if I need to really tweak things, I can pretty easily integrate non-framework code... my window management is entirely "out of framework", in order to get my windows to act like children of SF/Wiz (instead of either being pinned ontop of it, or being behind them), I have to use a bit of trickery outside the normal framework.

Really though I think that silverlight will solve any major issues, I would have to switch my DirectX code over, so it might not be "as 3d", but I can simulate that in XAML.

*Silverlilght 2.0 went beta today, I don't know if I'll get to check it out tonight, but I'll know soon if a silverlight GS FE is a reasonable ambition.

**Silverlight 2.0 officially supports sockets. I'm giddy.

*** Silverlight socket support requires that the sever have a policy file... Simu would have to explicitly allow Silverlight clients... read: never will happen. GS Silverlight clients are dead in the water.

Audriana
08-20-2008, 04:24 PM
Any additional info on this? Seems like a really cool project...

Ignot
08-20-2008, 08:49 PM
but nobody plays Gemstone

Audriana
08-20-2008, 08:51 PM
Just trying to read 2000 posts?

Celephais
08-20-2008, 09:53 PM
I have a version of it that works pretty well, anywhere I go in game is mapped for me, but there wasn't a whole lot of community interest so I didn't see a need to go about hyping it (people seem happy w/ atlas and lich).

That and fundamentally I don't like the way these programs are setup, in my program, Lich and Psinet you act as the middleman between the WizardFE or Stormfront.

I haven't scrapped my program, but I haven't bothered improving it further, I started a new program that I hope to use as the actual FE, developed from the ground up with multi-accounting, powerful scripting (CLR and DLR language, C#, VB, Ruby, Python), and graphical readouts in mind.
...I don't have a whole lot of time to dedicate lately so there's no point in drumming up vaporware hype.