Middle-Earth By Night - [Old World of Darkness]

If you have a module that you'd like comments on or would like to know how to create your very own module, post here

Moderator: Moderator

Message
Author
Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#31 Post by Frumple »

Hope not. Zot defense was bloody brilliant, imo, and I'd love to see more like it -- or ZD itself updated, either way. Don't even really like crawl terribly much, but I liked ZD. Turn based defense games, tower or otherwise, are made of win and awesome, I do say. Well, turn based pretty much anything tweaks my interest, but whatever.

More in line with the discussion, congrats on getting yet further FACM. I'll be looking forward to checking your system if you do rewrite the talent stuff, as well as anything you end up doing to th'combat systems. Even though I imagine it's going to be Incursion(script) I turn to, TE4 might be what I default to, to finally realize some kind of freaking addition of the Ogre Battle line. I got notes and everything, hah; s'a shame I'm utter crap with coding. One day, neural interface, one day.

Antagonist
Higher
Posts: 71
Joined: Sun May 23, 2010 9:55 am

Re: Middle-Earth By Night - [Old World of Darkness]

#32 Post by Antagonist »

ratcatcher is my proof of concept TD. Will be turn based, but whats done with it can be used in real-time too. All its meant is to give me opportunity to code all the TD building blocks and mechanics and assemble it into a basic game.

What ratcatcher will EVENTUALLY turn into tho is abit more... epic.

Oddly enough I never played ZD. I really SHOULD make a point to.

FACM
Higher
Posts: 65
Joined: Sun Jan 24, 2010 5:54 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#33 Post by FACM »

For dialogs, if you grab the newest file on the site (marked 0601510), you'll see how far I've gotten on dialogs. Hit G, and you can see all of the abilities given to your character. I haven't gotten descriptions to show up yet, and they're also almost all red if you have 0 points in it. I'm also about halfway through changing how talents are purchased, though I may move the XPCost value into the talent itself rather than use another lookup function for that. It's mostly cut and pasted from ToME's dialogs, but there's a couple of comments in it (TestDialog.lua) that may help you understand things a little better.

The other dialog, 'm', for using talents is driving me crazy. It won't show up, and the error log in stdout.txt isn't very helpful. Says something like it tried to index a null field named '?'. I'm at work, so I don't have the exact text on me. Plenty easy to recreate, though. I'm hoping that error is just something little I forgot to put into a talent somewhere that's causing it to mess up. If I could get this working, or someone helped me figure it out, I'd be able to start implementing actual in-game abilities. That, and a working level-up dialog and I'd be pretty happy for now. Still plenty more to work on after that, like proper combat rules, opponents, and a proper world instead of a random endless dungeon, but that's a bit later down the road.

I started trying to switch over to my own edited talents yesterday, but that seemed to take me 2 steps back, so I revered back to Saturday's version. Dialogs and talents seems to be the most complicated part of T-Engine, and some more documentation on those would probably be helpful in getting some modules made for it.

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Middle-Earth By Night - [Old World of Darkness]

#34 Post by darkgod »

What does your custom talents thing do taht the engine interface does not ?
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

FACM
Higher
Posts: 65
Joined: Sun Jan 24, 2010 5:54 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#35 Post by FACM »

darkgod wrote:What does your custom talents thing do taht the engine interface does not ?
Right now, nothing. It's cut and paste from the default engine file, to see if I had replaced all of the references to ActorTalents with my version correctly. For some reason, that causes a couple of error that don't appear when using the stock ActorTalents, despite the code being the same. I probably missed something somewhere, but I got frustrated at it and went back to the stock ActorTalents for a while.

In the future, I think that my customized version would get rid of the mastery level value, and keep track of XP costs for each talent individually. This is probably doable with the stock ActorTalents, but might require a little bit of rework to the dialogs to do right. I might also break things down a bit on the actors, so that Abilities (skills like driving, brawl, academics, etc) aren't necessarily in the same table as supernatural powers, and this might just be the same code replacing Talents with Abilities in names. For now, I'd rather get dialogs working and learn those a bit better.

EDIT:

The error I mentioned earlier, when trying to bring up the UseTalents dialog:

Code: Select all

Lua Error: /engine/dialogs/UseTalents.lua:168: attempt to index field '?' (a nil value)
	At [C]:-1 
	At /engine/dialogs/UseTalents.lua:168 drawDialog
	At /engine/Dialog.lua:123 display
	At /engine/Game.lua:94 display
	At /mod/class/Game.lua:242 
Game.lua:242 is just 'engine.GameTurnBased.display(self)'

The main talent definition block :

Code: Select all


newTalentType{ type="base/vampire", name = "Vampiric", hide = false, description = "The common abilities among the Kindred." }
newTalentType{ type="discipline/animalism", name = "Animalism", hide = false, description = "The Gangrel's aptitude towards animals." }
newTalentType{ type="discipline/auspex", name = "Auspex", hide = false, description = "The mystic sight and visions granted by vitae." }
...etc...
newTalent{
	name = "Blood Pool",
	type = {"base/vampire", 1},
	info = "Vampires have a blood pool, which is used to power most of their abilities. Vampires also use up 1 blood point per day to stay alive.",
	mode = "passive",
	hide = false,
}

newTalent{
	name = "Boost Strength",
	type = {"base/vampire", 2},
	info = "You can spend a blood point to boost your Strength by 1 until the end of the scene.",
	--mode = "activated",
	action = function()
		print("Not Implemented")
	end,
	hide = false,
}

...skipping some...

newTalent{
	name = "Celerity",
	type = {"discipline/celerity", 1},
	info = "Celerity grants a vampire 1 extra action per point next turn when activated. Costs 1 blood point to activate.",
	points = 5,
	hide = false,
	-- action = function()
		-- print("Not Implemented")
	-- end
}

EDIT 2:

http://drop.io/MEBNToMe4/asset/mebn-060910-zip - Latest code. Using stock talents and UseTalent dialog, the latter of which fails. Did some slight fixing to skills. Added in placeholder skills for Animalism to test out with the UseTalent dialog, which didn't change anything.

I may get off of this talent/dialog issue for a while, and try to implement more of the Storyteller system. Right now, its basic melee combat. I may try to add in dodge and soak rolls into combat next.

FACM
Higher
Posts: 65
Joined: Sun Jan 24, 2010 5:54 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#36 Post by FACM »

Figured a new post was in order, rather than a 3rd edit.

I got purchasing talents to work with my current talent setup, though I'll need to make skills scale in cost as they go up in level. I also added in the stock animals from the back of the core book, though I've put off testing/implementing them for another day. Perhaps tomorrow.

FACM
Higher
Posts: 65
Joined: Sun Jan 24, 2010 5:54 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#37 Post by FACM »

I hope that no one minds that I'm using this thread as a development journal. It's just very convenient for me to do so. If it bugs you, I'll quit. I figured that someone else might be curious as to how to make a module, or see into module development a bit. Not that I spend a lot of time per day doing it (1-2 hours tops, since after my 9-5 job I don't have a ton of desire to spend the rest of the night coding).

Today I fixed up the stock animals, and put the full set of rolls for melee brawling combat in place. I also removed the default kobold enemies, and put in some notes on making your own monsters for the default generator class. Turns out, most animals can really mess you up fast in World of Darkness combat. Being that the game was more or less meant for party-based combat, I may need to turn things down a bit (or buff the player, the more fun option). Then, having activation powers working would also be a big help, but I'm still not really ready to get that fixed, considering when I cut and paste one of mine into the example module, it works with nothing but a talent_type change. Latest code, which is starting to become worth looking at, is up at the usual spot [EDIT: rather, it would be if my DNS server wanted to cooperate].

Also found a small bug: color names (at least for monsters) don't seem to match up with what they should be. Brown and Grey both end up as black.

FACM
Higher
Posts: 65
Joined: Sun Jan 24, 2010 5:54 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#38 Post by FACM »

Quadruple-posting looks terrible, but I wanted this to stand out.

I finally got my test dialog set up to activate usable talents. I couldn't figure out what was wrong with my setup that kept the engine's UseTalents.lua from parsing out the list, but I found that my current TestDialog.lua only needed minor modifications to work. For now, you'll use a talent by opening the dialog with G, selecting the talent you want to use, and hit Enter, rather than having a separate dialog for it. I've got some comments in place on what I did, so if you've got questions on how I did it download the newest file and take a look.

Beyond that, I've also gotten in placeholders for more of the discipline abilities, and pared down the inventory system for now to just handle weapons, armor, and inventory items.

Canderel
Sher'Tul
Posts: 1252
Joined: Mon Nov 24, 2003 2:31 pm
Location: South Africa

Re: Middle-Earth By Night - [Old World of Darkness]

#39 Post by Canderel »

Quadruple-posting looks terrible, but I wanted this to stand out.
I'll help you out! :-)

I got the latest source, thanks for going with it, I am looking forward to this!

Canderel
Sher'Tul
Posts: 1252
Joined: Mon Nov 24, 2003 2:31 pm
Location: South Africa

Re: Middle-Earth By Night - [Old World of Darkness]

#40 Post by Canderel »

The eventual module! :-)

Well, went with brujah, and got smacked... you're right the WoD system has very little health to talk about. So protecting your nuts is vital.

Baker
Higher
Posts: 76
Joined: Tue Jun 08, 2010 12:12 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#41 Post by Baker »

Well, went with brujah, and got smacked... you're right the WoD system has very little health to talk about. So protecting your nuts is vital.
Yeah, reworking the oWoD system for a roguelike will take some thinking. I think there's only like 7 health levels total in vanilla oWoD and surviving anything is basically done by not getting hit or soaking the damage with armor or powers.

How is this currently realized in the module? I'd look myself, but I don't have access to a computer running Windows at the moment and the Linux version of ToME keeps segfaulting.

FACM
Higher
Posts: 65
Joined: Sun Jan 24, 2010 5:54 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#42 Post by FACM »

Baker wrote:
Well, went with brujah, and got smacked... you're right the WoD system has very little health to talk about. So protecting your nuts is vital.
Yeah, reworking the oWoD system for a roguelike will take some thinking. I think there's only like 7 health levels total in vanilla oWoD and surviving anything is basically done by not getting hit or soaking the damage with armor or powers.

How is this currently realized in the module? I'd look myself, but I don't have access to a computer running Windows at the moment and the Linux version of ToME keeps segfaulting.
Currently, until I get a dialog up for proper character creation, every stat is at 2. I think that I may change the 7/5/3 stat allotment into 14 points to distribute as the player wants across stats, with an automatic 1 in everything.

The stronger random animals can get 7-8 dice for damage, and 10's rolled count as 2 successes. So yeah, the enemies are gonna need toned down for single-players or players will need buffed. It's going to be sort of rough for a while still. (Oh, I also need to put in the Blood Healing ability, which will help since vampires shouldn't regenerate otherwise). I just need testing and feedback more than anything else, as I have all the books I'll need to refer to for systems.

Right now, to get something working, I have the 4 typical damage types (bashing, lethal, aggravated, and unsoakable), but I only use standard HP for actors. I was starting to put together how to use health levels in my head. Not completely sure how to do write it out in Lua, but it will probably be a table of tables, like this:

Code: Select all

healthlevels = 
{
     {index = 0, dam_type = "none" },
     {index = 1, dam_type = "none" },
     {index = 2, dam_type = "none" },
     {index = 3, dam_type = "none" },

}
dam_type will contain what damage is in that health level, and I'll need to do checking so that damage rolls over properly (After filling all the damage levels with bashing, they translate into lethal starting at the lowest one, lethal turns to aggravated in the same way). My friends ran with a house rule that each health level held 4 points of damage, rather than 1, which made higher-level combat last longer and less of a contest on who could one-shot the other guy first. I might run with something like that for the player and important NPCs, and leave mooks/animals/etc at 1 point per level.

If you want to help out on development, you can help me figure out what needs to get coded in next. I'm working on getting placeholders for all the discipline abilities up to 5 in place, and then a character creation dialog and possibly table-based health levels, but after that I don't currently have a next step in mind. And there are a lot of things that still need to go in place.

Baker
Higher
Posts: 76
Joined: Tue Jun 08, 2010 12:12 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#43 Post by Baker »

After reading up on it a bit, it seems like the nWoD has mechanics for granting extra health levels to characters. Have you thought about using the new rule set? It's not strictly oWoD flavor wise, but some of the new mechanics look like they would be suited much better to a computer game than the old ones.

I'll look at your module in detail once I've got access to a Windows box again, but I don't know if I can be a lot of help. I'm a programmer, but I know next to no lua and what you should work on next depends more on what you want to do anyway.

Antagonist
Higher
Posts: 71
Joined: Sun May 23, 2010 9:55 am

Re: Middle-Earth By Night - [Old World of Darkness]

#44 Post by Antagonist »

New health types is easy.

Look at the /engine/interface/ActorLife.lua file I think it was, thats how hp is currently implemented.

You can either override it (have your Actor.lua class inherit from /mod/class/interface/WoDActorLife.lua or something instead) or just add your own default health methods in addition to it. Just solong as you properly override the combat interface too, which I beleive you are planning to.)

The turning life into a table thing is an interesting idea, you can make cool generalized projector methods with it. In general tho you'd want to find all possible health 'levels' and have them implemented.

You can also implement health levels as resources. These are properties created for you from the load.lua file, with regen and all that built in. I'm not familiar with the WoD, so I am unsure if this would be suited.

FACM
Higher
Posts: 65
Joined: Sun Jan 24, 2010 5:54 pm

Re: Middle-Earth By Night - [Old World of Darkness]

#45 Post by FACM »

In the latest upload, I've got character creation dialogs in place. They're a little bit buggy (it gives you STR 10 / DEX 10 automatically, I can't figure out why) but they work for the most part. I've also finished the placeholders for disciplines finally, and turned on logging for all the rolls again. I suspected something was wrong, but apparently without seeing the RNG my setup was constantly botching the first attack despite a ton of dice. I also suspect the RNG favors lower numbers, but I can't really confirm that without using a random seed.

For survivability, if you want to see the mechanics in play a bit more, pick Catiff. They get the 3 physical disciplines (Celerity isn't working yet), so max out STR, DEX, STA, Dodge, Brawl, Potence, and Fortitude. That should give you die pools of about 20 or so for attacks and damage right now.

DarkGod, Question on dialogs: In my code, you might notice that I call registerDialog() twice in a row, and that in-game they take precedence in the wrong order. (That is, I call TalentDialog then StatDialog, but StatDialog has focus over TalentDialog in-game). I assume that means that dialogs aren't modal, and don't actually pause execution of the main code while they're displayed. Is there an easy way to fix that?

With character creation more or less roughly working (details on the talent screen need filled out, and maybe skills should be split off into a third screen), perhaps I should work on that health level thing next. That may take a couple days, and I'll probably try to implement a couple of the easier physical talents as well. This is going to be a heavily physical game for most of early development. I'll have to start setting up a world and NPCs before there's much for social stats to do.

Post Reply