Thursday, January 22, 2009
I did something I hadnt done in a long time….
I cracked a DOS app.
Yeah, thats right an old school MS-DOS application.
OK, I didnt really crack it, I neutered the nagware screens on the shareware.
I had, once looong ago de-nagged a previous version (were talking over 10-15 years ago!), and I couldnt find that old version, only one slightly newer…
Worse, the only tool I had was debug.com to do it with… :( Well at any rate I poked the executable using the offsets of the original crack, which was as I expected different, but it showed me the code I was getting around.
The newer version had slightly different code. So instead of two groups of 4 NOPS,s I ended up with
5784 - 90 90 90 90
595C - 90 90 90 90
5717 - 90 90 90 90 90 90 90
58FA - 90 90 90 90
Three extra nops.
I ended up spending about two hours on de-nagging this ‘new’ version to run this app for about all of 5 minutes to check what I needed to check…
ohwell..
Filed Under : Computers • Development •
Tags:
(2) Comments
Tuesday, January 06, 2009
ToDo as of 20090106
To Do List as of last night (got a sick baby boy so did not do a lot of work on it).
[ ] * Sweep attacks at higher levels [ ] * Double hits [ ] * Free shots by everyone when a player moves away from you [ ] * Free shots if you walk past someone [ ] * Backstab [ ] * Fleeing the map [ ] * Aim (monster auto target selection) [ ] * Manual Aim (any square) [X] * LOS
Yep completed LOS and found an interesting corner case where the screen shows an even amount of lines, say 10, the lines 1-5 above the player, player on line 6, and 7-10 below…
That 5 clear above, 4 clear below yields an oddity, since we are doing rectangular LOS… Here is an example of casting to the top row and bottom row.
*******
*****
***
@
***
X*****X
Where the two X’s are squares that not visible when they should be because to hit those we have to cast to the line below the screen. To hit those X’s on this graph would be to compress the LOS which could give you artifacts and other oddities.
Anyway, this corner case is a bit moot as I will be doing LOS for the entire combat map, as the player can target/cast spells outside of the immediate area, and so I need to have all the LOS information, not just what is drawn to the screen…
I just found it an interesting edge case.
Filed Under : Computers • Development • Fishguts •
Tags:
(0) Comments
Monday, January 05, 2009
Combatness
Things to do on the Things To Do list for melee combat;
* Sweep attacks at higher levels
* Double hits
Should be very easy, just a skill check level > X and movement points test.
* Free shots by everyone when a player moves away from you (Remember those in the GB games.. they can really hurt)
* Free shots if you walk past someone
* Backstab
Quite simple
* Fleeing the map
Relatively easy , whenever you hit within a 10 columnn/row boundary of the border, ask if you wish to flee combat.
* Aim (monster auto target selection)
* Manual Aim (any square)
Super easy
* LOS
Super Easy, the same callback function passed into the AStar pathfinding can be passed into the pre-exisitng LOS routine.
On the player side
* Need to be able to change weapons/armour etc and mess with your inventory or use skills and such.
Hmm thats more than I had initially thought… my other random thought was that I may make some of the specialist stuff into skills in their own right (double hit, sweep, backstab, critical hit, and others) and you could learn something more (kinda like a very short skill tree, so if you had melee weapons you could later learn either double hit or sweep etc)
Enemies can now switch out weapons and armour on the fly if they need to change from ranged to melee etc.
Filed Under : Computers • Development • Fishguts •
Tags:
(0) Comments
Thursday, January 01, 2009
Cloning for the combat map
I spent some time last night cloning up the current map to create the combat map. Every time is multiplied by 4 to enlarge the map to explode the combat map.
The problem now becomes one of enemy positioning. I have to tweak me routine to not place people inside of walls and things… One nice thing is that doors are auto-converted into floor tiles (if inside) and such.
One nice thing of the 1:4 tile ratio is that the max number of players in the party is 4 (and even if it were 6 or 8) I can fit the part in one combat tile.. which kind of retains the 1:1 relationship.. mm pointless thing to notice I know.
I just added some code to auto orient everyone, so if you approach from the west, you face your enemies from the west and they face east. No more automatic North-South orienting. Also when events trigger ‘near’ a player (usually events that happen when your next to something rather than on top of it) will auto face the part toward the event.
src/combat.c is approaching nearly 2500 lines of code..
Now I just need to get my archers to fire their bows and I can move on to implementing the magic system for combat! Its just a call to the LOS code with a callback…
oooh LOS code… I need to implement the LOS! Well two birds with one stone (but only if your skill in ranged weapons is good enough!)
Filed Under : Computers • Development • Fishguts •
Tags:
(0) Comments