Permalänk
Medlem

3d är väl att ta i, men lite enkel 2d där man ser vad som händer och sker..

Visa signatur

Denta

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Denta
3d är väl att ta i, men lite enkel 2d där man ser vad som händer och sker..

Nja, jag kommer nog köra på 3d eller inget.. men jag undrar hur långt ska man gå innan man börjar visualisera det hela?

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Sebastianj

Vad är det för fel på pygame? Eller iofs, själva motorn är ju skriven i c++, men man kan ju använda python för hanteringen ändå.

fast en del av optimeringarna c skulle innebära kan man göra redan nu, försöka att loopa mindre och minska antalet listor.

Eftersom det inte är grafiken som är det som tar längst tid att generera (som det är nu) är det resten jag skulle kunna tänka mig att skriva om till C++, t.ex. finns det ett par loopar som går igenom listor med personer och dylikt som kan ta väldigt lång tid, men det är inte så mycket jag kan göra åt det.

Hur menar du minska antalet listor? I den senaste versionen har jag snarare lagt till några listor (t.ex. youngPeople och workingPeople om jag inte minns fel) för att det ska gå snabbare att göra saker med dom.

Citat:

Ursprungligen inskrivet av Sebastianj

Jag menade att han inte behöver röra någon c++ för den sakens skull, eftersom han kan köra med en färdig grafikmotor, vilket han ändå bör om han vill ha någon tid över till annat än att skriva grafikmotor...

En enkel grafikmotor är inte speciellt svår att skriva, tja, ivarjefall den grafiska biten. Men det är klart att om man ska hantera input och kameraflygningar och sådär så blir det lite mer jobb....

Citat:

Ursprungligen inskrivet av Denta
För att det ska bli något man tycker är kul så är ju lite värre grafik inget minus.

Med "värre", menar du "bättre"?

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
Eftersom det inte är grafiken som är det som tar längst tid att generera (som det är nu)

Va är du helt säker? För mig är det utan några som helst tvivel att "grafiken" (som består av konsoloutput) tar mest, gissningsvis tar det över 75%...

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

Ja, jag är rätt säker på det. Kan göra en testkörning...

Detta är version 3.0, använder Pythons inbyggda profiler.

> Executing: C:\Program\ConTEXT\ConExec.exe "C:\Program\Python\python.exe" "villagesim.py" Mon Sep 20 23:42:47 2004 myStats 309623 function calls (309617 primitive calls) in 124.641 CPU seconds Ordered by: cumulative time List reduced from 43 to 15 due to restriction <15> ncalls tottime percall cumtime percall filename:lineno(function) 1 0.001 0.001 124.641 124.641 profile:0(root.mainloop()) 1 0.000 0.000 124.640 124.640 <string>:1(?) 1 59.596 59.596 124.640 124.640 Tkinter.py:963(mainloop) 10 0.000 0.000 65.045 6.504 Tkinter.py:1340(__call__) 9 0.005 0.001 65.025 7.225 villagesim.py:71(newFiftyYears) 450 0.018 0.000 65.020 0.144 villagesim.py:85(newYear) 450 3.921 0.009 58.508 0.130 world.py:93(generateNewYear) 159816 5.006 0.000 30.671 0.000 person.py:79(incAge) 3112 27.520 0.009 27.520 0.009 world.py:58(calcResources) 2212 0.370 0.000 25.387 0.011 person.py:149(chooseJob) 3208 0.379 0.000 20.378 0.006 world.py:225(generateBaby) 3208 18.911 0.006 19.297 0.006 person.py:19(__init__) 450 0.040 0.000 3.795 0.008 villagesim.py:132(yearLog) 450 3.439 0.008 3.714 0.008 world.py:239(printResources) 1908 0.150 0.000 1.113 0.001 house.py:71(registerHouse) > Execution finished.

Man ser att det som tar mest tid är... Hmm, nu när jag tänker efter så är det lite svårt att visa att grafiken (alltså GUI:t) tar mycket utifrån det där. Dock kan man ju se det som att programmet går långsamt först när det blir riktigt många personer, och det påverkar knappt GUIt överhuvudtaget. Det behöver ju bara rendera byn en gång per 50 år, och det är inte speciellt jobbigt.

Loggern kan man se att den är med på ett litet hörn, det tar sammanlagt ca 4 sekunder för den att köra printResources (den gjorde det 450 ggr den här ggn, en gång per år). 4 sekunder jämfört med totalt ca 120 sekunder är inte speciellt mkt.

Det som tar tid är det som händer inne i incAge() och i calcResources(). Ja, och i chooseJob() och generateBaby().

Så, grafiken är inte ett problem, och lär inte vara det tills man vill ha det i real-tid på nåt sätt, men det känns inte som att det är aktuellt riktigt än.

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
Det behöver ju bara rendera byn en gång per 50 år, och det är inte speciellt jobbigt.

Just, just.. tänkte inte alls på det, eftersom min output är i realtid och skriver ut allt så tar det självklart längre tid (tänkte bara automatiskt att eftersom din är grafik så borde den ju iaf ta en del).

Jag testade en körning med full output och en med minsta output (den säger bara när den startar och slutar), den med full tog ca 48 sekunder och den utan tog ca 7 sekunder (båda debugkompilerade, men det borde inte ändra den procentuella skillnaden, eller?).. det är sjukt vad långsam cout är.

Så, vad hade du tänkt ta som nästa steg i din by-simulator? Det hade varit kul om du gick vidare på GUIn..

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

Oj, konstigt att det är så stor skillnad. Men du kanske inte gör som jag: jag lagrar all output i en variabel (en lång text helt enkelt) som skrivs till fil när jag trycker på Write to log-knappen. Borde snabba upp rejält, antar jag.

Först och främst ska jag fixa alla buggar och se till så att det nya resurssystemet funkar snyggt. Sen... får jag nog gå igenom tråden och se vad folk har föreslagit

Vad tycker du jag borde göra med GUI: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
Oj, konstigt att det är så stor skillnad. Men du kanske inte gör som jag: jag lagrar all output i en variabel (en lång text helt enkelt) som skrivs till fil när jag trycker på Write to log-knappen. Borde snabba upp rejält, antar jag.

Först och främst ska jag fixa alla buggar och se till så att det nya resurssystemet funkar snyggt. Sen... får jag nog gå igenom tråden och se vad folk har föreslagit

Vad tycker du jag borde göra med GUI:t?

Nja, asså, att skriva till filen är inga problem, det tar inte mycket tid alls, problemet ligger i att jag kallar på cout många många gånger i sekunden.. detta kommer självklart ordnas så fort jag får för mig att ändra log macrot (eller få dom andra att göra det).. intressant där med att spara allt i minnet och sedan dra ut det i filen direkt.. kanske ska köra en variant och spara ut typ 10 år i taget eller ngt sånt (vill inte att en sån sak ska ta extra minne om den ska stå och tugga på typ 100.000 pers )

Okej, du får skynda så jag inte hinner ikapp bara idag har jag inte gjort mkt mer än att lägga in varnings och error loggning och fixxa lite buggar, men det bör gå snabbt framåt nu de följande dagarna jag ligger iofs lååång efter, men ändå

Jag tycker det skulle vara kul om du iaf exprimenterade litet med att rendera ut gubbar som går omkring, eller började på en 3d renderer av det hela

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

Har lite annat att göra bara :/

Gubbar som går omkring kommer jag nog inte att lägga till förrns det finns någon vettig algoritm bakom, och jag vet inte om jag kommer göra en sån eftersom varje "generering" är en årstid lång. Det är bara Simmare som är så långsamma att det tar en månad att gå till affären (mtp att det tar en kvart att gå till toan).

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

Aha, okej :\ Jag verkar ha gott om tid, det enda vi har i skolan är ANSI C.. vilket är ganska lätt, iaf hitintills..

Det är bara att ta den snabbaste pathfind algoritmen man kan hitta, behöver ju inte ens vara snabbaste vägen så breadth first och A* och dom behövs ju inte.
Jo, att dom får ta 10 års promenader blir ju klurigt.. man kan iofs tänka sig att man har litet settings, om man har på ultra slow så visar den gubbar som går men då går knappt tiden

Fast innan man fixxar gubbar vill man kanske ha en riktig metod för att generera och utveckla byn både visuellt och ovisuellt, alltså så skog försvinner och det byggs hus dit osv.. detta blir nog ganska mkt större projekt än jag tänkte mig först

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Medlem

WAAH!! IT'S STILL ALIVE!!!
Weeeeehooooo!

Visa signatur

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

Permalänk
Medlem

Tänkte bara säga att jag inte har skrivit någon ny kod sen sist.. Men! Idag efter en föreläsning så kom jag på hur jag skulle kunna göra det här till ett multiplayer spel/interaktiv skärmsläckare... Fick ett par riktigt heta idéer och lite roliga matematiska finesser... Men ska inte säga så mkt om det riktigt än.. måste planera lite!

EDIT: Har börjat pilla ner lite på papper nu.. Det här jag gör nu påminner väldigt mycket om en spelidé jag fick för nåt år sen, som jag tyvärr bara skrev ner på en bit toapapper jag hade på mig
Massa sköna idéer fanns det där som jag nu får hitta på igen för jag har glömt det mesta...

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:

Mr. Voinus Melidottir and Mrs. Loilir Melidottir had a LOVECHILD named Little Gloisin Melidottir It was kid nr: 4
Mr. Kelen Melidottir and Mrs. Gloinus Melidottir had a LOVECHILD named Miss Sephririk Melidottir It was kid nr: 4
Mr. Lugan Melidottir and Mrs. Emboger Melidottir had a LOVECHILD named Miss Tirin Melidottir It was kid nr: 1
Mr. Lemli Melidottir and Mrs. Noisin Melidottir had a LOVECHILD named Little Melesta Melidottir It was kid nr: 5
Mr. Doili Melidottir and Mrs. Hiburfur Melidottir had a LOVECHILD named Little Itulad Melidottir It was kid nr: 3
Mr. Huran Melidottir and Mrs. Sognus Melidottir had a LOVECHILD named Miss Gleli Melidottir It was kid nr: 2
Mr. Sephranaelman Melidottir and Mrs. Sarusta Melidottir had a LOVECHILD named Little Embibian Melidottir It was kid nr: 4
Mr. Meludere Melidottir and Mrs. Vegnus Melidottir had a LOVECHILD named Little Vanelman Melidottir It was kid nr: 2
Mr. Kenus Melidottir and Mrs. Oscalman Melidottir had a LOVECHILD named Little Huli Melidottir It was kid nr: 3
Mr. Karit Melidottir and Mrs. Kuribian Melidottir had a LOVECHILD named Miss Turan Melidottir It was kid nr: 1
Mr. Zaelad Melidottir and Mrs. Biorit Melidottir had a LOVECHILD named Little Oscon Melidottir It was kid nr: 3
Mr. Kolin Melidottir and Mrs. Kurolman Melidottir had a LOVECHILD named Miss Doilin Melidottir It was kid nr: 1
Mr. Zionia Melidottir and Mrs. Moirin Melidottir had a LOVECHILD named Miss Aphrolten Melidottir It was kid nr: 2
Mr. Gligan Melidottir and Mrs. Begnus Melidottir had a LOVECHILD named Miss Doigan Melidottir It was kid nr: 3
Mr. Ligan Melidottir and Mrs. Suli Melidottir had a LOVECHILD named Little Muburfur Melidottir It was kid nr: 1
Mr. Kulin Melidottir and Mrs. Embanaelen Melidottir had a LOVECHILD named Miss Fisil Melidottir It was kid nr: 2
Mr. Foran Melidottir and Mrs. Toisin Melidottir had a LOVECHILD named Little Kurodere Melidottir It was kid nr: 2
Mr. Itanaeger Melidottir and Mrs. Itiger Melidottir had a LOVECHILD named Little Konus Melidottir It was kid nr: 5
Mr. Sephrun Melidottir and Mrs. Rorin Melidottir had a LOVECHILD named Miss Logan Melidottir It was kid nr: 2
Mr. Zalenia Melidottir and Mrs. Mirin Melidottir had a LOVECHILD named Little Goburfur Melidottir It was kid nr: 1
Mr. Solen Melidottir and Mrs. Oscilad Melidottir had a LOVECHILD named Miss Sephrerit Melidottir It was kid nr: 2
Mr. Simli Melidottir and Mrs. Noignus Melidottir had a LOVECHILD named Little Kurin Melidottir It was kid nr: 1
Mr. Dagne Melidottir and Mrs. Caluger Melidottir had a LOVECHILD named Little Aphrilman Melidottir It was kid nr: 3
Mr. Konus Melidottir and Mrs. Sonus Melidottir had a LOVECHILD named Little Ital Melidottir It was kid nr: 2
Mr. Itegen Melidottir and Mrs. Lonar Melidottir had a LOVECHILD named Miss Embaegen Melidottir It was kid nr: 1
Mr. Itiobian Melidottir and Mrs. Meran Melidottir had a LOVECHILD named Little Tirin Melidottir It was kid nr: 1

Inavel?

Visa signatur

hoppla

Permalänk
Medlem

haha
Oj, så alla i byn har typ samma efternamn? Lite intressant, skulle nästan velat ha någon sorts släktträd för det där.

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
haha
Oj, så alla i byn har typ samma efternamn? Lite intressant, skulle nästan velat ha någon sorts släktträd för det där.

Det kallas religion, och de avgudar en viss Meli.
Nu får du inte sabotera ett religionsskapande här inte, bara för du vill leka gud. :rolleyes::p

Permalänk
Medlem

Förresten, tycker ni det låter löjligt med "xxxxxdottir"? "xxxxxsson" är ju helt ok eftersom det är ganska standard överallt i världen, men dottir låter... lame på nåt sätt.

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
haha
Oj, så alla i byn har typ samma efternamn? Lite intressant, skulle nästan velat ha någon sorts släktträd för det där.

fixar imorn.cola+tngntbord</3

Visa signatur

hoppla

Permalänk
Medlem

Eeehh.... Va? Nu förstår jag inte alls

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

Tror han menar att han fixar det imorrn eftersom att cola + tangentbord != hjärta

Visa signatur

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

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av nightcon
cola + tangentbord </3

Citat:

Ursprungligen inskrivet av cide
cola + tangentbord != hjärta

haha, Man är nog lite programmerings-skadad när man behöver se ett "trasigt hjärta" som en kodsnutt för att föstå vad som menas

Visa signatur

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

Permalänk
Citat:

Ursprungligen inskrivet av RokkeR
haha, Man är nog lite programmerings-skadad när man behöver se ett "trasigt hjärta" som en kodsnutt för att föstå vad som menas

Jag tror man är lite chatt-skadad om man ser </3 som ett trasigt hjärta. =/

Visa signatur

Python-IRC på svenska: #python.se

Permalänk
Medlem

Slänger in min otroligt tråkiga skogsbrandsimulator som jag hade tänkt utöka med en massa inställningar och ritmöjligheter men som med allt annat aldrig blir av.

http://www.fractalposter.com/game/test.html

I varje tidssteg

Jord -> Träd (med liten sannolikhet)
Träd -> Eld (med väldigt liten sannolikhet eller med stor sannolikhet om en granne brinner)
Eld -> Jord
Sten -> Sten

Bara att sitta och vänta på att skogen ska växa till sig och en storbrand bryta ut.. gäsp...

Visa signatur
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av cide
Tror han menar att han fixar det imorrn eftersom att cola + tangentbord != hjärta

Hmm, jag tror jag hakade fast mig på "fixar imorrn", ungefär som att han var jag (alltså, nightcon, vill du göra en sån funktion så får du det men du behöver inte göra det för att göra mig glad vilket jag knappast tror att du skulle göra men det lät så heheh)

Citat:

Ursprungligen inskrivet av backen
Slänger in min otroligt tråkiga skogsbrandsimulator som jag hade tänkt utöka med en massa inställningar och ritmöjligheter men som med allt annat aldrig blir av.
(...)

Häftig effekt Man får vänta på den ett tag iofs, men det blev ganska nice att se hur den spred sig... Nu blev jag sugen på att göra en mer grafisk simulering också...

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

Ja då var det äntligen dags att utöva första hjälpen på en tråd som har legat i dvala alldeles för länge.
Vad hände egentligen med VillageSim?
Jag var helt såld på det här projektet och är bra nyfiken på om det hände något mer med projektet efter trådens "död".

Någon som har info om VillageSims öde? ^^

Visa signatur

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

Permalänk
Citat:

Ursprungligen inskrivet av cide
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

Han har kodat en jämnställd by *vad säger att en man gör ett visst jobb bättre än en kvinna?*

Verkar vara ett fint litet "program" du kodat ihop, blir att tanka ner och ta en titt

Visa signatur

Systemet: Win10 x64, SilverStone Temjin TJ08-E, Corsair RM650X 650W, Intel i5 3570k, Be quiet! Shadow Rock Slim, ASUS GeForce GTX 1060 6GB DUAL OC, Asus P8Z77-M Pro, 16GB Corsair Vengaence LP, Samsung 860 QVO 1TB, Asus VG248QE 24".

Permalänk
Medlem

Haha, ojdå

Ja, jag har inte kodat nåt på VillageSim på ett bra tag... men jag funderar på det rätt ofta om jag ska vara ärlig. Rätt sugen på att ta tag i det nån gång igen och göra en ny version, då gärna i 3d och i nån sorts "realtid", med vägar som behövs byggas och resurser utplacerade på kartan osv.

Det hade vart svinfett att göra nån sorts multiplayervariant också där det kunde köras som en skärmsläckare eller nåt. Och där finns det väl två varianter, en där varje "spelare" har en egen by, och en där varje spelare är en person i varje by. I det andra fallet blir det nån sorts MMORPG antar jag, och jag har funderat en del på det faktiskt. Har kladdat ner lite här för ett tag sen: http://srekel.net/pmwiki/pmwiki.php?n=Projects.LandOfVillages men vet inte om det som står där är vettigt.

Just nu har jag inget hobbyprojekt på gång (blev inte så mkt av 4E5 iår, fast just koden från det jag och vb har kan nog lämpa sig rätt väl att göra nåt sånt här av) även om jag har en del andra idéer också.. Så öh, svammel svammel, over and out.

Visa signatur

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

Permalänk

Hmm, hur fungerar det... ska man sitta och dra runt musen hela tiden för att få tiden att gå? Sparas det eller startar det om varje gång man startar om programmet?

finns det så man kan se vilka yrken som finns och hur många som jobbar med ett visst yrke?
Kan man se åldern på personer i byn?

Känns skumt att man bara får se hus i olika färger osv... Något jag missat? ^^

Visa signatur

Systemet: Win10 x64, SilverStone Temjin TJ08-E, Corsair RM650X 650W, Intel i5 3570k, Be quiet! Shadow Rock Slim, ASUS GeForce GTX 1060 6GB DUAL OC, Asus P8Z77-M Pro, 16GB Corsair Vengaence LP, Samsung 860 QVO 1TB, Asus VG248QE 24".

Permalänk

Jag lyckades inte kompilera skiten.
Traceback (most recent call last):
File "villagesim.py", line 12, in ?
import profile
ImportError: No module named profile
Ger det om jag kör python villagesim.py

Permalänk
Medlem

appoc, knapparna längst ner borde funka bra också. Inget sparas utan det startar om varje gång... men, vad du har missat är nog att det skapas en html-log där allt intressant står.

hagbard, kommentera utt den importraden, och sen längst ner skriver du såhär:

if __name__ == '__main__': root.mainloop() #profile.run("root.mainloop()", "myStats") #p = pstats.Stats('myStats') #p.strip_dirs() #p.sort_stats('time') #p.sort_stats('cumulative') #p.print_stats(20) #p.sort_stats('cumulative').print_stats(10)

Visa signatur

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