hifoz / tgag Goto Github PK
View Code? Open in Web Editor NEWBachelor Thesis :: "The Grass is Always Greener: A Procedurally Generated Game"
License: Other
Bachelor Thesis :: "The Grass is Always Greener: A Procedurally Generated Game"
License: Other
After messing a little with world gen parameters, I came across a bug where the rng in LSystemTreeGenerator.GenerateLSystemTree() would throw because the position sent in was to small for a function called inside.
After some debugging I found that somehow, the position passed to GenerateLSystemTree() was (-Infinity, -Infinity, -Infinity), which shouldn't be possible because we already checked for the vector being negative infinity in CVDT.handleChunkOrder(). It appears that
Vector3.negativeInfinity == new Vector3(-Infinity, -Infinity, -Infinity)
is False. The solution I found was to not check with Vector3.negativeInfinity, but to check each of the components of the vector with float.IsInfinity(value) instead, which does work.
Turning into the NPC fixes it.
Sometimes you'll run into an NPC that is stuck, might be a spawning thing, not sure yet.
We've had this issue for a while, but sometimes you'll see a fish npc shooting off like a comet in one direction. Might be related to world shift(not sure).
Most of the code in SyntheticBenchmarkManager is commented out. When I un-comment it all trees spawn at 0,0
We can gather data about the issue here.
I tried changing a lot of camera settings, basically everything in the camera component, nothing had an impact (Except lowering the far clipping plane).
I tried making the issue worse, by making dv and du normal Vector3, and subtracting -0.001f from height and width, picture of result (adding small numbers to height and width reduces artifacting):
Might not be clear from the picture, but if you try your self and see ingame, its clear that the artifacting only happens between borders of faces.
Turning off fade to skybox in the camera fog script eliminates all artifacting from ingame view.
Image of an idea regarding bordering (very professional):
I wonder if the fact that the faces can now border "Nothing" as shown in "Leaky border", where the vertex of one face has no equivalent vertex in the next face can be the cause for the artifacts. So when the shader does its interpolation as its moving from the vertex to the fragment shader, the interpolated values at the border for the two faces might become slightly different, because they are calculated from a different set of vertexes. If this theory is correct, a solution could be to do border winding, where you identify the borders of the face in the plane, and wind triangles from the border to the center, then all faces would have equivalent vertexes with their neighbors.
Noticed that pendingChunks was > waiting chunks even after standing still for some while, they should equal each other when the world generation has caught up. This only happend after a world shift. I have set worldshift distance to 10 000 in the mean time which disables the world shifting.
When launching a game from main menu in the build, the mouse is hidden but not locked.
Sometimes when I jump, it seems like gravity never kicks in and I just keep flying upwards forever.
Gif showing me floating upwards after jumping
This is the second time I've seen this, last time was like 2 weeks ago. I have not been able to recreate it on purpose.
The entire screen is just black, the esc menu works though, so you can get back to main menu.
Maybe making Vector2Seed more like the shader hashing function could work, the shader hash function seems to handle large numbers well.
Spine leveling can break when under an overhanging structure, because the downards raycasts hit the "wrong ground" This issue was mentioned before, in #84 review (in discord).
I know how to fix it, not doing an offset for the raycasts (raycasting down at the ground from high up), but raycasting from inside a solid and at empty space instead (for when the raycast origin is inside a solid, we can raycast up at empty space, if raycast origin is in empty space we raycast down at solids as usual).
Mentioned in #64
Seen sometimes in NPCs, becoming the NPC does not fix it.
My game runs with 3 threads, unless i open the settings menu before playing (Opening the menu is enough, don't have to apply or change any settings).
The cause is the fact that SettingsUI.Start() wont be called until you open the menu, and that's the function that loads settings.
Maybe having the settings menu default to enabled, and having start end with this.setActive(false) would work?
Sometimes when you play as an air animal you'll have an acceleration that is too high.
Think this happens if you become an AirAnimalNPC that is "ascending"
If you spam the various keys WASD while using freelock(alt) the screen can turn black and the animal will spasm.
Currently the tree spawning logic only checks the if the block at the tree trunk is unobstructed, and thats the only criteria.
Think its related to the fact that chunk mesh colliders are no longer enabled/disabled, before we used to enable/disable the colliders when doing a world shift, to update them.
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.