SP Native [WB] Blood and Steel 2.0

Users who are viewing this thread

A completely odd and random question have you found a way to fix the battle map that in the original just dinit work, and that it would only change if you open and close the command menu in battle?
 
Okay so i haven't been on here for a while, but blood and steel was one of my fav mods. Im wonderin if the testing version is out and whether or not i missed it. Im also wondering if you are going to use the vanilla politics, or go with something more like diplomacy/diplomacy4.litium(did i spell that right?) , or if you might just make your own politics system. Im also wondering if there will be any new troop trees (apart from the new troops in the blood and steel like the giant tank things and the dark remnants, golems, etc). Cant wait to play this. :party:
 
xenoargh said:
For really distant objects, there are probably some fundamental limits on where the shadowmap stops getting rendered to a Scene, but frankly, I've never tested that. 

far_plane_distance is the maximum clipping distance and influences the depth-map, which should address issues with fog, but I doubt shadowmaps are effected, because of resolution limits (although frankly, I don't know; maybe shadowmaps are stitched internally into a megatexture- I don't think so, though).

Moving stuff into the skybox space, if using the old HDR system, would mean that you could simply render the objects along with a sky in <pick your favorite application> in a panoramic view suitable for stretching around the sphere; that seems like a solid way to make sure the shadows are consistent.  However, this would mean syncing up shadows with the lighting in the HDR really perfectly, which is one of the many time-consuming boring things I want to entirely quit worrying about this time. 

What I want is a system where I plug in some variables and boom, custom sky.  And yes, that could be used for dynamic, real-time effects, although altering the sun's primary vector would mean rebuilding the shadowmap, which isn't practical frame-by-frame.  I could certainly change its colors or whatever dynamically, though.

The issue looks like this:


you can see the mountain in the back behind Helm's Deep is not affected by the fog.
 
For objects that far away, one answer is to transmit a <fog value> via a shader uniform, and then use that and the camera's position to create a somewhat-accurate representation of the depth fog based on the distance of the vertex from the camera.  It won't be quite the same thing, but at far distances like that, with fog everywhere, you just need it to be blending into the sky colors; players are going to be paying much more attention to what's near them than that far away.

Meanwhile... I think I've largely cracked the problem of doing a procedural starry sky, but I still need to test a few things :smile:
 
Behold, a starry night.  Looks best at full resolution.

Believe it or not, figuring out the math for this part of the sky shader took 3 days, just to put up random-enough "stars"  :facepalm:
BS_sky_shadertest001.jpg

Along the way, I discovered that:

1.  The skybox always moves with the game camera, whether set to or no.
2.  I cannot, for the life of me, get the game camera's XYZ position derived from the available matrices in a way that makes sense.  Would've made this much, much easier and cheaper to compute.  Ah well.
 
Jesus Christ, its moving faster than ever.
Also, those shaders make the ground look pretty, but I'm guessing they'll take a bit of power to compute.
Given the size of the average battle on BnS, I can't sincerely say I'm not worried, but at the same time, sincerely CAN say I am excited to try it when you release it.

Also, given the mod already has a medieval mecha, any plans for custom factions beyond the light and dark? Maybe even new lieges, and maybe even lieges that we may even be more inclined to follow since vanilla kings were mostly terrible people?

Not saying I expect any of that stuff since the implementation of the high speed action, looter numbers, new weapons and special troops are more than enough for me to have a good time.
 
I'm not talking a whole lot about the strategic-level game, other than to say that it's going to be completely different.

One of the first things that happened, about a year ago, was that I tore out the entirety of the Lord Code... and about 80% of the Module System code in general.  I decided that if I was going to do this thing again, I'd do it right this time, starting with trashing all of the stuff that I knew I wasn't going to care about, like Butter Boy  :lol:
 
Screens, showing a few things; water, the effect on skies, the parallax shader responding to the skylight. 

BS_sky_shadertest002.jpg

BS_sky_shadertest003.jpg

BS_sky_shadertest004.jpg

BS_sky_shadertest005.jpg

BS_sky_shadertest006.jpg
Please forgive the grass; that shader's not done yet  :lol:

I know this kind of thing is boring, when you're waiting to see Giant Armies of Dewm... but 99% of the real work on mods consists of endlessly iterating, testing and refining things like this, heh.

 
xenoargh said:
Screens, showing a few things; water, the effect on skies, the parallax shader responding to the skylight. 

Please forgive the grass; that shader's not done yet  :lol:

I know this kind of thing is boring, when you're waiting to see Giant Armies of Dewm... but 99% of the real work on mods consists of endlessly iterating, testing and refining things like this, heh.

It’s not boring - fascinating to see how shaders can change the mood/flavour of Warband’s landscape.  :grin:
Is a moon possible at night - presumably it would have to always be a full moon (repurposed sun)?
 
Well, we'll see if I can beat Bannerlord out of the gate :lol:

Meanwhile... I've been doing one of those boring things that has to get done to make the mod work the way I want it to, in terms of feel.

One of the things I'd like to do this time is to get the feeling of the whole thing a little more in line with my concept of the backstory, where this is a world where there used to be a more-advanced civilization (the Ancients, referred to in a few places) but it's now in a phase of Medieval-ish technology.

Essentially, to get from A --> B, I need to work on the Art Stuff, most of which has been gradually messed with at various points, largely in the interests of optimizing what was already in, adding new things or tweaking the quality, etc., etc. 

When I first built the mod, I was primarily concerned with the code side- just Making It Work ate most of my attention and time.  Then I spent a lot of time worrying about bug-fixing, adding new features, and optimization, so I just didn't spend a lot of time on the whole look-and-feel thing.  Warband was new and this was fine; I didn't want to start a huge team and have to run around promising the moon, or take as long to produce the mod as some of the other projects did. 

The result was that everything was kind of a compromise, visually.  Some elements didn't work with others, very little of it served the setting... and I know that it was all kind of silly, but hey, it was FUN, which was the main goal.  This time, I'm aiming for a little less silly (while retaining the fun / weird things) so I'm in the process of eliminating all of the extra junk that I feel didn't add much to the mod, or that really makes the mod feel like a pretty specific period.  So, what to expect is that the mod's artwork, in particular the costumes, will go in a new direction.

I started this project last week, with work done on incorporating new helmets, in particular new helmets specifically designed for women to wear.  I'm actually kind of happy about this; in general, female helmet designs in Fantasy settings are either utterly impractical, or are just male helmets thrown on female models, much like how in modern militaries, helmets are "unisex" but are clearly designed for men.    Either way, it doesn't feel right; women's heads, necks and shoulders are considerably different, on average, from men's, and helmets should reflect that, without being utterly silly or impractical.

So, after designing a few new helmets, I've been spending my free time this week culling all of the less-than-awesome content from the mod.  For those of you who are big fans of the sheer variety, not to worry; I'm just cutting out the stuff I really felt wasn't up to speed, not getting rid of all of the classics.  But you should expect things to start feeling really different in screenshots from here on out; I'm pretty convinced that the right thing to do is to make the whole thing feel like Not Calradia Any More :smile:
 
So, what's gotten done this week?

I'm working on some of the Big Code Things.  Largely this has consisted of killing game menus we won't ever want to see again and other pruning, yay rah.  I've learned a lot from this process.

1.  You're killing me, smalls TW.

Man oh man, there's a lot of hard-coded stuff in this game's core that's not documented anywhere; module_game_menus is chock-full of "gotcha" code (stuff that forces a certain flow, but isn't properly documented and behaves in unexpected ways).

For example, hitting the "Camp" button is actually an Encounter with p_camp_bandits.  Why?  I dunno; I'm guessing that it's because the Camp button was added after the Encounter / Dialog systems were in place, and it seemed easier to pass a stock Party ID to game_event_party_encounter for <reasons>.  I really don't know why there isn't just a game_event_camp_button_pressed callback, because that would have been a simpler and cleaner design. 

Another example:  mnu_tutorial is a hard-coded integer call; move the Menu around in module_game_menus (to, say, clean things up for readability's sake) and boom, you've broken the game entirely.  Same with mnu_reports and, weirdly enough, mnu_start_phase_2, which is triggered from the initial pick-the-look-of-your-character system. 

I really, really, really hope Bannerlord doesn't have quite this much Kludge in it.  This isn't exactly intuitive to navigate, when we want to do massive tear-out of existing code.  But, hey, it's largely Done, other than adding in new features.


2.  So... new features, you say?

I'm not going to talk a lot about this, because my weekend coding-time largely got eaten tracking down and killing these issues, which eventually worked itself out. 

But... let's hit the major highlights of what's largely functional, at this point.

Code Flow Stuff:

Towns, Castles and Villages are all handled by one core piece of Menu code (with ancillary Menus where that made sense), well-organized and documented and not subject to hard-coded problems.  This core allows for a smooth logic flow and more importantly, makes it so that Centers are generic objects we can alter without <serious hackery>.

Gameplay Flow, Loop and Design Considerations

What does that mean, for players?  Basically, with a lot of the junk cleared out and something vaguely like a clean slate... it's finally time to really consider features and how the game will feel at the end of the day.

One example:  you'll be able to go to the Tavern and visit Merchants and recruit troops from any location.  What that means, exactly, depends on the location- for example, if it's a really poor village, then you might find just one Mercenary in the Tavern; in a wealthy city, you might be able to recruit hundreds, if you've got the money. 

You'll also be able to attack any location for fun and profit.  Wanna take over a village?  Fine, now you can do that.  In fact, that's probably how you'll want to start your first kingdom.

You'll also be able to upgrade any location so that its population will grow, leading (eventually) to it becoming a thriving city.  This will take time and serious money, however.  And yes, the icons will update as the location grows up, etc., although I'm not sure how fancy that'll be just yet.

But more importantly, centralizing things means I can finally clean up all the stuff that was kind of lame without huge hackery or a lot of bug-inducing headaches. 

Instead of the pretty-boring Farmer Quests, etc., I'm going to code up a "quick Adventure" system, where you just ask for something to do, and voila, there's something reasonably nearby that needs doing (usually, in the form of a fight, because it's Blood and Steel).  For example, let's say you're a low-level newbie adventurer and you need some money to build your first pathetic army with.  You'll hit up a local village and ask for a mission, and voila, there will be a low-level enemy army generated on the map nearby, that, if defeated, will give you a cash reward, on top of the usual rewards for defeating same.

This system should get rid of the "I'm too poor and low-level to fight anything, Looters aren't generating any more and I suck too much to get anywhere" problems a lot of people complained about (which is why there's a Casual Gamer mode in the mod, frankly). 

So, instead of a difficulty curve ranging from, "I'm barely competent to play the mod" to "I really understand the order system, how to fight, and what troops to use to steam-roll" like how it was before, I'm hoping for a more-forgiving feel, where players can get little battles early that help them figure things out.  As they become more competent and get a better army, the challenges will move with them; a little party of Looters will become a big, scary army later on.

I've also gotten entirely rid of the "defeat means your Companions are scattered everywhere" thing from Vanilla, and a bunch of related things like that, because, frankly, it just gets in the way of the Fun. 

Losing your entire army because you weren't up to the job is bad enough (and usually leads to save-scumming by the optimax players anyhow); but having to hunt down your otherwise-immortal Companions and free them from dungeons via a somewhat-lame fight sequence (or bribes, if you have the hand-eye coordination of a drunken hamster) is just a huge time-waster and is only vaguely interesting once.

Instead, if you lose, fine, your army's destroyed, and you and your Companions can now run away.  Period.  No more getting dragged around the map, either, because that was also sometimes not-fun and boring.  Just go, already; get back to having fun.

So... yeah, I'm not going to give away all the details about how all this new stuff will work, but... I think everybody gets the idea here.  About a third of it got written this weekend.

Expect a hugely streamlined, cleaner experience, where you aren't doing boring stuff and the game's loop- go out, kick butt, sell the loot, upgrade your people, repeat- is heavily emphasized, rather than being something that I'd wager only a fraction of the original players really figured out.

Obstacles

I should mention that I still have a huge piece of work to do, in the form of removing further junk from the core scripts, and at this point, I'm pretty well committed to making a lot of new content (including new maps, sigh).

A lot of the code-side stuff is done; the Lords are no more, the kingdoms are ready to behave in a way that I want, more or less, where they serve as foils to the player's actions and (eventually!) provide a framework for taking on the final series of adventures (i.e., doing something about those pesky Death Knights, or whatever they morph into, finally).

But I probably should be cautious and say that there's a lot of interlocking code I haven't totally unraveled yet, lest I create major bugs.  The start of the game's one big issue; I'd really like there to be some replay value and that probably means some procedural elements; that, in turn, means that it's possible that I'll be working on that area for a week alone.  I think that it's starting to move a lot faster now, though, now that I've gotten the nastiest things solved.

Content Needs

If anybody cares to lend a hand... I could use some modular assets to construct the new towns, fortresses and villages with.  What I'm wanting is something vaguely futuristic, apocalyptic, modular (in the sense that I can mix and match structural elements to build larger scenery).  For example, a ruined building for Scenes might be using floor unit sections, a working fortress might be a mix of some modular walls and tower units, etc., etc.

If it'd help, I can provide concept art stuff.  The main issues with this side aren't skill so much as time; I want things where we're re-using texture assets constantly to keep below Warband's 32-bit memory limits (although my other changes to content have already really helped that) and I'd probably be mastering them, etc. or at least providing guidance.  This is something where (ideally) I'd get excellent low-poly work designed for a texture-atlased and multi-mesh approach, because there just aren't any other great ways forward.  But I'm really quite committed to the idea that all of the medieval Stuff is going bye-bye.

Anyhow, if anybody's vaguely interested, hit me up for concept roughs; I'm way too lazy to do Super Duper Concept Art, but I can give George Lucas --> Ralph McQuarrie levels of direction.
 
OK, the Quick Adventure system's roughed out and I think I've killed all of the bugs in the guts dealing with major state-changes.  Everything from Dialogs to Game Menus is, surprisingly, working according to plan  :lol:

I already love the Quick Adventure system, even as crude as it is now (basically, it just spawns a bunch of Looters you can fight, near the town you made the request at).  I hated chasing low-level parties around the map, just to get that initial army going, and if I never ever EVER have to do the Bandit Quest again, it'll be too soon.

Now it's time to test taking over locations (i.e., the situational code that replaces the old Siege stuff); that'll probably take a bit of testing to get it totally clean.  I think that the right approach is to de-couple that code from simple_encounter (which is quite a bit simpler and cleaner than the original now) and build out a custom Mission Template specific to the two major scenarios:  one where the defenders stay put behind their walls, one where they come out to fight.

Once that works... it's time to write the upgrade system's skeleton version and a few more features for Towns.  Then, Faction AI... and then... well, the fun stuff, like adding a bit of meat to the sandbox and the long-term event stuff. 

I'm kind of excited, frankly; this is going a lot easier than I expected.  I guess all the work put into blowing away the guts of Vanilla is really paying off, finally.
 
You'll also be able to attack any location for fun and profit.  Wanna take over a village?  Fine, now you can do that.  In fact, that's probably how you'll want to start your first kingdom.

This is great! I think also quite realistic. Another avenue for the player to start out :smile:

Instead of the pretty-boring Farmer Quests, etc., I'm going to code up a "quick Adventure" system, where you just ask for something to do, and voila, there's something reasonably nearby that needs doing (usually, in the form of a fight, because it's Blood and Steel).  For example, let's say you're a low-level newbie adventurer and you need some money to build your first pathetic army with.  You'll hit up a local village and ask for a mission, and voila, there will be a low-level enemy army generated on the map nearby, that, if defeated, will give you a cash reward, on top of the usual rewards for defeating same.

This system should get rid of the "I'm too poor and low-level to fight anything, Looters aren't generating any more and I suck too much to get anywhere" problems a lot of people complained about (which is why there's a Casual Gamer mode in the mod, frankly). 

So, instead of a difficulty curve ranging from, "I'm barely competent to play the mod" to "I really understand the order system, how to fight, and what troops to use to steam-roll" like how it was before, I'm hoping for a more-forgiving feel, where players can get little battles early that help them figure things out.  As they become more competent and get a better army, the challenges will move with them; a little party of Looters will become a big, scary army later on.

This is my favourite part of this post :smile: The focus is more on the player exploring villages, and learning that there can be rewards to simply talking with people. How were you able to communicate this to the player (i.e that talking with villagers lead to quests / mini-adventures?)



Slightly unrelated question: I wonder if you'd be open to making your code-base a 'template' / 'foundation' for future mods to use (like how Floris / Brytenwalda is). With so much improvements and clearing up, it allows for future modders to avoid some of the inconveniences presented by the current module system. I know you have always provided your source, but just wanted to know what you think about this idea :smile:

Thanks again for your continuous work on improving WB!
 
The source has always been released and this version's very well documented, compared to past revisions, and, well, there's a lot less to wade through, which oughtta help :lol:

I suspect that this version will be clean enough that it'll be moderately attractive as a jumping-off point, although at this late date in Warband modding, I doubt if it'll get used much; some poor soul will start a mod and whoops, Bannerlord has been released :iamamoron: 

And yeah, I'm looking forward to being Jarl of Ryibelet and Connected Fiefs, personally; I've always found it awkward that Villages are magically attached to Castles and Towns, when really, they were all just conurbations of one kind or another, IRL, just at different scales.  But now that the setting's... going somewhere else... I really felt strongly that it was time to have fully-dynamic locations that worked.
 
I’ve always wanted to start out as a small time lord, building a village militia/garrison, and then using that security to build a prosperous growing town.

That’s a big part of what Mount & blade should have always offered.
Not just conquering a castle and having nothing to do with it except leave my **** there, but instead to be able to invest in it to make it visibly and functionally a better place.

Also quick adventures sound cool. Now if only the game could multi-thread to process big battles properly.
 
Back
Top Bottom