[crossfire] The future of Crossfire

Nicolas Weeger nicolas.weeger at laposte.net
Sat Jun 2 04:07:44 CDT 2007


I realize my previous mail was quite vague, so I'll try to expand some :)


What I mean by a fun game covers many things:
* a coherent world. What is the story of Scorn? Why is there an underground 
city? This should be, at least partially, part of the game (for Scorn it's 
probably already the case, I don't know). Ok, we can have unrelated maps, 
sometimes, but let's try to not abuse that :)
* coherent also means "if Navar bans undead/necromancer, why can an undead 
player enter?"
* more non hack and slash quests. HnS/grinding can be fun, but it shouldn't be 
the only point. Make players think, force'em to know or travel the world, 
things like that make the game fun - assuming traveling is fun too.
* as Mark said, we don't have tactics for now. Just go straight in monsters, 
if wrong sword/spell, oops, too bad, you're dead. IMO, there shouldn't be any 
way to die suddenly without some warning (concrete example: entrance of 
wizard tower, monsters you see are just birds/goblins - but if you don't take 
attention you fall into a pit and face 3 red dragons, oops). I am not 
advocating removing danger, or having a game where you can't die. Just that 
there should be more game balance about how fast you die (of course, if you 
ignore all warnings before doing the fire god, you'll die pretty fast, but 
that's because you didn't pay attention to the clues)
* defined classes and races, with their limits. Currently, except the 
meditation skill of the monk, profession doesn't matter at all, you can get 
all skills. As you said, items usable only by some classes, or maybe limit 
the maximum skill level, or whatever. Or make it harder to train in things 
you don't use, whatever.

Concerning static NPCs, yes, they are static - which is why you can script 
them using Python, using the animator (hopefully it isn't too broken). IMO we 
could almost have a special script per "important" NPC, that is part of the 
game. Scripting is programming, so we developers shouldn't have too many 
issues with that ;)
And I'll also add, quest rewards could be scripted items, too. Fun example is 
the Occidental Mages weapons/rings. Scripting items isn't hard, and can be 
used to make interesting things (rhyzian amulet that works like a GPS).

I agree map content (and graphic content) don't expand fast enough. But we 
must try to keep some coherence. Adding yet another HnS map is easy, doing 
a "real" quest takes more time. Just look at all abandonned maps in the 
tree :)
Of course an incremental process can be done. Add a small map here, another 
there, link them, add some salt/hints, you're done.
That's also why I (kind of) started to list quests, to know what exists, what 
should be improved/cleaned, and so on.
Note that my mapper was improved to display "real" exits to other maps, closed 
exits, roads, so we can easily see what the world looks like.

About removing stuff, yes, we should remove/rewrite/rebalance maps. But that 
should be done when we know what we want, not before.
The same is true for archetypes - many are not used, and could be. And we 
could use much more archetypes (last time I tried to make a house, I couldn't 
find a sink, cupholders, you name it ;p).



Code-wise, I'd like some documented things. How is slaying supposed to work? 
What are materials supposed to do? What does "undead" mean? How are monsters 
supposed to behave (see the bug about dark elves)? Some are obvious, some 
aren't, and need to be decided.
I'd like to see some parts of the code rewritten, or simply trashed (obsolete 
protocol).
On the other hand, this shouldn't be our aim - our aim is the fun part above. 
Code should be there to support the game. Got 5 mins? better work on a small 
map than do code :) (unless it's correcting bugs)


I agree some things can be kepy: 2d view (but then, what perspective?), 
overall combat and spell system, maps format. But we need to balance a few 
things.



So, concretely, the steps I'd do are:
* decide how to plan/expand the world. What are the large regions? What is 
their history?
* add this content, partially, in the game. Give relief to the world (what is 
the story of the dragon hangars? why is pupland terminal like that? you name 
it)
* work on speed/ac/wc balance. Maybe not rewrite from scratch, but think 
really hard about it
* document, document, document. We should have enough documentation so that 
anyone wanting to contribute can be pointed to the wiki/source tree and check 
rapidly "what kind of maps are allowed in Brest?". This also covers "what are 
materials supposed to do?", "how is slaying supposed to do?", "can an undead 
dragon enter the dragon guild?". We also need documentation for when people 
drop from the project and leave some partial stuff.
* if possible, use the unit testing framework. Probably mostly for high-level 
stuff, but we can try to think of weird stuff. Granted, meaningful unit tests 
are hard to write...

If I were to do a weird comparison, I would say I'd like a combat system kind 
of like Diablo II. You can die unexpectedly, but you can also plan, 
collaborate with others, retreat when needed, ...
On the other hand, I'd like much more thinking/non HnS stuff :)

The Pupland example is quite interesting (though I don't know all its gory 
details ;p). Different quests, thinking from the player, complex intrigue, 
all this is fun.



A last thing. We sometimes don't know how to decide between different 
possibilities. That we should fix. We need ways to decide.
Ideally, we should have a "map supervisor", a "graphics supervisor", a "game 
balance supervisor", a "code supervisor", people who try to maintain the 
overall coherence and can decide if/when we don't reach a consensus. 
Unfortunately, right now, we're not really enough for that, I'm afraid. So 
we'll have to do our best :)
And I do realize up to now the way to decide is "you code and commit, you 
decided for others" (not a criticism, I did enough of that kind of decision 
^_-)


Nicolas
-- 
http://nicolas.weeger.free.fr [Petit site d'images, de textes, de code, bref 
de l'aléatoire !]



More information about the crossfire mailing list