Monday, March 15, 2010
Minor Updates
What? no activity in a long time?? Lots of things have been happening in the personal life, parents came for a visit, grandmother passed, wife directing a play so I get both kids in the afternoons/evenings, etc. Huge project crunch at work..
But I did find the time to tweak some of my tools to remove more of the handwritten code and replace it with data generated from the maps. The final piece was for auto generating the teleport locations.
I have also enlarged my map, I felt it was too cluttered so I embiggened it and spread the continents out more. It always irked me a little to hop in a sailing shop and sail only a few spaces and traverse the seas.. So I made more use of some open space and moved things out further making sea travel longer, but not monotonous. Sea travel is important and it needs to feel like it takes you a while to get from A to B (and the movement speed of the ship is slower than that of land speed movement). It certainly wont be as redundant and monotonous as it was in Demon’s Winter which had huge tracts of open ocean and a very poorly laid out world.
Still beavering away on the combat engine affects
Filed Under : Computers • Development • Fishguts •
Commented on by (2) people. Read or Post Comments Here
Tags: CRPG, Demon's Winter, Mapping, Travel
Saturday, November 07, 2009
Some of that fruit
(This post has embedded CSS that does not look good in a RSS Reader)
So I picked some of that low hanging fruit I was talking about before, only what I picked was nothing in my list.. Still I got something done that REALLY needed to be done.
So I went from this (a dummy map used for example);
plus this, hard coded stuff which was a pain to change
596 AddNPCHere(TILE_GUARD, MODE_GUARD, 1, 2, "GUARD_000", "TALK_NPC_GUARD000", "COMBARD_GUARD") 597 AddNPCHere(TILE_GUARD, MODE_GUARD, 8, 12, "GUARD_001", "TALK_NPC_GUARD001", "COMBARD_GUARD") 598 AddNPCHere(TILE_GUARD, MODE_GUARD, 22, 16, "GUARD_002", "TALK_NPC_GUARD000", "COMBARD_GUARD") 599
To this
with this being generated automatically;
604 AddTransCombat(TILE_GUARD, MODE_GUARD, 18, 33, "NPC007", "TALK_NPC_GUARD01", "COMBAT_EVENT_GUARD") 605 AddTransCombat(TILE_GUARD, MODE_GUARD, 20, 33, "NPC008", "TALK_NPC_GUARD01", "COMBAT_EVENT_GUARD") 606 AddTransCombat(TILE_GUARD, MODE_GUARD, 40, 42, "NPC009", "TALK_NPC_GUARD01", "COMBAT_EVENT_GUARD") 607 AddTransCombat(TILE_GUARD, MODE_WANDER, 35, 54, "NPC010", "TALK_NPC_GUARD01", "COMBAT_EVENT_GUARD") 608 AddTransCombat(TILE_GUARD, MODE_WANDER, 51, 40, "NPC011", "TALK_NPC_GUARD01", "COMBAT_EVENT_GUARD") 609 AddTransCombat(TILE_GUARD, MODE_WANDER, 33, 26, "NPC012", "TALK_NPC_GUARD01", "COMBAT_EVENT_GUARD")
639 --%%%LOCKED%%% 640 if r == 1 and c == 1 then 641 PutDoor(s, 49, 49, TILE_DOOR_CLOSED, Difficulty_Incredible); 642 PutDoor(s, 43, 50, TILE_DOOR_CLOSED, Difficulty_Competent); 643 PutDoor(s, 61, 44, TILE_DOOR_CLOSED, Difficulty_Heroic); 644 end 645 --%%%END_LOCKED%%% 646 647 --%%%CHEST%%% 648 if r == 1 and c == 1 then 649 PutChest(s, 42, 49, TILE_BRICKFLOOR, Difficulty_Competent); 650 PutChest(s, 61, 47, TILE_BRICKFLOOR, Difficulty_Heroic); 651 PutChest(s, 62, 43, TILE_BRICKFLOOR, Difficulty_Competent); 652 end 653 --%%%END_CHEST%%%
Basically, I add a couple of properties to my map and my ruby script generates all my code that I need, it will setup doors and chests with lockpicking difficulty, set NPC icons on the map, create shop merchants, write message triggers, etc.
I've added quite a bit of checking to the ruby script too so if I use a function like "TALK_NPC_GUAR" instead of "TALK_NPC_GUARD" it will warn me ahead of time.
XML maps make data extraction and manipulation so much easier, the only downside the REXML built into Ruby is painfully slow on the world map because of its size, but its not something I have to mess with very much at all
Filed Under : Computers • Development • Fishguts •
Comments are closed There are no comments on this entry.
Tags: CRPG, Mapping, Tools