Fishguts

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

Posted by Stu on 03/15/2010 at 11:53 AM Permalink to this post.
Filed Under : ComputersDevelopmentFishguts
Tags:

(2) Comments
Share/Bookmark

Sunday, January 31, 2010

Combat

Aaah the smell of freshly upgraded stats when casting a haste spell.. Yes I spent some time this weekend working on the combat engine, I’ve got all spells working that run over set number of rounds and alter stats.. I need to enable the targetting code and the animation code is mostly built to handle the spells being thrown across the map. Once targetting is done I can better do the fireball explosions and other area affect spells. Thankfully code reuse is good, I can use my existing ranged weapon target code.

Posted by Stu on 01/31/2010 at 03:42 PM Permalink to this post.
Filed Under : ComputersDevelopmentFishguts
Tags:

(0) Comments
Share/Bookmark

Tuesday, December 29, 2009

Two odd thoughts on Pool of Radiance

I was thinking about things to add to my CRPG (Not like it needs MORE stuff added), was two things that stood out for me in Pool of Radiance, the attract screen or demo, and the computer guided introduction for the player.

Now POR was not the first game to have the attract demo screen, the Ultima series had them since what? Number III I think, only it was more cut down, you did not see the real combat action.  Pool of Radiance cycled through lots of different screens and displayed a really great demo setup.

The second thing was when the player started a new game, you got that awesome guided tour that brought you into the game. I remember when you first walk in and see ivy on the wall, it was like, AWESOME in its pseudo 3D-ness.

I want this type of introduction in my game, but I’m not sure how to go about it. For the 3Dlik ness of POR it worked, everything is hidden that is not in the immediate view and reveals as you go through doorways and around corners, yet with my 2D tile approach you don’t get so much of the ‘reveal’ factor. Whats there is there, the LOS hiding does not have the same affect.

Right now I have a simple attract screen much like Ultima III with characters walking around the screen in random fashion (unlike Ultima III’s scripted sense). I would like to have an entire scripted display of some 2d tile action with a AI controlled combat (so it should be different each time).

Posted by Stu on 12/29/2009 at 01:10 PM Permalink to this post.
Filed Under : ComputersDevelopmentFishguts
Tags:

(2) Comments
Share/Bookmark

Sunday, December 27, 2009

Hacking on the combat

Wow, its been ages since I’ve hacked on Fishguts. Tonight I managed to get some free time so I whacked a few thorns on the combat engine.

Managed to split out the Cluebook from the Players guide so I can print separate booklets, for some reason I like that idea more than stuffing it all in one booklet. XeTeX rocks, I wonder why I never bothered with Latex years ago.

Tweaked some AI + A* pathing.

I need to fix some horse issues, and generate a list of enemies from nearest outward so the Next/Prev automatic targeting works.

Posted by Stu on 12/27/2009 at 10:58 PM Permalink to this post.
Filed Under : ComputersDevelopmentFishguts
Tags:

(0) Comments
Share/Bookmark

Monday, November 23, 2009

Busy Busy

With the arrival of our new baby (Sebastian) things have been hectic but I did some time on some of my to-do list. Some of the low hanging fruit turned out to be harder than expected.

I have horses appearing on the main map now. I learnt that I cant draw a horse to save myself! Ha, it looks so bad its funny. Adding horses to the main map proved slightly problematic mostly because the main map is handled different from the other maps because of its size and that all the maps are segmented, so a minor technicality on my part and we have horses appear outside town after you buy em.

Added some more attribute extraction to my maps so more things are generated by tools than by hand written code. Map transitions (entering towns, dungeons, etc) are no longer hard coded and handled in the tool.

Posted by Stu on 11/23/2009 at 09:58 AM Permalink to this post.
Filed Under : ComputersDevelopmentFishguts
Tags:

(0) Comments
Share/Bookmark

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);

image

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

image

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

Posted by Stu on 11/07/2009 at 10:46 AM Permalink to this post.
Filed Under : ComputersDevelopmentFishguts
Tags:

(0) Comments
Share/Bookmark
Page 1 of 25 pages  1 2 3 >  Last »