jasonrohrer / onelife Goto Github PK
View Code? Open in Web Editor NEWa multiplayer survival game of parenting and civilization building
Home Page: http://onehouronelife.com
License: Other
a multiplayer survival game of parenting and civilization building
Home Page: http://onehouronelife.com
License: Other
I know I already contacted you, but the bug is still there, and I think this is the right way to post the issue.
I want to create a dung pile in where stack up to 10 dungs. Is pretty the same than a stone pile but the dung is carried by shovel instead of hand.
I made a copy from stone pile. Set id = 30001, name = dung pile, and switching all sprite ids with the sprite of dung.
I made all transitions to make it work. All of them working pretty nice but one. 900_899 which is actually the creation of the dung pile.
900_899.txt contents:
502 30001 0 0.000000 0.000000 0 1 0 1
which as far as i understand is: when shovel with dung used on dung then gimme back a shovel, create a dung pile, and set the inverse use for target so it creates with 1 use instead of full.
If i change the 502 to 0 it works, but I lose a shovel in the way :)
Just in case it matters, here is the 900_899_LA.txt code:
0 30001 0 0.000000 0.000000 0 1 0 1
But people try and then join the discord server or post to the forum about how they bought a gift card to buy the game and now they can't buy it.
It might be a good idea to put a disclaimer/warning somewhere that gift cards can't be used for the purchase.
I added some debugging statements in the relevant places:
else {
// already dying,
// and getting attacked again
// halve their remaining
// stagger time
double currentTime =
Time::getCurrentTime();
double staggerTimeLeft =
nextPlayer->dyingETA -
currentTime;
printf("staggerTimeLeft is %f\n", staggerTimeLeft );
if( staggerTimeLeft > 0 ) {
staggerTimeLeft /= 2;
nextPlayer->dyingETA =
currentTime +
staggerTimeLeft;
}
printf("Player will now die at %f\n", hitPlayer->dyingETA );
}
My output was this:
Got client message from 348: KILL 2 -22
staggerTimeLeft is -1530353469.273000
Player will now die at 1530353498.313000
Need to send updates about these 1 players: 348,
Sending updates about these 1 players: 348,
2/2 players were sent part of a 1-line PU: 347, 348,
Got client message from 348: KILL 2 -22
staggerTimeLeft is -1530353469.673000
Player will now die at 1530353498.313000
Need to send updates about these 1 players: 348,
Sending updates about these 1 players: 348,
2/2 players were sent part of a 1-line PU: 347, 348,
Got client message from 348: KILL 2 -22
staggerTimeLeft is -1530353470.090000
Player will now die at 1530353498.313000
When running a local server and I try to connect, the server throws an segmentation fault.
Running the server with GDB I get the following message:
0x000055555555a017 in getFemale (inPlayer=0x7fffffffc8a0) at server.cpp:1110
1110 return ! r->male;
EDIT: Running on Archlinux 64 bit
EDIT2: nvm, just forget to symlink the folders, runs fine now. Sorry for inconvenience.
Dead calves currently do not despawn. There is no transition to kill domestic bison or cow.
Both the steel axe and chest vanish when using the axe on a chest to destroy it.
Same is true for marked graves being dug up with a shovel.
Shovel on marked grave deletes shovel
https://github.com/jasonrohrer/OneLife/blob/master/build/source/buildAndPostLinux.sh#L28
While they are not perfect, sub-modules or a similar mechanism may help build-system. Thoughts?
When the games autopathing hits its limit to place items any new item used on a teleporter will instead disappear into the teleporter and be deleted.
Only thing that cannot be deleted in this manner that are held is babies.
compiling latest server and client code
connecting to local server
client gets stuck on loading map screen
keeps receiving data, is connected to server, and if server shutdown client dies properly
all credit to UncleGus
Found while testing Chard's server which spawns a bear if you pick milkweed at the wrong time:
Stacktrace:
#0 0x0000000000457528 in LivingLifePage::step (this=0x30a4560) at LivingLifePage.cpp:9882
#1 0x00000000004344ec in PageComponent::base_step (this=0x30a4560) at PageComponent.cpp:54
#2 0x00000000004367ad in GamePage::base_step (this=0x30a4560) at GamePage.cpp:334
#3 0x0000000000406f9e in drawFrame (inUpdate=1 '\001') at game.cpp:1234
#4 0x00000000004ee8fa in GameSceneHandler::drawScene (this=0x9a3e40) at ../../minorGems/game/platforms/SDL/gameSDL.cpp:3044
#5 0x00000000004bb5df in callbackDisplay () at ../../minorGems/graphics/openGL/ScreenGL_SDL.cpp:2766
#6 0x00000000004b9f8f in ScreenGL::start (this=0x7f1e70) at ../../minorGems/graphics/openGL/ScreenGL_SDL.cpp:2007
#7 0x00000000004ed5de in mainFunction (inNumArgs=1, inArgs=0x7fffffffdc98) at ../../minorGems/game/platforms/SDL/gameSDL.cpp:2472
#8 0x00000000004e8bf6 in main (inArgCount=1, inArgs=0x7fffffffdc98) at ../../minorGems/game/platforms/SDL/gameSDL.cpp:23
LivingLifePage.cpp:9882 for me is:
ourID = ourObject->id;
The client crashes when it gets the first player update, which looks to be empty:
Got length 3 message
PU
Server log:
Got connection
Listening for another connection on port 8005
Got new player logged in
Placing new Eve: Found an existing camp at (1714.310102,13302.689898) with 3 placements and 0.756388 max radius
Placing new Eve: trying radius of 104 from camp
New player ***** connected as player 63
Object moving from (1710,13307) to (1714,13303)
Compressed 328 bytes down to 108
Object moving from (1718,13291) to (1722,13287)
Compressed 5865 bytes down to 236
Logging Eve death: Eve died too young (age=14.033450, min=60.000000), not remembering her camp, and clearing any old camp memory
Compressed 1736 bytes down to 385
Object moving from (1722,13287) to (1724,13285)
Got connection
Listening for another connection on port 8005
Got new player logged in
Placing new Eve: Found an existing camp at (1714.000000,13303.000000) with 1 placements and 0.000000 max radius
Placing new Eve: trying radius of 104 from camp
New player ***** connected as player 64
Compressed 5865 bytes down to 236
Logging Eve death: Eve died too young (age=14.016750, min=60.000000), not remembering her camp, and clearing any old camp memory
Object moving from (1724,13285) to (1720,13289)
Closing connection to player 63 on error (cause: Socket write failed)
1 remaining player(s) alive on server
Object moving from (1714,13303) to (1718,13303)
Object moving from (1720,13289) to (1725,13294)
Closing connection to player 64 on error (cause: Player killed by permanent object)
0 remaining player(s) alive on server
Object moving from (1718,13303) to (1723,13303)
Object moving from (1723,13303) to (1719,13299)
Right now kids that are wounded drop the wound when picked up. They appear healthy when put back down, making it impossible to heal them.
Reproduce:
Solution:
When there is no look-time db, create one where all tiles which have data are marked as seen at the current time.
Hello Jason, thanks for the great game, I just purchased it and really like it.
Looking at the repository I noticed you put a `no_copyright.txt' file. I have some concerns with it:
As popularity grows (I certainly hope so!) some of these issues will have more probability of happening.
Ideally you would want to have a custom license to make sure your purposes with this enterprise are covered, while still being free software or open source, but that would require legal advice and time I am not sure you have at your disposal.
In the meantime, using a copyleft license would make sure that if a company wants to modify this game everyone can reap the benefits. There are other licenses that enforce other rules that may be desirable (a company that just runs modified servers would not need to release the source code for some licenses).
I think GPL or AGPL is a nice start, you can always relicense it later. If you want to be permissive for use within proprietary software I suggest the MIT license, which just requires the copyright notice to be available on redistributions and clears you from any responsibility over the source code's use. The most (serious) similar license I could find to your no_license.txt
is the Unlicense, which also frees you from liabilities.
I do not have an extensive knowledge on the matter though, I am not a lawyer, I am just someone who is enthusiastic about your game with some concerns. I also do not have any agenda towards this change, I simply want your hard work and effort not be ripped off in any way.
If an object is surrounding a player while riding horse with cart and the cart tips, the player is stuck on the horse until they starve or are stabbed.
Unable to get rid of rose bushes
I raised this here because there doesn't seem to be anything wrong with the transition data, so my best guess is it's a code problem relating to categories. It seems skewer + skewer = flint and weak skewer + weak skewer = knife. There are probably others, and my guess is it's when a category is used on itself.
There is no age limit for poking bear caves, which makes a popular and less punishing way of griefing by running away as a baby and clicking on any nearby bear caves until the baby starves. This leaves towns with bears to deal with and no way to tell who did it.
The game is running really fine until I switch focus to another application. Then it starts to burn my computer alive with a process running at 100% of single cpu.
OSX High Sierra 10.13.3 (17D47)
MacBook Pro (15-inch, 2017)
I would like to generate a .dot file, or maybe a dash application, with a tech tree for this game, and I would like to do so by scanning some file with a python script which contains the x + y = z documentation in the window. Where is all that stuff?
When the client uses echo 1 > autoLogin.ini
pointed at a local server with no saved credentials, the client segfaults. When autoLogin is disabled and you enter some fake email/key the game loads without issue.
It would be great to be able to ffwd/rewind playback of a recorded game, perhaps using the left and right arrows to move a minute at a time? As things currently stand, your entire session is recorded in a single playback session and if it contained many games that means a long wait to find the part you were looking for!
Pine walls do not decay and are impossible to move once placed down.
I put this here because the data looks fine, so it's probably something to do with the code changes made to preserve number of uses for the chisel et al.
After being shot and having the calf taken away, dead bison does not decay.
So I tried to log in on server3 but it failed with the red message "Server full", so I tried again, I assume it brings us to another server. Then, I had a weird bug: every partially full berry tree appeared as a mouflon, partially emptied ponds appeared as mouflons, partially pulled carrot fields as baby mouflons.
Logging out I see on the forums that a new version was out on the 8th. I had not updated. Usually login fails when I have not the latest version but this time it worked, maybe because of the fact I was first refused to login to a full server?
For my community server it seems the database got corrupted. I got a lot of funny business going on, like:
Friendly (as in not moving) bears
At some point I had a berry bush turn into a bowl of dough when I picked a berry from the bush. (but cannot reproduce it anymore)
Also I am pretty sure I have had rattle snake skins before i updated the server.
It seems to be related to have a server without the 71 content update connecting to a 67 server. Not sure how this could make things go wrong but it does correlate
Any ideas how to cleanup the db?
Cisterns full of water are able to be destroyed with pick axe, getting rid of all the water that was inside.
Range for launching items out of a decaying basket seems to be < 3 tiles from where the basket decays. If area is cluttered around the basket at time of decay items will be deleted instead of placed on the ground.
Currently occurs the same way with destroying boxes/chests. All items within the chest will be deleted if area around chest is cluttered prior to destruction.
attached is my local change that keeps the original function while removing the repeated for loop; marked at lines 3048 through 3065
file format changed to .txt due to file format upload limitations
~/games/OneLife$ ./configure
./configure: 7: ./configure: ../minorGems/game/platforms/SDL/configure: not found
I am not sure what is wrong as I have both libsdl1.2debian-dev
$ aptitude search libsdl1
i libsdl1.2-dev - Simple DirectMedia Layer development files
$ aptitude search libsdl2-dev
i libsdl2-dev - Simple DirectMedia Layer development files
I did look at the documentation to see if I forgot any compilation notes or something but didn't see anything of the sort .
The game crashed as I was taking and dropping objects.
gdb tells me that heldObject
is null when accessed with heldObject->rideable
.
I used a client that I compiled with the pullAndBuildLatest script. The version is OneLife_v64
.
Here is the call stack:
#0 0x000055555559c2bf in LivingLifePage::drawLiveObject (this=0x5555589875c0, inObj=0x55555cfcd9d8, inSpeakers=0x7fffffffd240, inSpeakersPos=0x7fffffffd220) at LivingLifePage.cpp:2864
#1 0x00005555555a0eb9 in LivingLifePage::draw (this=0x5555589875c0, inViewCenter=..., inViewSize=1280) at LivingLifePage.cpp:4458
#2 0x000055555559286d in GamePage::base_draw (this=0x5555589875c0, inViewCenter=..., inViewSize=1280) at GamePage.cpp:320
#3 0x0000555555565c5a in drawFrameNoUpdate (inUpdate=1 '\001') at game.cpp:1753
#4 0x0000555555565bc0 in drawFrame (inUpdate=1 '\001') at game.cpp:1735
#5 0x0000555555646414 in GameSceneHandler::drawScene (this=0x555555adb340) at ../../minorGems/game/platforms/SDL/gameSDL.cpp:3044
#6 0x0000555555614866 in callbackDisplay () at ../../minorGems/graphics/openGL/ScreenGL_SDL.cpp:2766
#7 0x00005555556131e5 in ScreenGL::start (this=0x55555595eb40) at ../../minorGems/graphics/openGL/ScreenGL_SDL.cpp:2007
#8 0x00005555556451da in mainFunction (inNumArgs=1, inArgs=0x7fffffffe288) at ../../minorGems/game/platforms/SDL/gameSDL.cpp:2472
#9 0x00005555556408c0 in main (inArgCount=1, inArgs=0x7fffffffe288) at ../../minorGems/game/platforms/SDL/gameSDL.cpp:23
One Linux with a dual monitor setup OneLife creates one window over both monitors. Also the mouse position is not correctly used, so click events seem to not go to the right position. For example I cannot click on the settings button.
I can't find the exe, or something.
You are still able to purposefully or accidentally stab others with a buttered knife.
Left clicking an occupied tile will cause you to dismount and swap your held item (the horse) with the item on the ground. Does not actively swap the two items if you left click on the object but clicking anywhere else on the tile causes the swap.
Using sound should play if the newActor has no creation sound, or newActor's creation sound is set to initial only.
In my example, I have an object called "Hot Copper Ingot On Copper Anvil#hammer,working" which is permanent and has a using sound. I have a transition of "@ Hammer" on "Hot Copper Ingot On Copper Anvil#hammer,working" = "@ Hammer" and "Hot Copper Ingot On Copper Anvil#hammer,working", which consumes one use of the "Hot Copper Ingot On Copper Anvil#hammer,working" object, but no sound plays. When I set the newActor of the transition to empty, then the using sound of the "Hot Copper Ingot On Copper Anvil#hammer,working" plays.
I think this might be affecting the goose ponds in the base game, as they have a "splash" using sound, which is not played when using a bucket on it, for example.
I also realise that asking you to fix this for my mod is pretty selfish, so don't treat this as high priority :)
// shoes on top of feet
if( inClothing.backShoe != NULL && i == backFootIndex ) {
drawObject( inClothing.backShoe, 2,
backShoePos, backShoeRot, true,
inFlipH, -1, 0, false, false, emptyClothing );
}
else if( inClothing.frontShoe != NULL && i == frontFootIndex ) {
drawObject( inClothing.|||| backShoe ||||, 2,
frontShoePos, frontShoeRot, true,
inFlipH, -1, 0, false, false, emptyClothing );
}
}
Should backShoe be frontShoe?
Since the last update (v116) every time I launch the game it crashes before finishing the object loading sequence. I tried to get the information given by the terminal when I launch the game from it. Hopefully you'll be able to fix it.
PS: I'm running Ubuntu Xenial (16.04).
GPU: GTX 930M with the nouveau latest nouveau driver.
CPU: i5-6200U 4 cores @2.3Ghz
RAM: 8Gb DDR4
GMT epoch time = 0
Decompressing took 0.000000 seconds
Loaded 1028 tagged sprites from sprites folder
Loaded 237 sound IDs from sounds folder
Decompressing took 0.012000 seconds
Loaded 897 animations from animations folder
Finished loading animation bank in 0.373000 sec
Decompressing took 0.021000 seconds
Object id 793 (The Apocalypse) seen as an apocalypse trigger
Loaded 1074 objects from objects folder
Auto-generated 722 'used' objects
Auto-generated 210 'variable' objects
Finished loading object bank in 0.952000 sec
Decompressing took 0.000000 seconds
Loaded 41 categories from categories folder
Finished loading category bank in 1.274000 sec
Decompressing took 0.004000 seconds
Frame rate = 44.782803 frames/second
Loaded 1546 transitions from transitions folder
Auto-generated 697 transitions based on categories
Auto-generated 0 transitions based on pattern categories
Run 0: Auto-modified 219 transitions based generic use transitions and auto-added 154 last use generic transitions (39 objects had generic use transitions defined).
Run 1: Auto-modified 1 transitions based generic use transitions and auto-added 154 last use generic transitions (39 objects had generic use transitions defined).
Segmentation fault (core dumped)```
If you need anything else just tell me.
If the server is started for the first time and shut down without a player joining, the Eve db becomes broken. It is fixed by removing the db files and restarting.
if( tr->autoDecaySeconds != 0 ) {
// this use dummy auto-decays
// back to previous use dummy
newTransD.target = o->useDummyIDs[ u ];
newTransD.newTarget =
o->useDummyIDs[ u + 1 ];
}
else {
newTransD.target = o->useDummyIDs[ u ];
newTransD.newTarget =
o->useDummyIDs[ u + 1 ];
}
Both of these cases execute the same code.
Since the decay transition is still set to the same amount of time, when the stagger time is reduced, the wound still exists after the player has died and is dropped on the ground.
Blush emote causes blushing breasts when wearing clothes
What if each individual had a single favorite food that gives a slight food bonus.
When I run the convertDb.sh script, I get an error opening every KissDB file. They are all present, but it says they can't be opened. Is there another way to address this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.