• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Banished

LordCrash

Gesperrt
Mitglied seit
16.04.2004
Beiträge
9.599
Reaktionspunkte
1.173
Ich muss euch heute ein Projekt vorstellen, das ich in den Weiten des Internets gefunden habe (erst auf Youtube, dann auch bei PC Gamer). Es handelt sich um ein Spiel mit dem Namen Banished, ein Städte- bzw. Dorfbausimulator mit dem Charme der frühen Anno und Siedler Tage aber mit weit komplexerem Gamplay.

Es geht darum, eine Siedlung aufzubauen und dabei die Bevölkerung über die Runden zu bringen. Dabei muss man die Jahreszeiten beachten und z.B. genug Nahrungsmittel für den Winter anbauen bzw. suchen, man muss Entscheidungen treffen, wie man das Gelände nutzen will, man muss mit Krankheiten kämpfen, man muss entscheiden, auf welche Betriebe man die verfügbaren Bürger verteilt, man muss entscheiden, wie start man die Bevölkerung ausbauen will usw usw usw..... :]

A3.jpg

Das Spiel befindet sich noch in einem frühen Alphastatus, aber bereits jetzt sind die gezeigten Gameplayszenen beeindruckend und das Spielprinzip klingt wahnsinnig vielversprechend (noch einmal mehr nach dem SimCity Disaster). Noch beeindruckender ist, dass es sich um das Projekt eines einzelnen Entwicklers handelt, der im Augenblick noch ganz mit dem Gamedesign und den -mechaniken beschäftigt ist. O das Spiel möglicherweise über Steam Greenlit veröffentlicht wird oder ob sogar eine Crowdfundingkampagne über Kickstarter gestartet werden soll, ist noch nicht entschieden. Ich würde es zumindest schon mal "backen".... ;)

banished2.jpg

Hier ist der Link zu Homepage des Projekts. Dort findet ihr neben viel mehr Infos und Screenshots auch zwei Videos, ein Gameplayvideo, das die Grundmechaniken des Spiels im Frühstadium erklärt, und ein Trailer, der auch fortschrittliche Spielszenarien mit bereits größeren Orten zeigt. Definitiv ein Blick wert! :)

Shining Rock Software
 
Zuletzt bearbeitet:
Sieht wirklich gut aus. Bislang habe ich mich nur wenig mit Städtebau-Simulationen befasst, aber es ist schön, dass Sim City nun ausreichend Konkurrenz bekommt (Banished, Civitas, ...), nachdem es mich kurzzeitig - bis zum Release - doch ein wenig angemacht hat. Wird im Auge behalten und wenn es auf Steam Greenlight auftaucht, davon gehe ich aus, hat das Spiel meine Stimme. :]
 
Ich bin jetzt auch nicht so der große Spieler dieses Genres, aber das schaut wirklich super aus. Alles sehr stimmig und atmosphärisch.
Wenn das Gameplay ähnlich gut wird, dann könnte das echt was werden. :)
 
Ich finde es einfach schon wahnsinnig, dass ein einzelner Mensch, der gleichzeitg Programmierer, Grafiker und Designer ist so ein Spiel völlig alleine von 0 auf 100 auf die Beine stellen kann. Die komplette Engine wurde von ihm eigenständig in C++ gebaut, alle Grafiken selbst erstellt und animiert und das komplette Gameplay samt Tools selbst gemacht.

Wenn das Spiel nicht an sich schon so vielversprechend wäre, würde ich es schon aus Respekt vor seinem Schöpfer unterstützen. :)

Hier noch mal die Videos eingebettet für alle, die nicht auf der Website suchen möchten. Das Spiel ist momentan im Alphamodus, d.h. es sind alle wichtigen Elemente bereits vorhanden und das Spiel lässt sich auch richtig spielen:

Extern eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Weitere Informationen gibt es auf der Datenschutzseite.

Extern eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Weitere Informationen gibt es auf der Datenschutzseite.
 
Oha ... vielen Dank für den Tipp!

Bei dem Titel "Banished" dachte ich an so ein 0815 Hack'n'Slay oder Ego Shooter ... wie man sich doch irren kann! ;)

Das Spiel sieht wirklich vielversprechend aus ... :top:

Hmm, schade das er es noch nicht bei Kickstarter reinstellt. Hoffe das ich es so nicht aus den Augen verliere, ich vertrau da einfach mal auf die tollen Mitglieder im PCG Forum, die mich ( erneut ) darauf aufmerksam machen! :-D
 
Zuletzt bearbeitet:
Sieht echt interessant aus. Ich hoffe er bringt das fertig und das Spiel wird marktreif in absehbarer Zeit.
 
So, es gibt wieder mal ein Update von Banished von mir! :]

Beste Neuigkeit: das Spiel wird voraussichtlich noch in diesem Jahr erscheinen und es schaut immer besser aus....:X


PC Gamer Banished interview: player choice in an indie city builder sandbox game


Ian Birnbaum at 09:01pm September 4 2013

x11-610x343.jpg

Banished, the medieval-ish city building game from indie developer Luke Hodorowicz, raised some eyebrows early this summer when it seemed to come out of nowhere. Tyler was suffering from SimCity fatigue at the time, and beautiful videos of small towns quietly living off the land cured what ailed him.

I caught up with Hodorowicz to ask him a few questions about Banished and his plans for release. Banished will be a free-form city builder in a randomly generated resource sandbox. Sometimes you’ll get a town with a thick forest, sometimes you’ll get rich mines. Each town will build up and survive in a different way. The only story on offer is that these people have been cast out of their homes and have to start over. Everything else is up to you.

It’s also notable for the things it doesn’t have: it doesn’t have any multiplayer or online component, it doesn’t have any combat, and it doesn’t have a tech tree artificially guiding your hand. “It’s really free-form,” Luke said. “I didn’t want to build a game with build trees where first you have to build a church and ten houses before you can unlock building an ironworks. That’s a big disconnect between me and a lot of city builders. I want it to be sandbox, and people can do what they want.”

Banished is headed for release sometime before the end of the year. Keep an eye on Luke’s website, Shining Rock software, and read our interview below.

x04-610x343.jpg

PC Gamer: What city building games are you drawing inspiration from?

Luke Hodorowicz: The thing I draw from most are the Anno games. I’ve always like those, but there’s a combination of a lot of stuff in there. I’ve played SimCity 4 for ten years on and off… I’ve always looked at city builders, whether it’s Settlers or whatever, I’ve always liked the style and what you can build. It’s somewhere in between a game that’s really structured, but you also get this ability to craft your own spin on it.

A big pitfall for solo developers is constantly adding new mechanics and features. Do you think you’ve fallen into this problem at all?

I have a little bit. I had a schedule that I’d pretty much completed back in May or June… This is certainly the type of game that I could work on forever. I have ideas for several different types of expansions and ways to play, combat, more in-depth building that deals with more materials… But if I were to allow that feature creep to continue I would just never finish.

Last heard I heard, combat won’t be in the initial release.

That is still the case, yes.

Why do you think the game is better without it or just doesn’t need combat?

I originally didn’t think the game needed combat. In games like Anno 1404 I always played without combat. I don’t care for it, and I don’t think it’s done well, and I guess it just wasn’t a need for me. I mean, I’m building the game I want to play. So it initially wasn’t something that I was interested in.

x14-610x343.jpg

The decision to avoid multiplayer aspects and combat pushes the focus toward an intimate relationship with the townspeople. Why is that important to you?

I like that you know the townspeople’s names and you know where they live and what they’re doing. You care about the town. My playtesters get really annoyed when they have someone who has lived for 70 years doing a good job at something, and they die… For me, somewhere, that intimacy ends. You get to a city of 1,000 people and all of a sudden you can’t keep track of everybody… But when your town is small and you’re just starting off, you have this desire to make everybody make it through the winter, for no one to get sick.

You’ve described your AI programming as very simple, based on simple needs and preferences. Has this led to any surprises?

Since that post on the website, I’ve changed the AI a bit. It was getting really complicated, so I changed it to this system of needs that’s weighted based on how important they are, and for each person those weights can change. Now there are people who are just idle all the time, and there are people who go into a tavern and drink too much.

x03-610x343.jpg

I saw you post on reddit that a blacksmith fell in his forge and died. How do you lose people in Banished?

For random deaths, there’s a chance per profession for how dangerous it is. There’s a small chance that you may die while doing your job. For someone like a tailor that’s very rare, but someone working in a mine or quarry that’s a little higher. Sometimes you go ten years without anyone dying in a mine, or you might have everyone die in a mine in the same month, and that certainly changes the way you have to react to the game. All of a sudden your workforce is down by 30 people and you have to shuffle people around. You no longer produce anything from the mine, so you have to balance what people are doing and figure out how to get your town to survive after this terrible event has happened, whether it’s a fire or tornado or just random deaths.

You say that the people are your resource. Does anyone ever have to sacrifice themselves for the rest of the colony?

I guess you could get into a situation like that, yeah, but I think it’s more of a case where you’re not producing enough food and you have too many people, so you just have to let 20 or 50 people die off. Or you need to produce some resource, so you have to shuffle people around. Say, you need to produce food so you’re no longer producing clothing or whatever your exports are, so your trade dries up, and then your people are cold in the winter. So you have to make those decisions about how you want to balance those factors. And certainly there are consequences, I’ve tried to make it so there’s consequences in the type of society you have. You can have hunter/gatherer or farming or a combination of both, and each has its perks and downfalls. That’s what I want people to play with as they play the game, figure out what they like and how they want their town to survive, because there’s certainly multiple ways to do it.
There’s no sacrifice to the gods, though, no. [laughs]

What exactly are you playing as in Banished? God? A mayor?

The best I’ve heard it described, I think it was someone on reddit, is that you play the collective consciousness of the town, you’re the greater good of the town that is trying to make the town survive… The player is the good will of the town.

x15-610x343.jpg

Can a town ever be done?

The only way you can really be done is to maximize everything. At some point you’ll be out of land, so you can’t build any more houses without cutting into your food production. At that point, the town is probably “done.” You can throw disasters at it and see how things play out. That’s my plan, but I think that’s a fun thing to do. My testers love it, to build a city and run a tornado through it.

Like building a sandcastle and stomping on it.

[laughs] Yes.

You knew this was coming, but do you have a release date?

[laughs] I wish I did. The reason I haven’t given a firm date is because this is my first solo project. Given my track record so far, I really don’t have a good way to set a date and then not run over it. I don’t want to do that to people. But it will definitely be before the end of the year.

Quelle: Banished interview: player choice in an indie city builder sandbox game | Interviews, News | PC Gamer


Desweiteren gibt es neue Gameplay Videos zu Banished. :]

Extern eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Weitere Informationen gibt es auf der Datenschutzseite.

Extern eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Weitere Informationen gibt es auf der Datenschutzseite.


Und wie immer der Link zur Website: Shining Rock Software
 
Two years ago…

Two years ago today, I started thinking about scrapping 7 months of work on a zombie game. It just wasn’t fun and I couldn’t make it fun. I kept the core engine code, left everything else to rot in my source repository, and spent a month writing the prototype for Banished. I think that was a good decision, even though I’ve spent way more time building it than I expected, and the game is much larger than I ever envisioned.

Sometimes I look back and wonder where the time went. Have I spent days doing nothing? Since it’s the two year mark for Banished I decided to go looking back to see just where my time has been spent.
Let’s see – currently the game has:

  • 4002 external resources (that’s meshes, sounds, materials, textures, object configurations, ui’s, etc).
  • 3.3M of C++ code in 915 files
  • 1.35M of typed resource data in 1397 files
  • 694 submits to source control
I generally don’t work weekends or holidays, so per work day, that’s an average of about 8 resources, 9.5K of typed text, and 1.3 commits to the source repository. I know I spent at least a month of time backpacking in the mountains, worked a few months doing nothing but contract work, and spent time getting the website going, so those numbers are probably a little low.

I suppose that can be considered productive. It still seems slow. If you decide to make a game on your own and write all your own tech, multiply your time estimate by 3. Really. Seriously.

Here’s a pictorial view of how the game matured…. (dates are approximate, build dates on screenshots aren’t always right)

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/001_Feb2011.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/001_Feb2011-300x168.jpg
February 2011 Here I’ve started to get a few of the game engine subsystems running. You can see graphics, pathfinding, collision, and initial UI work.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/002_March2011.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/002_March2011-300x168.jpg
March 2011 Starting a new project makes things go so quickly. Lighting, shadows, and character animation have been added. I also gave the character a shotgun so he could shoot zombies.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/003_April2011.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/003_April2011-300x168.jpg
April 2011 Wait, wait wait. In 3 months I made my own game engine with zombies chasing you through a town and you could scavenge food and bullets from homes, board up windows and doors, and find safe places to rest? Why am I not this productive all the time?!?

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/004_April2011.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/004_April2011-300x168.jpg
May 2011 The engine also supports spot lights and other local lights! Why aren’t they used in Banished?!?!?

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/005_August2011.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/005_August2011-300x187.jpg
August 2011 Everyone is doing zombies. Mine aren’t fun. Let’s try rocks and trees and characters that are a single box instead. After the prototype was built I went backpacking for a month and really considered if leaving my job to make games on my own was a good idea…

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/006_December2011.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/006_December2011-300x187.jpg
Decemeber 2011 The prototype was nice so I decided to keep going. I rewrote a lot of code, added nicer terrain and rivers, and added a forester to manage the woodlands. Apparently I am also unable to make prototypes with stub art. Skyrim came out in November. Progess was slow for a while.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/007_January2012.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/007_January2012-300x168.jpg
January 2012 Added seasons to the game, as well as more buildings. Blacksmiths have to create tools, and you can fish in the river! Also added roads and bridges.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/008_Feb2012.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/008_Feb2012-300x168.jpg
Februrary 2012 Despite being simple, I really like playing this game. At this point I’m really glad I didn’t keep going with the zombies.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/009_April2012.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/009_April2012-300x168.jpg
April 2012 Farms get a facelift. I added multiple crop types each with their own artwork. I added particle systems and deer in the forest as well.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/010_August2012.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/010_August2012-300x168.jpg
August 2012 I adding a lot more buildings and townsfolk mechanics. There are now Town Halls doctors, orchards, trading posts, and sixteen occupations for the townsfolk.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/011_Feb2013.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/011_Feb2013-300x168.jpg
February 2013 The UI Gets a facelift and the townsfolk finally get animated. I added maps, schools, and added gathering food and herbs from the forest as an alternative to farming. Feature Creep!

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/012_April2013.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/012_April2013-300x168.jpg
April 2013 Isn’t this game done yet? I’m really enjoying playing Banished. Sometimes I waste a day (or three) playing instead of working on finishing the game.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/07/013_July2013.jpghttp://www.shiningrocksoftware.com/wp-content/uploads/2013/07/013_July2013-300x168.jpg
July 2013 Uhh, who destroyed my town? That was a lot of work. Now I have to start over.

Happy Birthday, Banished!

Quelle: Shining Rock Software
 
Mh, erinnert mich stark an Die Siedler, da hat es einfach auch Spaß gemacht zuzuschauen, wie die Häuser gebaut werden und die Leute arbeiten während man die Zeit verstreichen ließ, weil resourcen fehlten.

Danke für den Tip
 
News & Trailer

Over the last few months I’ve gotten a lot of questions as to how the game is going to be distributed – and today I’ll make that announcement. Banished is going to be available for purchase on Steam and also available for purchase directly from Shining Rock Software.

I know everyone wants to hear a firm release date, but I’m not giving one out today. I should have a definite date to share soon. I’m no longer adding new content to the game. From here on out it’s all testing features, fixing bugs, and smoothing out the gameplay experience.

Oh, there is also a new game trailer. Enjoy.

Extern eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Weitere Informationen gibt es auf der Datenschutzseite.

Shining Rock Software
 
Das Video war mal echt interesant... frage mich nur ob es auch sowas wie ne Zivileverteidigung gibt, weil sah schon bitter aus, als das Dorf abgebrannt ist und anscheinend erst der Schnee dem Feuer das garaus gemacht hat.

Hoffe das Spiel funktioniert auch so gut, denn viel Liebe wurde anscheinend echt in die Details gesteckt.
 
Das Video war mal echt interesant... frage mich nur ob es auch sowas wie ne Zivileverteidigung gibt, weil sah schon bitter aus, als das Dorf abgebrannt ist und anscheinend erst der Schnee dem Feuer das garaus gemacht hat.

Hoffe das Spiel funktioniert auch so gut, denn viel Liebe wurde anscheinend echt in die Details gesteckt.
Es gibt sowas wie eine Feuerwehr, wenn ich mich richtig erinnere. Aber es ist ja Sinn des Spiels, dass das Überleben schwer ist und man nicht völlig problemlos von einem Jahr zum nächsten kommt.... ;)
 
Why am I doing more than just fixing bugs?

I’ve found that testing a game and getting it bug free for release is harder than I thought it would be. These last few weeks have seen some hard to find bugs and grueling debugging sessions. There’s reports of hardware configurations where the game won’t start, problems restoring from the computer being in a locked state, various crashes, asserts, and a myriad of unexpected behaviors. So far fixing these has been going pretty well. It just takes time.

Beyond the bugs, I’ve been taking suggestions from some of my newer testers – and implementing some of them. While I’m excited to get this game released, I want to have a good user experience beyond just a game that doesn’t crash.

At first I was worried that the suggestions and requests were going to consist of major changes to the game, but in fact most of them are reasonable and good ideas that are mostly about the user interface and interacting with the game. I’ve been working on Banished long enough that I don’t notice the short falls in user experience – I’m just used to them. So getting suggestions like these are great and really help polish up the game.

They tend to be questions like:

  • – Can the inventory lists be sorted either by name or quantity?
  • – I pause and unpause time passage quite a bit, can a button be bound to toggle this?
  • – Can the placement tool remember the previous buildings rotation?
  • – Can there be an option to lock the mouse to the game window? Edge scrolling doesn’t work with multiple monitors or windowed mode.
  • – ESC doesn’t back out of certain menus, can you add it to all of them?
Those things are all easy to implement, and I agree they are needed.

Then there are suggestions that are harder to implement like:

  • – After I have a large population, and at some point there is a food shortage, everyone dies. Is this expected? Shouldn’t some percentage of the population survive?
  • – In a large city, the citizens sometimes live very far from their workplace and spend more time walking than working. Can this be fixed?
I’ve been working on fixing these types of issues as well, but they are a bit harder to deal with since they involve changing the way the simulation works – this can break balancing and introduce new bugs. But again, I feel the game is better with these types of issues fixed, so I’m fixing them.

That last suggestion about citizens not being productive led me to optimize who is assigned to what job relative to where they live.
When I first started writing Banished I envisioned a simulation where everyone was unique and had a fixed job for their lives. This led to people trying to live near their workplaces, but in the situation where a married couple had two jobs at opposite ends of the map, they’d live somewhere in-between and hardly get any work done since they were always walking back and forth.

As a town gets bigger and bigger, resource production really slows down because of this. But being busy with other things, I never really revisited the way job/house placement worked.

After some suggestions from testers, and realizing that the townsfolk weren’t really tied to any one job, I decided that this sticking to a job once it was assigned wasn’t really needed. In fact, the player can reassign a worker to a different profession any time. Furthermore, testers found if they unassigned everyone’s jobs, then reassigned them, the placement of people relative to their workplaces was much better.

So I wrote some code that tries to optimize the jobs assigned relative to the work places and homes automatically. This increased resource production significantly in most of my test maps. Of course it was hard to know that the code I wrote was actually working properly in a town of 700 people and 200 work sites. So I wrote a quick tool to visually check citizens home locations relative to their workplaces and the paths in-between.

PathingTool-1024x576.jpg

The tool worked really well and gave me a lot of information about areas in the town that could have better layout. This in turn helped me increase resource production even further in my test maps by placing more homes in areas where workers were traveling long distances. This of course turned out much like the Follow Mode addition to the game.

It was so useful that I decided to keep it. It’s a little feature creepy, but I needed it to verify things were working correctly anyway. After an hour more of prettying up the graphics and making the code nice, I had added the Pathing Tool to the game. It will show where all the workers at a work site live, or where all the people in a house go to work, as well as the paths they take when traveling in-between.

Now back to debugging some of those hard to reproduce crashes….


Quelle: Shining Rock Software
 
More Bugs: Pathfinding Problems

A while back, I wrote about pathfinding and how the townsfolk in Banished figure out how to get from one place to another. I’ll quote myself here. Pathfinding is the one system in the game that I am constantly fixing and making better. I’ll think I’ve gotten it right, and two months later…

While the problem of getting of the AI from point A to point B solved, I’ve lately been hearing feedback about where the townsfolk decide to go. This is even more true since I adding the pathing tool and you can easily see where people are relative to their workplace.

The problem is that when townsfolk decide where to go, they pick the closest accessible location and use it. While using closest linear distance works, the closest location isn’t always the best. Sometimes walking distance far exceeds linear distance. While this isn’t technically a bug, it certainly causes issues in large sprawling towns and requires a little attention.

Here’s an simple example of a bad decision. The workers in the house below used linear distance to determine where to work.

LongPath-1024x576.jpg

When they actually go to work, they find a long path there – all the way down to the bridge and back. This is fine and the simulation works – but it could be more optimal. This isn’t just for workplace either. It’s for deciding where to pickup food and firewood, which school to use, what market to use, where to find resource to make tools, etc

I could just let players deal with the issue or build more bridges, but I decided to take a day (or two) and see if I could come up with a fast way of quickly determining walking distance without resorting to doing full path finding.

Finding walking distance using the current path finding system is really slow. To use the current path finding system to make AI decisions would be so slow that the game would run at single digit frame rates. The AI considers a potentially large set of locations when deciding where to go. It’s just too many paths to examine.

I first thought about caching paths from critical interact points, but this soon became unwieldy. There’s really not a good way to know when a cached path becomes invalid or gets worse or better due to players adding and removing objects. And once the cache is filled with ten thousands, or a hundred thousand paths, storage and memory becomes a big issue. So forget caching these.

After a lot of thought, and talking the problem over with some other programmers, I came up with a solution to try out, and it ended up working very well.

The reason path finding is slow is simply the size of the data set – A large map has about 250,000 nodes and searching it takes time. The data is fine grained and looks like this.

FineGrainedPath-1024x576.jpg

What I wanted to do is reduce this data set into something simpler that still mimics the basic paths people will take.

So the map is now broken into larger chunks defined by where characters are allowed to walk. The problem arises where a chunk has disconnected parts. For example one chunk could have river running through it that cuts it in half – that chunk has to be broken into multiple pieces so that there is a distinction between one side of the river and the other.

After breaking into blocks and resolving any disconnected regions, I arrive at the simplified pathing data set. The colors just represent distinct areas.

PathIslands-1024x576.jpg

One nice feature of this data set is that it can be updated quickly. If a new building is added, or a building is removed, only the chunks that intersect the new building need to be recomputed – and this process is really fast.

The next step is to connect each distinct region to the others and maintain connectivity information. Again updating this is fast as when a region changes, only it and its neighbors need to recompute connections. Once the connections are built I end up with a graph that represents a general but simplified map of how and where people in the game can move.

MacroPathing-1024x576.jpg

Using A* on this graph computes paths and distances at anywhere from 60 to 100 times faster than the more complex and fine grained path finder. This is used in place of all previous checks for linear distance. While the distances are coarse estimates, what results is that people find a decent idea of walking distance rather than looking at pure linear distance. The people then decide to move into the more logical homes.

FixedPath-1024x576.jpg

While the distance estimates are fast to compute, they aren’t instantaneous. But because the data set is simple and fairly small, caching the distance between to areas actually works for them. The paths are cached for only a short time. The hit rate on the cache is very high, and makes the slight delay of the cache worth the time savings.

Once in a while people do check to see if there is a better way to get to a workplace, and they’ll move. Here I’ve built an additional bridge, and as the new estimate distance is shorter, the workers move to the closest home after a few months.

http://www.shiningrocksoftware.com/wp-content/uploads/2013/11/BestPath-1024x576.jpg

Somewhat related, because this path finding method is so much faster, I’ve got a note to make regular path finding use it. The basic idea would be do perform the coarse path find, and then when computing a path on the fine grid, only areas touched by the coarse grid would be available for A* to consider – instead of considering the entire map. From a code design and performance standpoint, this is a fairly elegant solution and I can make it generic and reusable for any set of nodes – not just a grid.
But that’s a task for another day, another game.

This was a great two days of problem solving and it fixed a major AI issue, but this wasn’t a change I really want to make this late in development. I’m starting to get a little nervous about making big changes to existing systems – and really examining what changes I make and how they are made. I considered reverting my changes several times, because I really don’t want to add new bugs at this point.
But it makes the AI so much smarter looking and optimizes worker time so well that in the end it’s worth it and makes sprawling towns work better.

The game is definitely shaping up. I currently don’t have any crash bugs to track down, and most of the current issues I have open are simple AI and user interface issues. Getting there!

Quelle: Shining Rock Software
 
Das sieht sehr interessant aus, ich mag auch den Look - nicht so "überzeichnet" und kitschig wie die Produktionen weit grösserer Studios.
 
Moving Screenshots

Extern eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Weitere Informationen gibt es auf der Datenschutzseite.
 
Bin mal gespannt auf die ersten Reviews und den finalen Preis. Grundsätzlich hätte ich zwar Bock drauf, werde es aber nicht sofort kaufen. Dafür steht noch zu viel anderes auf dem Plan und dank der letzten Humble Bundles und Steam Sales habe ich noch einige vergleichbare Spiele unangezockt in meiner Spiele-Bibliothek. Schön, dass die Entwicklung aber doch so schnell vorangeht und das Spiel schon bald erscheint - hoffentlich fehlerfrei. :top:
 
hats schon jemand?
wäre nett, wenn ihr hier (oder sonstwo) eure eindrücke postet. :]
 
Zurück