Energy Tycoon

För spelentusiaster !
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Energy Tycoon

Inlägg av Konservburk »

Jag tänkte testa Energy Tycoon som verkar vara ett väldigt ambitiöst tvåmannaprojekt. Två tyskar (bröder?) ligger bakom. Den ene står för programmeringen, den andre för grafiken: http://www.energietycoon.de/en/
Det finns en färdig deb-fil energytycoon_release1_package.deb och det finns källkod energytycoon_release2_source.tar.gz.

Det ser ut som att deb-filen är release1 medan källkoden är release2, vad nu det kan innebära?
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Energy Tycoon

Inlägg av ubot »

Det är ju självklart. release1 har en etta på slutet men release2 har en tvåa på slutet. :D
Nej, men allvarligt så ser det inte ut att finnas någon info om skillnaden och i källkodens readme-fil så står inget heller om skillnaden mellan deb-filen (release1) och källkoden (release2). Sajten har inte heller någon beskrivning av skillnaderna vad jag kan se.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

ubot skrev:Nej, men allvarligt så ser det inte ut att finnas någon info om skillnaden och i källkodens readme-fil så står inget heller om skillnaden mellan deb-filen (release1) och källkoden (release2). Sajten har inte heller någon beskrivning av skillnaderna vad jag kan se.
Nej, det fanns ju knappt någon info alls. Den där readme-filen beskriver inte ens hur kompileringen går till. Glöm en hjälpande hand från configure och make. Det verkar inte bättre än att det blir till att köra g++ för hand.

Men jag har lyckats hitta datumstämplar som förhoppningsvis ger en letdtråd till de olika numreringarna. Installationsfilen till windows är även den märkt som release1 och har ett datum från slutet av maj 2009. Källkoden som är release2 har ett datum från augusti samma år.
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Ganska kul spel. Tur att det autosparar för det krashar hela tiden för mig. Ska höra med dem om det går att rapportera lite buggar på något enkelt sätt.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

m!rage skrev:Ganska kul spel. Tur att det autosparar för det krashar hela tiden för mig. Ska höra med dem om det går att rapportera lite buggar på något enkelt sätt.
Jag har hunnit spela knappt 3 timmar och har under den tiden råkat ut för en enda krash när jag försökte riva ett stort kraftverk. Det enda andra uppenbara felet som jag har märkt av är att jag av någon anledning inte lyckas ansluta Hamburg till elnätet.

Vilken version kör du med? Källkoden eller deb-filen?
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Jag installerade från deb-filen. Har också spelat kanske tre timmar. Det krashade inte så ofta i början men ju längre jag höll på desto mer krash-benäget blev det. Det är flera städer hos mig som inte vill anslutas till elnätet. Lyckades du kompilera källkoden till slut?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

m!rage skrev:Jag installerade från deb-filen. Har också spelat kanske tre timmar. Det krashade inte så ofta i början men ju längre jag höll på desto mer krash-benäget blev det.
Jag har spelat två timmar till utan en enda krash. Rena turen kanske?
m!rage skrev:Det är flera städer hos mig som inte vill anslutas till elnätet.
Jag har inte försökt ansluta alla städer ännu, men nu har jag råkat ut för samma problem med både Lepzig och Dresden.
m!rage skrev:Lyckades du kompilera källkoden till slut?
Ja, det gick efter några försök. Jag minns inte exakt hur jag gjorde, men jag har sparat undan history-filen så att det går att ta reda på upp om någon undrar.
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Jag startade det igen precis nyss och laddade autosave. Det krashade inom en minut efter det. Om du vill kan du prova att ladda min autosave i din installation och se vad som händer (lägg den i ~/.energytycoon/saved_games/)
Bilagor
autosave.xml
(207.25 KiB) Nerladdad 248 gånger
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

m!rage skrev:Jag startade det igen precis nyss och laddade autosave. Det krashade inom en minut efter det. Om du vill kan du prova att ladda min autosave i din installation och se vad som händer (lägg den i ~/.energytycoon/saved_games/)
Den krashade inte för mig. Jag laddade din fil, byggde ett kolkraftverk och snabbspolade sedan till år 14 då bolaget försattes i konkurs.
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Tack för den du... Tänkte försöka mig på att kompilera spelet men kom inte så långt innan jag körde fast. Har installerat följande:

Kod: Markera allt

libboost-dev libtinyxml-dev libogre-dev libois-dev 
med apt-get, samt laddat ner irrKlang från deras hemsida men inte packat upp det än. Hur bar du dig åt efter det? Mitt hopkokade g++-kommando som brukar funka för mina n00b-program gick inte så bra denna gång:

Kod: Markera allt

~/src/energytycoon_release2_source/source$ g++ -o main -Wall Main.cpp
In file included from /usr/include/c++/4.4/backward/hash_set:60,
                 from /usr/include/boost/pending/container_traits.hpp:23,
                 from /usr/include/boost/graph/detail/adjacency_list.hpp:31,
                 from /usr/include/boost/graph/adjacency_list.hpp:324,
                 from StdAfx.h:19,
                 from Main.cpp:1:
/usr/include/c++/4.4/backward/backward_warning.h:28: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
In file included from Main.cpp:1:
StdAfx.h:26: fatal error: MyGUI/MyGUI.h: Filen eller katalogen finns inte
compilation terminated.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

m!rage skrev:Tänkte försöka mig på att kompilera spelet men kom inte så långt innan jag körde fast. Har installerat följande:

Kod: Markera allt

libboost-dev libtinyxml-dev libogre-dev libois-dev 
med apt-get, samt laddat ner irrKlang från deras hemsida men inte packat upp det än.
Jag började med att installera följande:

Kod: Markera allt

libboost-thread-dev libtinyxml-dev libogre-dev libois-dev
Typ samma paket som du. Lite senare visade det sig att jag var tvungen att komplettera med ytterligare ett par paket:

Kod: Markera allt

uuid-dev libfreetype6-dev
...och så build-essential då förstås ifall någon som inte brukar bygga från källkod läser detta.
m!rage skrev:Hur bar du dig åt efter det? Mitt hopkokade g++-kommando som brukar funka för mina n00b-program gick inte så bra denna gång:

Kod: Markera allt

~/src/energytycoon_release2_source/source$ g++ -o main -Wall Main.cpp

Kod: Markera allt

StdAfx.h:26: fatal error: MyGUI/MyGUI.h: Filen eller katalogen finns inte
Det där är en bra början. Jag fick också det där felet och blev tvungen att ändra i filen StdAfx.h från MyGUI/MyGUI.h till bara MyGUI.h för att kunna komma vidare.

Ditt g++-kommando saknar sen lite flaggor för att ange var det finns header-filer som ska inkluderas. Det är sånt som configure brukar ta hand om annars, men det blev till att göra den biten för hand den här gången. Här är kommandot pkg-config ett bra hjälpmedel för att ta reda på vilka flaggor som behövs, t.ex:

Kod: Markera allt

pkg-config --cflags OGRE
Jag ska gå igenom history-filen och se efter mer exakt vad jag gjorde för att få till kompileringen.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

Installera byggberoenden:

Kod: Markera allt

sudo apt-get install build-essential libboost-thread-dev libtinyxml-dev libogre-dev libois-dev uuid-dev libfreetype6-dev
Ladda ner och packa upp:

Kod: Markera allt

wget http://sunet.dl.sourceforge.net/project/energytycoon/energytycoon_release2_source.tar.gz
tar -zxvf energytycoon_release2_source.tar.gz
cd energytycoon_release2_source

wget http://sunet.dl.sourceforge.net/project/energytycoon/energytycoon_release2_data.tar.gz
tar -zxvf energytycoon_release2_data.tar.gz

wget http://www.ambiera.at/downloads/irrKlang-1.3.0b.zip
unzip irrKlang-1.3.0b.zip -x '*.cpp'
Fixa ett fel, se mitt förra inlägg:

Kod: Markera allt

sed -i "s;MyGUI/;;" source/StdAfx.h
Ställ in så att alla OGRE-plugin hittas:

Kod: Markera allt

sed -i "/^PluginFolder=/s;=.*;=/usr/lib/OGRE/;" energytycoon/plugins.cfg
Ändra så att installationen hamnar under /opt/ istället för under /usr/share/games/:

Kod: Markera allt

find -exec grep -q /usr/share/games/energytycoon {} \; -exec sed -i "s;/usr/share/games/energytycoon;/opt/energytycoon;" {} \;
Flytta delade bibliotek till /usr/local/lib/:

Kod: Markera allt

find -name '*.so' -exec sudo mv {} /usr/local/lib/ \;
sudo ldconfig
Flytta installationen till /opt/:

Kod: Markera allt

sudo mv energytycoon /opt/
Rensa bort onödig källkod:

Kod: Markera allt

for i in ETAutoUpdater ETMapGeneration ETSplattingLayout ETSplattingManager ETSplattingMaterial InstancedGeometryManager MyGUI_ControllerEdgeHide MyGUI_Convert MyGUI_DocArray MyGUI_DocType MyGUI_Precompiled StdAfx tinyaxml tinyxmlerror; do find -name "$i.cpp" -delete; done
Kompilera varje cpp-fil, vilket i grunden innebär att köra kommandot g++ -c fil.cpp -o fil.obj för varje fil med extra flaggor som fås från pkg-config för byggberoenden som är installerade i systemet och från ett eget find-kommando för de medföljande byggberoendena:

Kod: Markera allt

find -name '*.cpp' -print -exec g++ $(pkg-config --cflags tinyxml OGRE OIS uuid freetype2) $(find -name include -type d -printf " -I%P") -c {} -o {}.obj \;
Länka slutligen samman de färdigkompilerade objektfilerna:

Kod: Markera allt

g++ -lboost_thread $(pkg-config --libs tinyxml OGRE OIS uuid freetype2) -lIrrKlang $(find -name '*.obj') -o /opt/energytycoon/energytycoon
Nu är det här bara klippt och klistrat från de relavanta delarna av history-filen, så risken finns att jag har missat något.

Edit: Jag har lagt till ett kommando som tar bort onödig källkod.
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Jag följde instruktionerna och det kompilerade utan fel. Det gick sedan att starta, men krashade direkt när jag klickade på new game eller försökte ladda mitt tidigare spel. Utskriften i terminalen gav inte mycket, bara en lång lista på texturer följt av "Segmenteringsfel (minnesutskrift skapad)"
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

m!rage skrev:Jag följde instruktionerna och det kompilerade utan fel. Det gick sedan att starta, men krashade direkt när jag klickade på new game eller försökte ladda mitt tidigare spel. Utskriften i terminalen gav inte mycket, bara en lång lista på texturer följt av "Segmenteringsfel (minnesutskrift skapad)"
Du skulle kunna köra i gdb för att få reda på var felet uppstår.

Gå ut i konsoll-läge (ctrl-alt-f2) och kör:

Kod: Markera allt

DISPLAY=:0 gdb /opt/energytycoon/energytycoon
Skriv run och tryck enter. Gå nu tillbaka in i X (alt-f7) och se till att spelet krashar. Sedan går du åter till konsoll-läget (ctrl-alt-f2) och skriver backtrace och trycker enter. Då ska du få information om var i koden krashen inträffar.
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Okej, efter att spelet krashat eller egentligen frusit denna gången visades detta i VT2:

Kod: Markera allt

Program received signal SIGSEGV Segmentation fault
0x08058807 in TiXmlNode::FirstChild(char const*) const ()
(gdb)
Kanske är TinyXML som spökar? Sen körde jag backtrace och det blev en väldig massa text som jag inte kan bedöma relevansen av så jag tog en skärmdump och la upp här: http://yfrog.com/j2imag00191j
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

m!rage skrev:Okej, efter att spelet krashat eller egentligen frusit denna gången visades detta i VT2:

Kod: Markera allt

Program received signal SIGSEGV Segmentation fault
0x08058807 in TiXmlNode::FirstChild(char const*) const ()
(gdb)
Kanske är TinyXML som spökar?
Det följde med lite källkod som har att göra med tinyxml. Jag minns att det var något med den som strulade, men jag kommer inte ihåg exakt vad det var eller vad jag gjorde åt problemet. Det står förstås i history-filen, men jag måste missat den biten igår. :-\
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

När jag höll på och exprimentera för att få kompileringen att fungera så har jag tagit port ett antal källkodsfiler som inte verkade behövas. Bland annat filen tinyaxml.cpp som jag tror är den som spökar här.

Om du inte vill bygga om allting från början så borde det räcka med att ta bort motsvarande objektfil och sedan köra länkningskommandot igen.
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Jag tog bort source/tinyaxml.cpp.obj och source/tinyxmlerror.cpp.obj och länkade om. Efter det kunde jag ladda mitt tidigare spel men sen krashade det efter en någon minuts spelande. I gdb visades då:

Kod: Markera allt

Program received signal SIGSEGV, Segmentation fault.
0x0075c4e3 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/libstdc++.so.6
(gdb)
Vilket är över min nivå att försöka tolka :) Jag testade även att köra deb-releasen av Energy Tycoon i gdb och då visades ett helt annat felmeddelande som slutar med:

Kod: Markera allt

Program received signal SIGABRT, Aborted.
0x0012e416 in __kernel_vsyscall ()
(gdb)
Hela meddelandet: http://yfrog.com/b7imag00211j
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Energy Tycoon

Inlägg av Konservburk »

Krashar både källkods- och deb-varianterna på samma ställe och på samma sätt?
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Energy Tycoon

Inlägg av m!rage »

Det krashar inte på något särskilt ställe utan är mest allmänt instabila. Det kunde krasha bara jag rörde musen något sätt. Nu har jag spelat deb-releasen en timme innan det dog igen så jag vet inte vad det beror på.

Jag fick förresten svar från tysken nyss:
Hi,

there's no need to report it anywhere as I'm the only one working on this game. I'm aware of the problem and it will be fixed in the next version, which I will release around the end of the year. Thanks for writing.

Regards
Michael
Verkar som att brorsan hoppat av :P
Skriv svar

Återgå till "Spel"