Permalänk
Medlem

Min feta by-simulator!

Här ska ni få se på grejer. Igår började jag med en liten by-simulator i stil med Settlers-spelen och idag har jag gjort så att den faktiskt är värd sitt namn.

Vad menar jag då med by-simulator? Jo, programmet börjar med att generera tre olika sorters jobb/arbeten. För närvarande finns bara kock, bonde och mekaniker. Varje yrke har en lista på saker det behöver och en lista på saker det producerar. Kocken producerar mat och behöver råvaror (grain), bonden gör råvaror och behöver verktyg. Mekanikern gör verktyg. Alla personer behöver mat, vare sig de har ett yrke eller inte. (De arbetar mellan att de är 20 och 65).

Sedan genereras ett tjugotal personer med en slumpad ålder. Är de tillräckligt gamla (20 år) väljer de ett jobb. Vilket? Jo, det som byn är i behov av! När de valt sitt arbete, letar de automatiskt igenom listan på yrken och undersöker var de får sitt material ifrån. Hmm, som det är nu tror jag inte dom använder den informationen till något speciellt men den finns där iaf.

Sedan simulerar programmet byn under 150 år. Varje år skapas en ny person, och alla åldras. Är de för gamla pensioneras dom eller till och med dör.

Och trot eller ej, men efter ett par år så stabiliseras faktiskt byn och de har faktiskt hela tiden över noll i alla resurser (mat, råvaror och verktyg).

Så jävla snyggt.

Men det finns sjukt mycket mer att implementera, som till exempel att personer faktiskt föder barn så att man får en exponentiell invånarkurva, och att det finns riktiga relationer mellan föräldrar och barn. Och att folk är dåliga i början och slutet av sin karriär. Och en himla massa mer slumpfaktorer (som att alla inte dör när dom är hundra år t.ex.)

Lite kuriosa: Programmet är skrivet i Python och är på 150 rader. (Skulle inte vilja skrivit det i Java ) Det är på 684 ord, och som jämförelse är det här inlägget just NU på 332 ord. Hur ofta är ett program bara dubbelt så stort som dess beskrivning?
Om man skulle vilja lägga till ett yrke till, till exempel en vedhuggare som behöver verktyg och som producerar trä (och samtidigt ändra mekanikern så att den behöver trä) skulle man behöva lägga till en rad kod för vedhuggaren och ändra i raden som definierar mekanikern.

Vill ni testa det finns det här:
http://www.dtek.chalmers.se/~srekel/files/python/villagesim/
Källkoden medföljer Tyvärr är den inte speciellt kommenterad, men Python är ganska lätt att läsa (dock har jag använt mig av en massa list comprehensions så vet man inte vad det är kan ju det vara lite jobbigt. )

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem

Hört talas om GUI?

Visa signatur

Macbook Pro C2D 15,4"

Permalänk
Medlem

GUI, urk så overkill.. var nog sin fina class som han ville visa.. den var faktiskt väldigt fin.. dock måste väl slumpen ha lite med saken att göra också?

Olika människor lever olika länge baserat på yrke (+- några år)
Olika yrken är olika farliga (dödsrisk)
Viljor, är pappa snickar vill man till 50% också bli snickare..
(dock måste ju akuta behov gå föra viljor annars dör byn ut
Gör så befolkningen kan öka och minska..

finns massor att lägga till, men bra början..

Visa signatur

~ When there's no more room in hell, the dead will walk the earth. ~

Permalänk
Medlem

Häftigt!

Visa signatur

"Linux är bara gratis om din tid är värdelös"

Permalänk
Medlem

Funka fint under Mac OS X 10.3 (Panther) också. Python följer med som standard

Sedan borde du införa mera variabler. Annars kommer alltid finnas 101 personer vilket är lite orealistiskt. Är det bra ställt så borde det födas fler. Sedan måste det finnas ett två stycken som är i samma ålder, över 18 och under 50 eller något sånt.

Visa signatur

Teeworlds - För dig som gillar gulliga saker med stora vapen.

Permalänk
Medlem

Det var rätt coolt. Men borde det inte vara "tools are scarce"?

Visa signatur

:€

Permalänk
Medlem

En strålande simulation av en pittoresk bög-by. Det verkar bara vara Mr. si och så?

Permalänk
Medlem
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Hauk
Hört talas om GUI?

Haha. Jo. Men har inte hunnit göra det än Men det är nog inte så dumt.. Det blir ganska fult i dosprompten/kommandotolken.

Citat:

Ursprungligen inskrivet av Shark^
GUI, urk så overkill.. var nog sin fina class som han ville visa.. den var faktiskt väldigt fin.. dock måste väl slumpen ha lite med saken att göra också?

Olika människor lever olika länge baserat på yrke (+- några år)
Olika yrken är olika farliga (dödsrisk)
Viljor, är pappa snickar vill man till 50% också bli snickare..
(dock måste ju akuta behov gå föra viljor annars dör byn ut
Gör så befolkningen kan öka och minska..

finns massor att lägga till, men bra början..

Hehe jupps Har redan tänkt på det där med att man vill följa i sina föräldrars fotspår.. det borde vara intressant.

Citat:

Ursprungligen inskrivet av matricks
Funka fint under Mac OS X 10.3 (Panther) också. Python följer med som standard

Sedan borde du införa mera variabler. Annars kommer alltid finnas 101 personer vilket är lite orealistiskt. Är det bra ställt så borde det födas fler. Sedan måste det finnas ett två stycken som är i samma ålder, över 18 och under 50 eller något sånt.

Mmm, Python är trevligt på det sättet också eftersom det funkar på Unix/Linux och OSX automatiskt. Var lite pill att göra en exefil till Windows men det var inte så farligt...
Det ska absolut vara så att det är mer slump i hur människor föds, och det ska dessutom bero på antalet personer i lagom "föda-barn"-ålder, samt kanske hur mycket mat det finns.

Citat:

Ursprungligen inskrivet av eighty
Det var rätt coolt. Men borde det inte vara "tools are scarce"?

Hehe, jo såklart.. Är inte världens mest estestiska program än

Citat:

Ursprungligen inskrivet av Malesca
En strålande simulation av en pittoresk bög-by. Det verkar bara vara Mr. si och så?

haha
Jo, än så länge finns det bara Mr. X. Förutom de första tre som är hårdkodade (vilket jag egentligen kan ta bort nu. De heter Adam, Eve och Herman efter Herman Hedning.

Citat:

Hittade denna i går: Zombie Infection Simulation

Den var ju kunglig! Undrar hur jobbigt det skulle vara att låta människorna i min by få en position och ta reda på var de måste gå för att hämta sina råvaror och sånt... Skulle vara otroligt nice om dom dessutom kunde bygga byggnader när de blev många.

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem

Fint.

Ser fram emot vidare utveckling, i stil med det som står längst ner här ovan...
Lite GUI-fluff är aldrig fel...

Visa signatur

"Linux är bara värdelöst om din tid är gratis"
"Only God can make random selections..."

Permalänk

Bra jobbat... Koda lite till på det så kommer det bli ännu bättre!

Permalänk
Medlem

Lägg in katastrofer. Typ ett dödligt ansiktsätar virus som gör att inga vill para sig under en 5 års period. Eller typ en galning som gömmer alla verktyg så att all produktion avslutas. Eller klassiska motorsågsmasakern (nåja, en häcksax duger nog).

Visa signatur

Visionär bakom Sveriges största publika spelsatsning. Säger jag mer så blir jag förmodligen bannad igen.

Ställ krav! Involvera er! Tänk utanför sandlådan.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av weird
Lägg in katastrofer. Typ ett dödligt ansiktsätar virus som gör att inga vill para sig under en 5 års period. Eller typ en galning som gömmer alla verktyg så att all produktion avslutas. Eller klassiska motorsågsmasakern (nåja, en häcksax duger nog).

hehe ja någon sorts katastrofer har jag tänkt på och dina förslag var ju perfekta

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem

Lägg in olika personligheter.. typ lata, destruktiva, asexuella eller utvecklingsstörda personer som ställer annorlunda krav... och om det t ex finns många destruktiva i en by så ska fler av ungarna bli destruktiva eftersom de tar intryck av föräldrarna...

Visa signatur

Läs en bok för fan...

Permalänk
Medlem

Mmm.. Har gjort så att även personerna har "desires" nu och inte bara deras jobb. Där har jag lagt food och nu också culture. Culture tillhandahålls av skulptörer som behöver verktyg och sten. Sten tillhandahåller minern (som också gör iron som nu mekanikern behöver). Dessutom behöver mekanikern trä som han får av lumberjacken

Culture slumpas dessutom fram, mat-desire är ju alltid 1 men culture desire slumpas mellan 0 och 2. En skulptör gör en himla massa kultur (tänkte att man vill ju inte ha typ 30 skupltörer i en by med 200 människor )

Men det där är ju bara innehåll som jag har testat med (och det funkade utmärkt att bara lägga in dom, sen fattade alla allting automatiskt ), i övrigt har jag gjort en World-klass som innehåller information om världen (byn) som dom lever i. Den har hand om såna saker som att skapa nya människor t.ex.

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Dvorak
Hittade denna i går: Zombie Infection Simulation

Sidan verkar ha blivit swecdottad
En polare sa att det var java där, en applet antar kanske. Om det inte, alltså det är ett program att ladda ner, kan någon spegla det?

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Srekel
Mmm.. Har gjort så att även personerna har "desires" nu och inte bara deras jobb. Där har jag lagt food och nu också culture. Culture tillhandahålls av skulptörer som behöver verktyg och sten. Sten tillhandahåller minern (som också gör iron som nu mekanikern behöver). Dessutom behöver mekanikern trä som han får av lumberjacken

Culture slumpas dessutom fram, mat-desire är ju alltid 1 men culture desire slumpas mellan 0 och 2. En skulptör gör en himla massa kultur (tänkte att man vill ju inte ha typ 30 skupltörer i en by med 200 människor )

Men det där är ju bara innehåll som jag har testat med (och det funkade utmärkt att bara lägga in dom, sen fattade alla allting automatiskt ), i övrigt har jag gjort en World-klass som innehåller information om världen (byn) som dom lever i. Den har hand om såna saker som att skapa nya människor t.ex.

Skitbra
Fixa nu en liten 3d värld med alla människorna så hade det vart skitgrymmt!

Visa signatur

När jag går Off-Topic så står getterna stilla!

Permalänk
Medlem

Mjo Javaapplet är det men sida funkar för mig iaf.

Edit: Mitt inlägg var svar på Aqualize.

Visa signatur
Permalänk
Hedersmedlem

xtermin8: Jo sidan har "kommit fram" för mig också nu.

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av RokkeR
Skitbra
Fixa nu en liten 3d värld med alla människorna så hade det vart skitgrymmt!

Hehe
Ja det hade varit ganska intressant att få se en by byggas upp.. Så kunde husen vara färgkodade efter vilka som jobbade där eller nåt.

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Srekel
Hehe
Ja det hade varit ganska intressant att få se en by byggas upp.. Så kunde husen vara färgkodade efter vilka som jobbade där eller nåt.

Det hade varit jäkligt intressant.. Se nya hus byggas sättas ut allt eftersom befolkningen ökar
och se på när folket springer mellan sin arbets plats och platsen där de hämtar sina resurser.

Visa signatur

När jag går Off-Topic så står getterna stilla!

Permalänk

Har du senaste versionen uppe?

Visa signatur

Python-IRC på svenska: #python.se

Permalänk
Medlem

Nej, men jag kan lägga upp den nu..

"Det hade varit jäkligt intressant.. Se nya hus byggas sättas ut allt eftersom befolkningen ökar
och se på när folket springer mellan sin arbets plats och platsen där de hämtar sina resurser."

Mmm. För att få folk att springa omkring måste jag dock göra så att alla vet från vem .. tja, det har jag ju redan gjort. Men jag måste implementera någon omkringspringningsalgoritm (hehe) och sånt. Iofs inte så himla svårt, men det passar inte riktigt in med att jag genererar ett nytt år, typ. Men jo, roligt skulle det vara

En stadsbyggaralgoritm som bara bygger färgade hus måste ju vara jätteenkel att göra. Det får jag försöka, samt ett lite trevligare gui.

EDIT: Så nu finns den senate på samma plats som innan, fast den heter VillageSim1.5.rar tror jag. Lättast att bara gå till mappen och titta.

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem

Gör en skärmsläckare av det hela sen. Det hade varit tufft.

Visa signatur
Permalänk
Medlem

Sant.
Men en skärmsläckare är väl bara att byta namn från .exe till .scr i princip?

EDIT: Det är alltsår här senaste finns:
http://www.dtek.chalmers.se/~srekel/files/python/villagesim/

Kom på en grej till feature jag lagt till. En person har nu dessutom ett prefix till sitt namn som ändras när den åldras. Från början är det "Little", sen blir det "Mr." eller "Miss" beroende på om det är en man eller kvinna (just det, en sak till jag ändrat ) och sen blir det "Sr." eller "Lady". Och sen dör dom

Kommer ni på bättre namn så hojta till.

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem

Mjo i princip så är det bara att byta till .scr men om man ska kunna göra inställningar och visa någon typ av förhandsgranskning så ska man slänga in lite extra kod. Inget anvancerat har jag för mig. Men sen måste du även bygga en central databas så man kan koppla upp sig och kolla vad polarna har för "stats" för att det hela ska bli fulländat

Visa signatur
Permalänk
Medlem

haha sant! Då hade det blivit ett riktigt Progress Quest

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net

Permalänk
Medlem

Det här skulle kunna bli hur grymmt som helst

Visa signatur

När jag går Off-Topic så står getterna stilla!

Permalänk
Medlem

En annan sak att tänka på är att inte lika många kvinnor bör inte bli lumberjacks & miners, eftersom de jobben är mer krävande.

EDIT: Måste lägga till att programmet är grymt

Visa signatur

CTMod Developer (WoW UI Mod)
http://www.CTMod.net

Permalänk
Medlem

hehe
tack för de värmande kommentarerna

vad är det ni tycker är bra egentligen? koden, konceptet, utförandet,...?

Håller för övrigt just nu på med att folk ska bli ihop och gifta sig innan dom kan skaffa barn.

Visa signatur

Min hemsida: http://www.srekel.net
Pocket Task Force: http://ptf.srekel.net
Kaka e gott! http://kaka.srekel.net