Sunday, June 21, 2009
Fathers Day
sweet, for fathers day this year I got a motorcycle safety course. Three intensive days training and I’ll have my mc license.
Filed Under : Life • Personal •
Commented on by (0) people. Read or Post Comments Here
Sunday, June 21, 2009Fathers Daysweet, for fathers day this year I got a motorcycle safety course. Three intensive days training and I’ll have my mc license. Posted by Stu on 06/21/2009 at 09:44 AM Permalink to this post.
Filed Under : Life • Personal • Commented on by (0) people. Read or Post Comments Here Wednesday, June 10, 2009SpellsI’ve mostly fleshed out my spell list, so I can finish up the last chunk of code in the combat engine. Magic will imply either a +/- affect to life points / mana, or it will apply a +/- to some particular stat that last will N rounds or to the end of combat. Complicating things is that I will have about 50 odd spells spread across 4 types (spirit, elemental, nature, body), and about 5 of those are designated combat/map, meaning you can cast them outside of combat. That leaves me with a bit of a dilemma, do I really want the trouble/complexity of doing spells outside of combat when you only have the ability to cast 5 or so spells? These spells come in the form of healing spells, cure poison or things to reduce the wear and tear on your weapons and armour. I want to be able to cast cure poison whenever I like, not just in combat… The old gold box games got around this by having an encamp menu, and I really don’t want one of those. I must think on things a bit more…
Posted by Stu on 06/10/2009 at 02:07 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (2) people. Read or Post Comments Here Saturday, May 30, 2009Pairing down the ‘what does that mean?’ and the name..Been doing a little work on the game today, and instead of flying through my testing and ignoring character creation I fully immersed myself in the process. Immediatly I hit a ‘what does that mean’ on my stats, and the longer I pondered what purpose a particular stat meant, the greater reason it was to remove it. So we are one stat down again (Energy), but its ok, since it was a derived stat that was not really used anywhere. I’m pretty sure this will be the last time I pare down the stats, everything left has a very logical use and is used quite liberally throughout the game. I’ve also gone and redone a bunch of graphics for the release name (no, I’m not near release yet…), since Fishguts was just the codename (each device, gp32,gp2x,pc,psp etc had its own graphic/code name), and I’ve pretty much updated all the titles and keys for removal of the development name through the source tree where needed. Rebalancing the amount points you get to start has also been on my agenda, as the points you dont spend on your stat buy, carry over to your skill buy, and there is a cap on how uch you can spend on one skill to start with but if you have extra points, it tends to overflow into other skills just to use them up… What I want to avoid is people creating a do-everything-good-at-nothing kind of character.. the best strategy is to buy into a certain kind of build (fighter, thief, type etc) than an even spread… but its up to the player essentially so…. mm. Posted by Stu on 05/30/2009 at 10:22 AM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (1) people. Read or Post Comments Here Wednesday, May 06, 2009PSP Testing answerAfter much faffing about, I realised I was doing a lot of fgetc calls when decompressing, hmmmm… so I read the entire compressed chunk into a buffer and decompressed it from there… insta speed up and my problems mostly gone, the ingame data caching system also helps too… still, this didnt happen in the olden days of my psp development. Posted by Stu on 05/06/2009 at 09:21 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here PSP TestingI thought I’d bust out a test version for the PSP, as it had been a while since the last hardware test… and the last test was fine.. Well, something has changed and I cant figure out what. My logs show no errors but the game runs like a dog, specifically the IO feels like its doing something ... well.. else.. To read a 10 byte file, the memstick light goes mental and the it takes a good 20 seconds, as if its doing a single byte read then pausing for a bit then doing another byte read. I may git bisect my way back in time somewhat to see if its something I did or if its something in the psp sdk. No problems show up in my logs and the pc version plays fine. I should probably test the GP2X version tonight and see if its afflicted with the same bug. One nice thing is that the PSP, GP2X and PC are all little endian. All my resources load and decode just fine so its something in the IO subsystem. Very frustrating!! Posted by Stu on 05/06/2009 at 08:41 AM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Saturday, April 11, 2009KeyboardsSo, finally got off my butt and implemented an onscreen keyboard interface so now you can select your own name.
Nothing fancy but it works quite well (screen shot is PSP emulation).
Posted by Stu on 04/11/2009 at 09:26 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Saturday, April 04, 2009Small RealisationI’ve just realised I have been doing all I can to avoid having some form of variation on the Gold Box ‘Camp’ menu, tho I wonder how long I can avoid it for. Camping was a good way to heal up when you needed to (if you were able to rest that is). Posted by Stu on 04/04/2009 at 01:47 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Realms of Quest III on VIC-20Ghislain has been very hard at work on an excellent old-school looking rpg VIC-20 homebrew. Check out the thread here on Denial VIC-20 community.
Posted by Stu on 04/04/2009 at 01:29 PM Permalink to this post.
Filed Under : Computers • Computer Gaming • Commented on by (1) people. Read or Post Comments Here Tuesday, March 31, 2009Trade Skills and random thought dumps, magic tooThis post is a collection of random thoughts going on in my head right now; I’ve been thinking about trade skills and other non-combat facets of my game. Trade skills would be really cool. In Ultima you could make bread if you wanted, and they took that further in Ultima Online. Magic Candle let you work in the gem shop etc to make money. Then I thought, what good is it really, when your part of an overarching storyline where you travel between continents and overcome so much, your part of this huge epic… What part does ‘tailor’ or ‘baker’ really play? Aside from being some kind of money making thing, what impact will having Artisan Pastry Maker level 10 be as opposed to Swordfighting level 10? RPGS are for better or worse, tilted toward combat. Some more, some less. I won’t deny combat will be major, its going to be half or more of my game code. Its a tactical combat engine. I had a brief fleeting thought, that it would really cool to be able to go through the game without fighting and using the diplomacy skills. The bar on player power only gets raised so much. The player will never attain godlike stuff, raising skills just equates to hitting more often and missing less, but dragons are still dragons and a player with maxed stats should still have a problem fighting them. I don’t want to get into the AD&D situation of power escalation where suddenly players go from average level 7 to being level 15 (We saw what happened in the progression from Pool of Radiance to Azure Bonds to the lamentable Secret of Silver Blades where the beginning game has you fighting red dragons and baby dragonlings!).
I had mulled over the idea of doing it like AD&D style, you can learn N 1st level spells and M 2nd level spells etc… But that is too blah, and constrictive and just.. awefull and it forces that whole ‘fix’ situation for healing. Instead I’ve refined the way in which I tend to implement it in my roguelikes. Every character has mana points, similar to hit points but for magic, and will be combined with a skill for a type of magic (you can have one or more of the primary magic skills), and it will be transferable at half penalty (using a spell for a magic skill you dont have incurs 1/3rd extra mana cost and all results are halved). The only way to cast spells will be from wands (any of the primary magic skills required), invoked from figurines, read from a scroll or from an imbued item. The primary way will be from imbuing an item, say a staff. A generic sorcerers staff may hold 5 different kinds of spells, so you will pop in to your local wizards guild or whatnot and hand over the scrolls you want to embed into the staff. Mana is recouped from wearing the goold old wizards hat. More specifically items are tagged with a mana regen attribute so the wizards hat, robes, rings, etc, will allow you to stack the regeneration buffs. This also means if you have a good mana regen ring or good combination, you can still wear plate armour and carry a shield and wield that wand. Figurines will primarily be used for summoned monsters for combat only (I dont want to have to mess around with dealing with a non humanoid pc in the party, by that i mean say a panther who cant carry gear, speak, read etc, makes code much more complex to deal with it). There will also be vials and potions and such to give us a nice big item list (taking queues from the Bards Tale and Demon’s Winter here). “You see a clay figurine shaped like a wolf with the word ‘INWO’ on it”. I’ve also been playing with my spell list, and I am trying to come up with some diverse spells like;
Posted by Stu on 03/31/2009 at 02:40 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Sunday, March 29, 2009MovedMy hosting provider was doing some migration and we lost the last couple of days (a few comments)... Everything now appears to be working fine! Posted by Stu on 03/29/2009 at 03:15 PM Permalink to this post.
Filed Under : Life • Commented on by (0) people. Read or Post Comments Here Wednesday, March 18, 2009Quick DemoI did a quick demo for the combat engine using gtk-recorddesktop. YouTube did a good job and compressing it to illegibility… ohwell.. You can barely see the arrows flying across the screen :( The combat is fixed, mostly everyone hits and everyone does the same amount of damage for some quick testing
Posted by Stu on 03/18/2009 at 12:00 AM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Tuesday, March 17, 2009ArrowsDid some cleanup last night messing with the combat code. For some reason (read serious brain fart), I had at one point created a whole bunch of short-range weaponry, things like glaives and polearms that are long, I marked these for attack distance of two squares, The problem was it looked funny to attack someone when you had a square of grass between you, and I couldnt contain the attack drawing properly. Icons have two states, ready and post attack. It just didnt quite work right or look right, it really needed some kind of intermediate animation of a weapon crossing the gap between player and enemy, So the upshot was all shortrange weaponry is now converted to melee range weaponry and the skill itself is also gone. One last equation is left on basic ranged combat and that is projectile counts. A sling uses stones, which you can buy in a quantity. Bows vis arrows. But I also have ranged weapons like chakram, boomerangs etc, oddball stuff so its not just bows that are ranged. So, how many boomerangs are enough? A bomerang returns if it doesn’t hit, but does it return if it does hit? hmmmmm… Just for sheer act of fairness I think those kinds of weapons will always ‘return’ hit or no hit. I need to remove things like ropedart since a ropedart is held at one end by the player, thus would need some separate funky animation to keep a line attached to the player, which is a no go. I think I need to go over all my item data and stats again.
Posted by Stu on 03/17/2009 at 01:20 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Monday, March 16, 2009Ranged CombatSo ranged combat is now a go! Arrows fly across the screen with a twaaang (ok there is no sound effects yet). The problem now is, I have 8 icons for the arrows, but I need to do a proper calculation on which one to use. Right now I have a threshold, if it is 5 spaces from either the N/S or E/W line its uses a NW/NE/SE/SW facing icon, otherwise it uses one of the 4 cardinals. The problem lies in the fact that you dont want to use an intermediate directional icon when its too close to the cardinal, but that line is… fuzzy.. Unless it looks like the arrow is travelling on a 45° or close either side of it, you want to use a cardinal icon. Once the arrows point the right way, its time to move on to… FIREBAAAAAAALL! or maybe “I cast magic missile!” or stinking cloud… Maybe stinking cloud as that has environmental effects that linger on the map for a set time period. Posted by Stu on 03/16/2009 at 08:17 AM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Wednesday, March 04, 2009Difficulty ValuesI guess I didnt expand on the difficulty values... What happens is, when a script has its OnLoad event triggered it puts into memory where locked doors are. The problem lies in two separate lua states needing the data, the easy solution is a simple data structure in C that both can talk to without needing to shoehorn data in and out of separate states The below code takes a set of co-ordinates and optionally a difficulty value. It tests if the part has recorded unlocking a door at said co-ords, and if not, puts a locked door tile there, otherwise the tile that is passed in is stored. This way when the pick lock function or open door function is called from the master script (global functions like use of skills are separate from the map), they can interact without passing data between in a messy way. (note RSS readers wont nesecarily show the correct colours below<)
816: 817:function PutDoor(s, r, c, t, diff) 818: if IsDoorLocked(r, c) == -1 then 819: 820: diff = diff or Difficulty_Competent 821: SetTile(s, r, c, TILE_DOOR_LOCKED); 822: SetDifficulty(r, c, diff); 823: else 824: SetTile(s, r, c, t) 825: end 826:end 827: 828:function OnLoad() 829: PutChest(s, 31, 58, TILE_BRICKFLOOR, Difficulty_Competent); 830: PutChest(s, 31, 59, TILE_BRICKFLOOR, Difficulty_Competent); 831: PutChest(s, 31, 60, TILE_BRICKFLOOR, Difficulty_Competent); 832: PutChest(s, 31, 61, TILE_BRICKFLOOR, Difficulty_Competent); 833: PutChest(s, 31, 62, TILE_BRICKFLOOR, Difficulty_Competent); 834:end 835: 836: The SetDifficulty routine will apply to any tile, since you cant stack locked chests on top of locked doors etc this is not a problem to share the data structure. It would be much simpler if the global script could call into the map script and for things like strings or integers that is easy, but when it comes to passing anything else between two lua states it becomes a nightmare or nearly impossible with more complex data types that live in different universes (separate Lua states). Posted by Stu on 03/04/2009 at 04:01 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here Tuesday, March 03, 2009Unopposed Skill ChecksI did some work on adding unopposed skill checks yesterday. This properly works the stat+skill+roll vs difficulty value into play. Now you can pick the lock on a door without having the required quest key if your stat + skill level is high enough (in this case your DEX and your LOCK PICKING are good enough. To pick a lock you need to hit a difficulty value (DV) of Competent which is 18. A good dice roll wil hit you this even if you have a zero DEX and zero LOCK PICKING skill… This is where I debate using a flat d20 roll or using a bell curve 3d6 roll… A flat d20 roll increases the odds of hitting that 18 with no skill in Lock Picking, but a bell curve 3d6 greatly lessens those odds but… I just don’t like the bell curve statistics making everything average. In the midst of this I saw one stat error that needs to be fixed, I’m internally debating of merging reflexes/dexterity… its an age old fuzion wart…
Posted by Stu on 03/03/2009 at 04:30 PM Permalink to this post.
Filed Under : Computers • Development • Fishguts • Commented on by (0) people. Read or Post Comments Here |