-
Me (7:34:54 PM): yo sco!
Vizzini (7:35:06 PM): wazza!
Vizzini (7:35:14 PM): man i'm nearly finished!
Me (7:35:19 PM): *nods*
Me (7:35:29 PM): I… added a field for terrain passability
Vizzini (7:35:42 PM): ya cool
Me (7:35:45 PM): instead of trying to keep a list of terrains that are impassable
Vizzini (7:35:53 PM): nods
Me (7:35:55 PM): I added a field that defines passability
Me (7:36:03 PM): so you won't care which tile is which
Vizzini (7:36:23 PM): nods
Me (7:36:25 PM): it's a line above the Terrain 0
Vizzini (7:36:26 PM): that'll work for now
Vizzini (7:36:32 PM): till we come up with something better
Me (7:36:34 PM): a number
Me (7:37:03 PM): basically you have the 0 for the Terrain section before the standard room section
Me (7:37:22 PM): before that on a line by itself is a number.... 0 = impassable, 1 = passable
Vizzini (7:38:11 PM): yes - that's how my terrain format works
Vizzini (7:38:20 PM): uhm
Vizzini (7:38:27 PM): can't remember which way around it was tho
Vizzini (7:38:37 PM): 1 was impassable i think =p
Me (7:40:58 PM): ?
Me (7:41:07 PM): oh, that's what the 0 means?
Me (7:41:26 PM): that's the impass field?
Me (7:41:38 PM): (you never did tell me what the fields were for Terrain! :P)
Vizzini (7:42:02 PM): oh yeah sorry - i gave you the vlink thing
Me (7:42:09 PM): *nods*
Vizzini (7:43:23 PM): if you have a look at the wilds.h file i uploaded to the coders forum, it's in there
Vizzini (7:43:35 PM): it's the wilds_terrain structure
Me (7:43:35 PM): ok
Vizzini (7:43:43 PM): mapchar
Vizzini (7:43:46 PM): showchar
Vizzini (7:43:48 PM): showname
Vizzini (7:43:52 PM): briefdesc
Vizzini (7:43:54 PM): nonroom
Vizzini (7:44:01 PM): room template
Vizzini (7:44:11 PM): nonroom is the 0 you were talking about
Vizzini (7:44:14 PM): it's a boolean
Me (7:44:26 PM): ahhh
Me (7:44:31 PM): ok
Vizzini (7:44:32 PM): 0 = normal room, 1 = nonroom, as in, never load it cos it's impassable
Me (7:44:35 PM): ok
Me (7:45:10 PM): there
Vizzini (7:45:14 PM): crap - it's 1:45am... do i go out for smokes and continue, or go to bed?
Me (7:45:14 PM): figst it!
Me (7:45:26 PM): both
Me (7:45:36 PM): you have a laptop
Vizzini (7:45:42 PM): lol
Vizzini (7:45:45 PM): twisted logic
Me (7:46:03 PM): though.. I hate laptop mice
Me (7:46:10 PM): err.... trackballs
Vizzini (7:46:18 PM): it's a touchpad on this one
Me (7:46:23 PM): *nods*
Vizzini (7:46:34 PM): sony vaio
Me (7:46:39 PM): heh
Me (7:47:18 PM): yeah, getting the PNG writer to work was fun at first..... until I had the brilliant idea of swiping GIMP's source and looking at its PNG plugin
Vizzini (7:47:36 PM): ah yes - nice one
Me (7:47:38 PM): to see wtf it did for the api calls
Vizzini (7:47:44 PM): why re-invent the wheel
Me (7:47:59 PM): to make it out of a different material!
Vizzini (7:48:05 PM): the sign of a good coder. i think i'm going to enjoy working with you =)
Me (7:48:12 PM): *cackles*
Me (7:48:34 PM): ;.; damn ... I just realized.... after next sunday.. I'll have two years til I'm 30
Me (7:48:51 PM): *feels old suddenly*
Vizzini (7:49:03 PM): fucksake - i'm 34 next year
Vizzini (7:49:07 PM): thanks for reminding me
Me (7:49:08 PM): heh
Vizzini (7:49:34 PM): man i gotta get some serious amounts of sex in in the next 6 or so years
Vizzini (7:49:53 PM): after that it's too gross to think about
Me (7:49:53 PM): my oldest cousin is 46!
Me (7:50:18 PM): he was 18 when I was born *is the youngest*
Me (7:50:43 PM): well, around 18
Me (7:50:48 PM): I forget!
Me (7:50:52 PM): he may be 45
Me (7:50:55 PM): who knows!
Vizzini (7:51:08 PM): right fuck it. i'm gonna nip down to the garage for smokes. you bad influence you.
Me (7:51:15 PM): actually
Vizzini (7:51:17 PM): i'll be like 5 mins - you gonna be here?
Me (7:51:20 PM): k
Vizzini (7:51:35 PM): actually what - you gonna go mary poppins on my ass now?
Me (7:51:54 PM): depends on what woman you're with.... there are some damn fine sexy 40 somethings out there!
Vizzini (7:52:03 PM): oh right
Vizzini (7:52:04 PM): lol
Vizzini (7:52:15 PM): yeah but how much of it is fake man
Vizzini (7:52:20 PM): think about it
Vizzini (7:52:22 PM): brb
Me (7:52:31 PM): does it matter?!
Me (8:03:55 PM): :D you're gonna kill me for this
Me (8:03:57 PM): bbl!
Vizzini (8:06:56 PM): ok
Me (8:24:00 PM): back
Vizzini (8:24:15 PM): ello
Vizzini (8:24:37 PM): just sorting char_from_room, then got do_look to rewrite
Me (8:24:42 PM): *nods*
Vizzini (8:25:01 PM): i'm a bit fucked off actually
Vizzini (8:25:17 PM): i asked for another testport to be opened up on the sent box, so i could run a second testport
Vizzini (8:25:31 PM): and the admins started giving me static about it
Vizzini (8:26:37 PM): i thought they were cool. wtf?
Me (8:31:44 PM): O.o
Me (8:32:15 PM): which admins?
Vizzini (8:32:46 PM): Jamie = Soupboy?
Vizzini (8:33:24 PM): Dunno - started talkin bout ways to crash the server using code... bleh
Vizzini (8:33:35 PM): maybe i'm being oversensitive, but it was a bit off
Vizzini (8:36:43 PM): you can't accept files... oh ok
Me (8:42:44 PM): I'm behind a proxy
Vizzini (8:42:57 PM): s'ok - no big deal
Me (8:43:05 PM): yeah .... that's what gmail is for!
Vizzini (8:43:29 PM): s'alright - i'm just being a big girl about it
Me (8:43:40 PM): ... girl?
Me (8:44:05 PM): *peers* you have anything you wish to tell me? *peers*
Vizzini (8:44:15 PM): no - it's just an expression
Me (8:44:18 PM): heh
Vizzini (8:44:44 PM): man that would shock you all if i turned out to be a girl after all these years lol
Me (8:45:30 PM): yeah, an interesting twist of fate
Me (8:46:13 PM): all these years I thought you were that drab geeky guy and you turned out to a hot, sexy buxom blonde
Vizzini (8:46:43 PM): rofl
Vizzini (8:46:46 PM): if only
Vizzini (8:46:57 PM): nope - just a drab geeky guy
Me (8:53:16 PM): hrm... I wonder...
Me (8:53:45 PM): would it be possible to have adaptive tile names?
Me (8:53:59 PM): based upon what is around it
Vizzini (8:54:01 PM): what do you mean
Me (8:54:04 PM): like
Me (8:54:11 PM): a sand tile
Vizzini (8:54:16 PM): char_from_room done
Vizzini (8:54:22 PM): ok
Me (8:56:10 PM): completely surrounded by water and itself.... it could be called "A Sandbar"... but if it's next to say... grass it would be a beach
Vizzini (8:56:31 PM): yeah i could code that
Me (8:56:39 PM): though it would be tricky
Vizzini (8:56:44 PM): naw
Vizzini (8:56:58 PM): we just do a check as to what the adjacent terrain is
Me (8:57:11 PM): well, say you have a five pixel wide span of beach?
Me (8:57:45 PM): it would need to be somewhat intelligent to do that
Vizzini (8:58:08 PM): well we'd consider each pixel as the centre of a 3x3 square
Me (8:58:21 PM): *nods*
Vizzini (8:58:35 PM): if the pixel is surrounded on at least 6 of the adjacent squares by water, it's a sand bar
Vizzini (8:58:47 PM): or something like that
Me (8:58:50 PM): something like this though could be used to alleviate the need for making special terrain tiles
Me (8:59:03 PM): that are not named
Vizzini (8:59:07 PM): well yeah that's an interesting idea
Me (8:59:44 PM): and if the sand is surrounded completely by enough non-sand land tiles... it would be a sand dune
Vizzini (8:59:51 PM): perhaps it would be easier if there was the height above sealevel thing
Me (9:00:04 PM): well, general elevation
Vizzini (9:00:12 PM): as in, if the squares around are not only water, but -1 sea level
Me (9:00:36 PM): I don't want absolute above sealevel... I want an absolute elevation.... from the ocean floor
Vizzini (9:01:10 PM): yeah but if you do that, where do you measure from?
Vizzini (9:01:25 PM): the ocean floor will be at different heights in different places
Me (9:01:30 PM): one unit below the lowest level
Me (9:01:42 PM): or THE lowest level
Me (9:02:01 PM): or have a normal sealevel "0"
Vizzini (9:02:04 PM): the water will always be at the same level, and if we measure from sea level, we can modify sea level to cause flooding
Me (9:02:06 PM): and have negative elevation
Vizzini (9:02:12 PM): yes
Vizzini (9:02:17 PM): sealevel is 0
Vizzini (9:02:21 PM): normally
Me (9:02:35 PM): except when you take into account tides :D
Vizzini (9:02:53 PM): -100 is below sea level, but depending on where it is, it doesn't mean its underwater
Vizzini (9:03:04 PM): but it does mean that if you connect it to the sea, it'll flood
Vizzini (9:03:15 PM): dams, etc
Me (9:03:19 PM): *nods*
Vizzini (9:03:27 PM): so i can flood an entire area by blowing a dam
Me (9:03:34 PM): 8)
Vizzini (9:03:41 PM): or tsunami's etc
Me (9:03:53 PM): exactly
Vizzini (9:04:03 PM): make areas accessable at low tide, inaccessable at high tide etc
Me (9:04:41 PM): yeah, and with the tidal function I provided (albeit, likely highly simplified) ... that would be computable :D
Vizzini (9:06:01 PM): have i seen that?
Me (9:06:10 PM): it's in the coding forum :P
Vizzini (9:06:28 PM): ah ok
Me (9:06:29 PM): been there for over a month
Vizzini (9:06:34 PM): i've been a little preoccupied
Vizzini (9:06:56 PM): prolly read it and went, oh wow that looks nice, and went back to this mess
Me (9:07:04 PM): heh
Me (9:07:31 PM): I still want to see about having the UNDERWATER part of the wilds part of the map and not HAVE ocean tiles
Me (9:08:07 PM): which will require having an elevation map
Vizzini (9:08:13 PM): yes
Vizzini (9:08:20 PM): i suppose we should start looking at that
Me (9:08:26 PM): *nods*
Me (9:08:34 PM): hrm
Vizzini (9:08:40 PM): how will you reflect elevation on your util?
Me (9:08:48 PM): not sure
Me (9:08:59 PM): I guess we need to figure out what kind of range we want
Vizzini (9:09:00 PM): hues of blue?
Vizzini (9:09:42 PM): or you could go for a contour map - but that would be complex to calculate i guess
Vizzini (9:10:12 PM): in effect that's what we're going to end up with tho
Vizzini (9:10:48 PM): a steep drop will consist of adjacent rooms with a high delta in elevation
Me (9:15:38 PM): *nods*
Me (9:16:02 PM): well, what I meant was.... how LOW will the oceans be and how HIGH will the mountains be?
Me (9:16:45 PM): so we can decide what the elevation elements would have to be
Vizzini (9:17:04 PM): well there's the thing
Me (9:17:11 PM): yeah :P
Vizzini (9:17:17 PM): we know that sea level will be 0
Me (9:17:31 PM): I mean, will we have Everest mountains?
Vizzini (9:17:34 PM): but we have to decide how high the mountains will be, relative to that value
Me (9:17:44 PM): will we have Challenger Deep channels?
Vizzini (9:17:44 PM): well i'd like to
Vizzini (9:18:30 PM): i want to implement falling/floating/flying at some point, and that will rely on the HAS of all these terrain features
Me (9:18:34 PM): we don't need SUPER high detail elevation
Vizzini (9:18:39 PM): HAS = height above sealevel
Vizzini (9:18:59 PM): well i spose it depends on how big you want the wilds to be eventually
Vizzini (9:19:02 PM): we can work up to it
Me (9:19:04 PM): *nods*
Vizzini (9:19:21 PM): gradual resizing of the wilds. let's just call this phase 2
Me (9:19:26 PM): well, it also depends on what the file format
Me (9:19:36 PM): is ^
Me (9:19:58 PM): binary format would be simple to deal with say... 16-bit values
Me (9:20:08 PM): but ASCII?
Vizzini (9:20:17 PM): yeah, we will prolly have to go binary at some point
Vizzini (9:20:30 PM): right now tho, we're just building the framework
Me (9:20:36 PM): yeah
Vizzini (9:20:47 PM): but yeah - we're on the same page i think
Me (9:20:53 PM): hell.... ha... could just have a 16-bit tile and a 16-bit elevation
Me (9:21:01 PM): stored as an RGBA png
Me (9:21:17 PM): and use a standard PNG loader
Vizzini (9:21:28 PM): we might need two - one for terrain type and one for terrain heights
Me (9:21:49 PM): you mean like a section of forest.... have the height of the trees?
Me (9:22:27 PM): hell, can just use the PNG writer and WRITE the file out
Me (9:22:35 PM): when needed
Vizzini (9:22:56 PM): well your picture format can only store one piece of detail per pixel
Me (9:23:10 PM): not really!
Vizzini (9:23:13 PM): but we need to know what the terrain type at that pixel is, and also the height
Me (9:23:23 PM): 32 bits is 4 billion values
Me (9:23:51 PM): splitting to two 16-bit groups... that's 64k each
Me (9:24:09 PM): what the numbers are to USE is irrelevant
Me (9:24:12 PM): US ^
Vizzini (9:24:27 PM): ah yes - i suppose you could use your util to split out the bit values
Me (9:24:30 PM): and I'm refering to an image file YOU can load up
Vizzini (9:24:37 PM): use the high range for height and the low range for terrain
Me (9:25:14 PM): like GREEN<<8+RED for terrain index... and ALPHA<<8+BLUE for elevation
Vizzini (9:25:31 PM): nods
Me (9:25:54 PM): and PNG loaders are not that hard to use.... I use it!
Vizzini (9:26:07 PM): if we use hex, 0000000000000000 to 00000000FFFFFFFF for terrain type
Me (9:26:21 PM): well, more like
Me (9:26:28 PM): 00000000 to 0000FFFF
Vizzini (9:26:30 PM): 000000001FFFFFFF to FFFFFFFFFFFFFFFF
Me (9:26:34 PM): 32-bits :P
Me (9:26:44 PM): not 64-bits
Vizzini (9:26:52 PM): ah sorry
Vizzini (9:26:54 PM): yes
Me (9:26:57 PM): heh
Vizzini (9:27:02 PM): i think in longs =p
Me (9:27:09 PM): 8)
Vizzini (9:27:14 PM): but you know what i mean
Me (9:27:22 PM): yeah
Me (9:27:46 PM): and you'd still need 4*W*H memory to hold all that
Vizzini (9:27:55 PM): if we assume that these are unsigned integers, that gives us the full 16 bits for each type
Me (9:28:05 PM): a 6000 x 6000 -> 144Meg
Vizzini (9:28:19 PM): yeah but it's still less that the 300 meg we're using right now
Me (9:28:23 PM): yeah
Vizzini (9:28:31 PM): so we're still winning
Me (9:28:34 PM): and you can add another 50% for your affects
Vizzini (9:28:40 PM): and look how much more that would give us to work with
Me (9:28:46 PM): yeah
Vizzini (9:28:54 PM): by that point i might have worked out a compression system
Vizzini (9:28:54 PM): or
Me (9:28:59 PM): *nods*
Vizzini (9:28:59 PM): sectorized loading
Me (9:29:04 PM): yeah
Me (9:29:16 PM): and abusing locality :P
Vizzini (9:29:27 PM): ?
Me (9:29:40 PM): you don't need the map info from 0,0 when no one is even NEAR it
Vizzini (9:29:47 PM): ah yes
Vizzini (9:29:50 PM): that's what i meant
Vizzini (9:30:00 PM): only loading the occupied sectors
Me (9:30:06 PM): *nods*
Vizzini (9:30:27 PM): anyhow - it's definately time for bed now
Vizzini (9:30:29 PM): 3:30am
Me (9:30:31 PM): hah
Vizzini (9:30:32 PM): up at 7
Me (9:30:35 PM): *so bad*
Vizzini (9:30:56 PM): gotta draw the line somewhere. mud coding doesn't pay the bills =)_
Me (9:31:13 PM): heh
Vizzini (9:31:19 PM): don't get me wrong - if i could i'd just stay up all night. made some serious progress tonight
Vizzini (9:31:31 PM): can you paste all this into the wilds thread?
Me (9:31:37 PM): *nods*
Vizzini (9:31:38 PM): we talked about some good stuff
Vizzini (9:31:54 PM): and at least some of it is actually doable lol
Me (9:32:00 PM): *nods*
Vizzini (9:32:22 PM): do you rekon you could have a think about the elevation representation thing tho?
Me (9:32:36 PM): hrm
Me (9:32:52 PM): well, I'd use a seperate image for that stuff
Vizzini (9:32:54 PM): try and flesh it out a bit
Me (9:33:22 PM): as far as my constructing it
Me (9:33:59 PM): hell, we could get rid of impassable terrain 8)
Me (9:34:19 PM): anywho... night!
Vizzini (9:34:37 PM): nods
Vizzini (9:34:40 PM): nite =)
-
I'm 22 going on 40\. It's all about how young you feel :D
-
Ok, testport2 is now up on the mud server for those not aware of it. The port is 7000, although only a small number of imms have their pfiles transferred onto it, so if yours isn't there you may need an imp with shell access to set you up.
Wilds v2 core code is there, although this is still a very heavy work in progress. Lots of things will crash it, but don't worry too much about that - it should bounce back up within a few seconds.
UPDATE:
I've had to move into a hotel until I go home on Friday this week - I'll be off the net until then (they only provide net access to those who enjoy consentual rape by credit card companies). I'll continue to work on bug fixes and further code-integration until then, hopefully with a decent update on Friday/Saturday.
Vizz.
-
Offline fixes:
* Fixed do_where() crash bug. This is to do with the legacy use of the in_room->parent pointer all over the place for the old wilds. I'll strip them all out.
* Fixed wilds exits not being correctly loaded with their destination details.
* Fixed vlinks being displayed in the wrong place on the map.
* Fixed do_exits() showing "none" in the wilds even when this was incorrect.
Vizz.
-
Awesome work! 8)
-
More progress.
* Fixed Vlinks finally. Seems I got confused and introduced some really dumb-ass logic into the linking code. Sorted. Only outstanding thing with vlinks is to link all of the reverse sides of vlinks to their wilds *AFTER* all the areas have been loaded. Right now, you can't start in Plith say, and walk out the east gate and into the wilds. The reverse link isn't there. I'll do that in the next night or two - not major.
* Had to realign the coordinates of all the entrances in the wilds. This follows on from the previous point. A vlink's "location" is the vroom where the link exit actually exists, NOT where the "O" is placed on the vmap. That's dictated by which direction you choose for the vlink. It's kinda awkward to explain, but once you get using it no doubt you'll either love it or hate it - in which case I'll rewrite it the way you want. In any case, a new copy of sentwilds.are is now in the testport2 dir.
Next on the list is rewriting act_info.c, create_map() routine. Actually there's this one, and a couple of other related routines that will also need rewritten. This is partly because the existing code doesn't check its own pointers (so causing a crash when you walk into a city from the wilds, and a map+description is to be displayed in that room), but equally, since the vroom the char came from doesn't actually exist anymore the pRoom pointer is invalid. Another reason is that Areo asked me to reimplement it to support displaying diagonals as well.
Anyhow, work's real heavy right now, so I might not get to this till the weekend. Looks like a couple of days work for the rewrite of these routines.
Cheers,
Vizz.
-
Hey Vizz,
just a quick request. Wondering if you might be willing, at your convenience, to strike up a brief list of functions that you have completely redone, to make the merge easier. For example, I'm sure you have either completely reworked or planning to rework functions like create_wilderness_room() and create_map(). Since I know the wilderness is currently your big focus, I've stayed away from making any changes to functions like that, as well as to wilderness.c. It'll make it a little bit easier for me if I can just copy over your big blocks of wilderness-specific changes firset, so that I don't end up with as huge patch files. Using diff I can then merge in your smaller changes to functions such as those in act_info.c.
Excellent work so far!!
S.
-
Well no, actually I haven't changed them at all yet. I wanted to speak to you first, cos I remembered someone talking about consulting previous implementors of code about fundamental changes to them - might have been Areo actually. Anyhow, I should have made that clear in my post.
I do have to modify create_map() because right now it's unprepared for rooms that don't exist so it crashes. I planned to add a few checks to the existing code to avoid that. As far as the diagonals thing goes, if you're happy for me to do it I will - if you'd rather I focused on the wilds for now, or want to do it yourself that's entirely cool with me.
On your other point, I've been marking the majority (sorry - I forget sometimes) of amendments I've made with a tag in the code of /* VIZZWILDS */ to make a nice simple grep easier. If that helps you then cool, but I suspect that a diff will be the only way to get all the little changes. If you want I can mail you a copy of the testport2 code so far so you can get some idea of where i am and how much has had to change, but there's still a lot to do, especially in the olc.
Cheers,
Vizz.
-
Right - got the vlinks 100% now. New version is now up on testport2 so please see if you can crash it. If you do (I don't doubt it), please write a note in here about it and I'll fix it.
I'm not going to tackle mobs and objects in the wilds yet. With the core code at least in a running condition, I want to get the netherworld wilds sorted out and implement a couple of things Nib and I have been talking about, like configurable vlink entrance chars, altitudes and a couple of other things, then get the netherworld wilds converted. After that I'll start removing the old wilds code I've commented out and reinsert a few things that had to be disabled, including the wilds darkness fog view.
Let me know if you have any immediate requests. I'll monitor this thread as much as possible and work on the code as much as possible over the next week. Hopefully I'll have internet access from my hotel next week so I'll be able to continue to make updates, but otherwise assume that my updates will only be at weekends.
I'm enjoying the hell out of this right now. It's all coming together slowly, but there's a load of testing to be done. Any volunteers? ;)
Cheers,
Scott (Vizz).
-
List of special effects to consider when we can do eye candy (but plan for stuff like this NOW)
* colored " marks for certain mobs with eyes like that when in darkness but within line of sight.
* O room shield indicators (maybe circles when they are/can be larger)
* yellow/red tiles for showing fires with different characters for size of the fire.
* momentary darkness affects causing darkened or blank(black) tiles to show up.
All so far… more to come!
Also... spells that affect nearby rooms (directly or indirectly)
* wither - creates objects in adjacent rooms and can cause fleeing
* fire cloud - creates objects in adjacent rooms and can cause fleeing
* inferno - can cause fleeing
* room shield - blocks entry for PKers into the room
* afterburn - ranged spell
-
Some stuff that I can think of:
* Ranged code in shoot.c, specifically the function which locates the victim (search_dir_name). Since this used by do_shoot and do_throw, fixing it to account for virtual rooms should fix anything having to do with ranged. Since it's the wilds, we can use a coordinates for this which would be faster than recursively searching rooms. Perhaps since it's wide open space, we can allow people to shoot within a distance radius (e.g. you can shoot someone 3 rooms east and 1 room north, as long as there's nothing blocking them).
* We might re-enable hunting in the wilds through a similar algorithm. Currently it just doesn't allow you to hunt in the wilds because, once again, the recursion used won't fly for the vast space which is our wilderness. However, deriving a direction from coordinates of hunter and huntee will solve the performance issue.
Thanks for keeping your changes tagged, that's gonna help a lot. Don't worry if you've missed some of them - the diff will pick up whatever you didn't tag.
-
On the off-chance that anyone actually checks this forum anytime in the next couple of hours, I have a request.
I don't have unfiltered access to the internet from work, and I'm working on the wilds code (heh). I need someone to log into the main game, hop into the nether wilds and take a screenshot while standing 1 east of the portal back to rune. The screenshot must be in colour, and of a decent resolution that I will be able to make out the terrain features.
Just post the screenshot as an attachment in this thread - ty.
If ya can do this, great - otherwise I'll park this and work on it again tonight.
Cheers!!
Scott.
-
~~@Vizzini:~~
> On the off-chance that anyone actually checks this forum anytime in the next couple of hours, I have a request.
>
> I don't have unfiltered access to the internet from work, and I'm working on the wilds code (heh). I need someone to log into the main game, hop into the nether wilds and take a screenshot while standing 1 east of the portal back to **rune**.
:lol:
That and Gza cpking himself by attacking my linkdead ghost remind me of the pure hilarity that insues around here sometimes. It really makes the hard work worth it :D
-
LOL.
Oh man I'll have to tease him about that!
Thanks for the screenshot. This was needed because as with the "Wilderness", "Nether" had some terrain types in the code that didn't correspond to tiles in the area file, and the area file had some tiles that for some weird reason didn't correspond to tiles in the code… Go figure. All sorted now tho, so thanks!
One more question - I'm sure Nib kinda answered this the other night, but I wondered if anyone else knew what the actual state of play with it was. What's happening about the "Eden" wilds? I see numerous references to it in the code *grumble*. I'm assuming it doesn't exist right now? If not, then it's one less wilds file to manually convert.
Cheers,
Scott.
-
BTW, if you hit ALT-Print Scrn, it'll just make a capture of the highlighted window, instead of your entire desktop.
Useful for when you don't want to show people what music you were listening to at the time ;)
If you knew that already, you can cuff me upside the head next time you see me online.
Scott.
-
Oh yeah, ages ago I had this idea to replace the dumbass crap starfield at the boundaries of the wilds with something a little more attactive. I figured we could use something similar to a brush array - a 2d array of stars so arranged as to lend itself to being repeated at some point end to end, giving the impression of a seamless starfield - except customisable.
If we consider this in the context of Nib's idea about having red-quotes symbolising malevolent eyes in the darkness, we could use the brush array to do something similar with that - although with the Nether the way it is right now, noone would ever even see the boundaries…
Another method would be to allow some or all wilds to be spherical in nature. Thoughts?
Scott.
-
~~@Vizzini:~~
> One more question - I'm sure Nib kinda answered this the other night, but I wondered if anyone else knew what the actual state of play with it was. What's happening about the "Eden" wilds? I see numerous references to it in the code *grumble*. I'm assuming it doesn't exist right now? If not, then it's one less wilds file to manually convert.
It does exist, it was created as the counterpart of the abyss. Seems to make sense, except there arn't any areas to put in it. Therefore it's not usually loaded into the game – i believe the code to load it is there.
You can see the map in the main port's /area/eden.are. You don't have to convert it if you don't want to - I mean I always liked the map, but it is a bit simplistic. If it's a giant pain for you to convert it, don't. I'm sure we can make a better eden.
> BTW, if you hit ALT-Print Scrn, it'll just make a capture of the highlighted window, instead of your entire desktop.
>
> Useful for when you don't want to show people what music you were listening to at the time Wink
Didn't know that actually. Not that i'm ashamed of listening to lil jon.
> Oh yeah, ages ago I had this idea to replace the dumbass crap starfield at the boundaries of the wilds with something a little more attactive. I figured we could use something similar to a brush array - a 2d array of stars so arranged as to lend itself to being repeated at some point end to end, giving the impression of a seamless starfield - except customisable.
>
> If we consider this in the context of Nib's idea about having red-quotes symbolising malevolent eyes in the darkness, we could use the brush array to do something similar with that - although with the Nether the way it is right now, noone would ever even see the boundaries…
>
> Another method would be to allow some or all wilds to be spherical in nature. Thoughts?
I think the flat-earth concept deserves to be tortured to death and burned at the stake. I would really like a spherical world. Or at least an elliptical one. Or an asteroid. We should move out of this whole turtles-stacked-up-on-top-of-eachother worldview where we have no sense of space.
Since the concept of a more.. uhh.. real world, or planet at the least, surpasses the need for that starfield where the world ends, I think we can just do away with it if you're willing to do the implementation 8)
-
I would rather it be more of a cylindrical world with the polar regions covered in ice, unless you want to deal with the problems of MOVING around the north and south edges. Remember… if you use a spherical map, the longitudes get closer together the closer you get to the poles, thus all the land gets STRETCHED when put on a rectangular map. Not only that, you have contend with moving THROUGH the polar edge. If crossing it means you cross the pole, you don't appear on the opposite side of the map (north to south, or vice versa). No, you would appear half the map width to the side (east/west, doesn't matter) ... and facing the OPPOSITE direction. Doing the standard "North" at the north side of the map would put you in an endless swapping between two locations. Ships would have to switch directions to keep going the "same" direction.
With a cylindrical map, you could make two polar wilds, use them as a cap and then use special boundary vlinks to take you to the proper location on the polar map.
This brings up another interesting though about the wilds in general. This stemmed from using the boundary vlinks. Well, why not have a bounding box vlink that you could anchor over one vmap and then have it link to another complete vmap. The coordinates are used to put you in the right location in another region of the zoomed in map. For example, you could have the topmost level of the wilderness. Around a particular region of the map, say Seralia, you could have a box vlink connect that region to a larger, more DETAILED map.
Of course this might screw up the simplicity of hunting in the wilds and other things. Just something to consider.
-
Hey all,
Been a while since I posted any kind of progress update, so I guess I'd better write one. For those who don't know, I have my own company and the end of the financial year is looming (31st March), and I have a large tax bill to meet so I've been working my ass off. The wilds work has suffered as a result so there's not a massive amount to report.
* Rewrote the Terrain and Vlinks loading/saving routines to use Syn's value tags method rather than the stock ROM lazy-man's method of using absolute fixed fields. This is much more fault tolerant and makes the area files bigger, but much more readable. It also keeps the wilds files in roughly the same format as the rest of the area file format, which makes me more comfortable (and will save me lots of explaining time when Nib comes to rewrite PGN2ARE).
* Spent some time bullet-proofing various parts of the wilds OLC. Again, a lot of testing will still be required but I wanted to head-off some of the dumber and more obvious bugs before beta testing begins in earnest.
* Vlinks can be linked/unlinked from the OLC now. I wasn't happy with the way this had been done previously, so I rewrote the linking and unlinking routines so that they are more compartmentalised, so the code can be reused when it comes to putting in script hooks for allowing room/mob/obj scripts to link/unlink vlinks.
* At Nib's request I made vlink wilds entrance tiles customisable in the OLC, and also modified the loading/saving code appropriately.
I'll try to do more in the coming week. I realise you guys are waiting for this.
Cheers,
Scott.