Vangard

Ha ha, I’m considerably older :slight_smile:

I’m probably one of the oldest people on the forum, but I’ve only been programming professionally for a few years.

Thank you for your kind comments on my game, but it is still only about 2% done, so at the moment it is mostly hot air and dreams. But I am having fun writing it.

man, your code looks young, take it as compliment ;D

You know what? I think we should collaborate one day. If we both like social simulators, we probably think alike. That might not make sense, but whatever :wink: Anyway, I’ve made about 2% of progress with my game too, so I wish us both good luck, we’ll both really need it. If you’re way older than me, you probably dunno how awkward it is to be the only kid of my age to be able to program pretty well in my class (I mean the school kind of class, not the programming kind).

About Vangard, isn’t there a card game with that name? And also, the graphics may look goofy, but take it from me, it’s unique. You should probably experiment with the current design style, it may turn out pretty awesome.

You’re right there is a card game called Vanguard, but this game is spelled Vangard. It is one of the worlds of Norse mythology, along with Midgard (Earth), Asgard (where Thor and Odin live), Hel… Vangard is the realm of the Vanir - a mysterious set of rival gods to Thor/Odin that are hardly mentioned in the myths, except that they fought an inconclusive war with the gods we do know about.

I do plan to build on the graphical style I have now, I think the schematic look works well with this being a “simulation”.

I started programming at your age; back then it was all BASIC and green CRT screens (fot me anyway, others had color ZX Spectrums).

Haha, I guess BASIC must have been really popular back then. I only know FreeBASIC :stuck_out_tongue: I wish I could travel back in time.

My Vangardians are paying tax to their chieftains now. 10-40 coppers a day, paid at sunrise.

The chieftain can eventually change the tax rates for different careers (once I have implemented GovernSettlementBehavior). I should make the Vangardians walk over to the chieftain and physically give him/her the money, but instead the coins just teleport. The rationale is that too many housekeeping interactions would make the game a drag for a non-AI player. And I don’t want to add complexity to the AIs either if the added behavior does not look particularly interesting.

I am keeping track of tax arrears, but for now there are no consequences. I suppose people might also refuse to pay their tax (if the chieftain is unpopular) but I haven’t thought that through yet.

Next step is to make my peasants more money-aware. for example, they work frantically all day long even when they have made enough money to live comfortably. So their work activities should monitor their inventory and when their coin count goes above a certain limit, they can stop work and shift to other activities. Of course the coin limit would depend on whether they have a go-getter or a slacker personality.

Another easy thing to implement is to get the chieftain paying the guards, who are currently penniless.

Night time has been nagging me for a while. currently everyone just goes to sleep at sunset (except for guards who take shifts throughout the night). But in early evening I expect the Vangardians to gather at the Alehouse for for merriment and feasting. This would be an economically interesting time of day, with musicians and poets earning their keep, people making wagers on chess and dice games and friendly wrestling matches and so on. It would also be the social time of day, with Vangardians forming bonds with each other and sharing information.

The chieftains are paying guards now. It turned out to be quite complex, in comparison to tax.

for tax, a taxpayer only had to find the leader of their settlement and give them some money at a rate defined by the local laws. I keep track of tax rates and tax arrears at the Settlement (village) level. Employees on the other hand might have multiple employers and their pay rate is defined in their contract so I had to store the payRate (and payArrears) on an employer-employee relation.

One problem I have is that the pay/tax interactions can be long-range, so they will lead to issues with my multithreading. Objects are divided into threads spatially, so long range interactions are forbidden. I thought of implementing a speed of light in the game, where long-range interactions are carried by “photons” that physically travel between the interacting entities. But there is bound to be a simpler way.

A solid currency system is definitely vital in social simulators. I’m glad to see that you’re pushing the limits by implementing taxes and things.

This is fascinating. I almost started an economy simulator around a year back, but for reasons I can’t remember it never happened. Very cool stuff here!

I really like both the look and idea of this game! I’ve been slacking off getting a proper social simulator and economy into my game for a while. My lazy bum just always want to improve the graphics haha. I’m so down to play this once you’re ready to show it off though ;D (I might also have to pester you about how you did a lot of your social simulator)

Thanks opiop and purenickery. I’m supposed to be coding now, but I am just watching the screensaver effect of people milling around the village.

Clearly you should add programmers to the village so they can write your game for you.

Good idea! Problem solved :slight_smile:

Here is a little visualization of the political system, showing villages, earldoms and capitals. White villages are not part of any kingdom (yet). Go and set up your own rebel principality in the blank areas :slight_smile: The grid shows blocks of 1km2.

I’ve been meaning to get round to generating roads, rivers and town plans for some time, so this is the humble start of it. (Getting the right distribution of kingdoms and political power, with enough holes for ambitious players to fill).

This is awesome! Will you really be able to, sort of, rule the land like you’re a king?

Damn. With 30k+ entities, How are you able to handle your cpu from exploding? Can an entity move outside of its own cell and neighboring cells, or is it restrained? For pathfinding, do you perform a whole search from start to goal or do you divide the search from start to goal into shorter paths? For example, instead of doing a search from a start node to a goal node, you split it up so instead you search from start to node A, then from node A to node B, then eventually node Node N to goal node. How many entities would you say are searching for paths within each update cycle? Do entities use pre-processed paths for repeated tasks, such as walking from home to the grocery store?

I think the real figure is around 60k entities now, but there are only 1k humans and a couple of thousand other active entities like animals. The rest are just trees and rocks. Entities can move anywhere; some have an ExploreBehavior that will cause them to visit the entire map (unless they get distracted by a shiny new thing along the way).

I don’t do pathfinding. Entities just move towards their target and have a bit of logic to get unstuck when needed. When entities can go inside buildings, I will need a smarter and more expensive pathfinding solution.

@ShadedVertex, I have the vague idea that being a king/queen would be like a boardgame. You would have diplomacy, tax and construct options, and be able to challenge other powers to battle for control of villages. AIs have to control kingdoms; for human players one must add a UI onto that logic.

A cool idea would be to start from the bottom and make your way to be king.

@ags1 That sounds pretty awesome, and it makes sense.

Hi SuperMario, the idea is to have full social mobility for all entities, both AIs and player-controlled characters.

… But once you have clawed your way up to King, you will dream of becoming High King. :slight_smile:

I would rather be an old hag in the woods, travelling the lands and spreading chaos and rebellion!