Jump to content

Tyron

VS Team (Lead)
  • Posts

    2092
  • Joined

  • Days Won

    947

Everything posted by Tyron

  1. News for this Update, again mostly internal updates: - Spent a lot of time stabilizing the Multithreaded systems on the client and server. Which is like balancing on a rope - Had to do some rewriting on how chunks are generating, which makes lighting easier - Completed Sunlight calculations, which means the terrain generator finally generates shadows in caves and und overhangs again Here's how the terrain now looks like with shadows. Some shadows are still glitchy. Pictures: https://imgur.com/a/ry7Fl View full record
  2. Tyron

    Let there be shadows

    News for this Update, again mostly internal updates: - Spent a lot of time stabilizing the Multithreaded systems on the client and server. Which is like balancing on a rope - Had to do some rewriting on how chunks are generating, which makes lighting easier - Completed Sunlight calculations, which means the terrain generator finally generates shadows in caves and und overhangs again Here's how the terrain now looks like with shadows. Some shadows are still glitchy. Pictures: https://imgur.com/a/ry7Fl
  3. Tyron

    Chunky fog?

    No big update this time, spent the majority of time working on internal systems and struggling with a decent lighting system. Played around a bit with fake volumetric fog, will probably be added permanently to the game. A bit more progress on the player hotbar, it now shows the health bar, food bar and 4 backpack inventories. Currently only the display is working, the health/food system and backpacks are not implemented yet. Added climate tinting of liquids, so now we can have murky green waters in a swampland and crystal clear water in cold areas. Did a lot of behind the scenes improvements (e.g. rewrite of the chunk render queue, consolidation of all vector classes, etc.) and bugfixes
  4. Tyron

    Chunky fog?

    No big update this time, spent the majority of time working on internal systems and struggling with a decent lighting system. Played around a bit with fake volumetric fog, will probably be added permanently to the game. A bit more progress on the player hotbar, it now shows the health bar, food bar and 4 backpack inventories. Currently only the display is working, the health/food system and backpacks are not implemented yet. Added climate tinting of liquids, so now we can have murky green waters in a swampland and crystal clear water in cold areas. Did a lot of behind the scenes improvements (e.g. rewrite of the chunk render queue, consolidation of all vector classes, etc.) and bugfixes View full record
      • 1
      • Like
  5. Tyron

    Terrain and Light

    New since last update: Added Lake generator (produces small lakes randomly) Improved Landform generation (landform specific terrain noise octaves) Preparing new Lighting system: All loaded chunks on the server and on the client are now compressed in-memory. The loaded chunks account for 60-90% of all memory consumption of the game, and the compression ratio for this kind of data is 95-99% which basically means the memory usage is 3-5 times less. The big challenge herin lies to do it efficiently so the game doesn't lag. I chose to run compression in a seperate thread (= runs in parallel), which is however known as a nightmare topic for many programmers to get it bug free. Preparing new Lighting system: Added data fields for each chunk to be able to store 32 block player light, 32 block sun light as well as about one more byte for storing color values (e.g. blue glowing mushrooms! This causes chunks to use more than twice the memory, so in-memory chunk compression was the solution that should hopefully get us there without loosing view distance. All in all quite the challenging task to juggle around with more than double the data, but that's what this project is here for - to push boundaries. This time I spent some extra time exploring the world, I start to quite like what it produces by now. Have a look! Pictures: https://imgur.com/a/0YXrO Up next: Bugfixing, Cleanup, Tweaking, Continue work on new lighting system View full record
      • 1
      • Like
  6. Tyron

    Terrain and Light

    New since last update: Added Lake generator (produces small lakes randomly) Improved Landform generation (landform specific terrain noise octaves) Preparing new Lighting system: All loaded chunks on the server and on the client are now compressed in-memory. The loaded chunks account for 60-90% of all memory consumption of the game, and the compression ratio for this kind of data is 95-99% which basically means the memory usage is 3-5 times less. The big challenge herin lies to do it efficiently so the game doesn't lag. I chose to run compression in a seperate thread (= runs in parallel), which is however known as a nightmare topic for many programmers to get it bug free. Preparing new Lighting system: Added data fields for each chunk to be able to store 32 block player light, 32 block sun light as well as about one more byte for storing color values (e.g. blue glowing mushrooms! This causes chunks to use more than twice the memory, so in-memory chunk compression was the solution that should hopefully get us there without loosing view distance. All in all quite the challenging task to juggle around with more than double the data, but that's what this project is here for - to push boundaries. This time I spent some extra time exploring the world, I start to quite like what it produces by now. Have a look! Pictures: https://imgur.com/a/0YXrO Up next: Bugfixing, Cleanup, Tweaking, Continue work on new lighting system
  7. - The Chunk Renderer has been rewritten. This is a big thing because the old system did not allow (what i am aware of) to use shaders on chunks and at the same time I used a very efficient system that collects up to 1000 chunks and draws them in one go (graphics cards are much faster when drawing a lot in one go). - The terrain is now permeated with long windy caves! These caves also branch off and produce caverns. In the long term there is a lot I still want to add to the cave system. - The underground now also has Vintagecraft-Style deposits or copper, iron ore, tin ore, bismuth ore and so on. - We've added the basics for an efficient particle system using a technique called instanced rendering. On my Laptop (Dell Inspiron 15Z) it currently can draw over 20.000 Particles without lagging the game. - The grass block sides are now smoothly tinted, which looks pretty nice Pictures: https://imgur.com/a/4DR9S Up next: Some more work on Terrain gen, preparing for new lighting system View full record
      • 2
      • Like
  8. - The Chunk Renderer has been rewritten. This is a big thing because the old system did not allow (what i am aware of) to use shaders on chunks and at the same time I used a very efficient system that collects up to 1000 chunks and draws them in one go (graphics cards are much faster when drawing a lot in one go). - The terrain is now permeated with long windy caves! These caves also branch off and produce caverns. In the long term there is a lot I still want to add to the cave system. - The underground now also has Vintagecraft-Style deposits or copper, iron ore, tin ore, bismuth ore and so on. - We've added the basics for an efficient particle system using a technique called instanced rendering. On my Laptop (Dell Inspiron 15Z) it currently can draw over 20.000 Particles without lagging the game. - The grass block sides are now smoothly tinted, which looks pretty nice Pictures: https://imgur.com/a/4DR9S Up next: Some more work on Terrain gen, preparing for new lighting system
  9. Since last update I've: - Added the Landform generator to terraingen, which a little bit similar to minecraft biomes, but it only defines the terrain and not the climate. This finally allows for some decent looking terrain!! \o/ - Rewritten the Texture Atlas composer which allows any size texture to be used while still packing the most amount of texture into the smallest space. This is needed so that Tallgrass can have a 48x48 texture to still have the same pixel density (because it is drawn diagonally) as other textures. - I've added basic support for tallgrass Pictures: https://imgur.com/a/pLthQ - I also played around with doubling (512 blocks) and quadrupling (1024 blocks) the worldheight, both are working fine, but the default terrain generator takes very much time to build the terrain. I could limit the terrain generator to 256 blocks and leave the remaining space for builders, then it should be fast again. I definitely am interested in breaking minecrafts old limits just for the heck of it ;-) It also looked super impressive to stand on top of a 200-300 block tall mountain, so still might be worth considering to get it running efficiently. In any case, the worldheight is freely configurable to any value as it already was in ManicDigger. The worldgenerator generates chunks in columns, but everything else is done in cubic chunks of 32x32x32 Pictures: https://imgur.com/a/fHJln Up next: Rewrite of the ChunkRenderer, Cave generation, Ore generation, Particle system View full record
      • 1
      • Like
  10. Since last update I've: - Added the Landform generator to terraingen, which a little bit similar to minecraft biomes, but it only defines the terrain and not the climate. This finally allows for some decent looking terrain!! \o/ - Rewritten the Texture Atlas composer which allows any size texture to be used while still packing the most amount of texture into the smallest space. This is needed so that Tallgrass can have a 48x48 texture to still have the same pixel density (because it is drawn diagonally) as other textures. - I've added basic support for tallgrass Pictures: https://imgur.com/a/pLthQ - I also played around with doubling (512 blocks) and quadrupling (1024 blocks) the worldheight, both are working fine, but the default terrain generator takes very much time to build the terrain. I could limit the terrain generator to 256 blocks and leave the remaining space for builders, then it should be fast again. I definitely am interested in breaking minecrafts old limits just for the heck of it ;-) It also looked super impressive to stand on top of a 200-300 block tall mountain, so still might be worth considering to get it running efficiently. In any case, the worldheight is freely configurable to any value as it already was in ManicDigger. The worldgenerator generates chunks in columns, but everything else is done in cubic chunks of 32x32x32 Pictures: https://imgur.com/a/fHJln Up next: Rewrite of the ChunkRenderer, Cave generation, Ore generation, Particle system
  11. I had some extra Time between the updates shown in the last articles and this one, so we got several new features: - A lot of code cleanups, tweaks, rewrites, fixes and also finished some incomplete features (finalized clouds, clouds move with the wind, refactor client commands, game window now remembers the window size, etc..) - A square moon and a new night sky! - Major push towards world generation (about 1000 lines of code added), which now generates the first component: Rock Layers! - Another worldgen component, at least a super basic version: Tree generation. Currently it generates 3 kinds of trees (birch, pine, oak) anywhere according to a forest map, using the tree generator from Vintagecraft. It is still missing a bunch more features. - To help me make sure that the climate is calculated correctly I added biome/climate colouring of blocks which now works for tallgrass blocks Pictures on https://imgur.com/a/3ZVpr Up next: Finally some decent terrain View full record
      • 1
      • Like
  12. I had some extra Time between the updates shown in the last articles and this one, so we got several new features: - A lot of code cleanups, tweaks, rewrites, fixes and also finished some incomplete features (finalized clouds, clouds move with the wind, refactor client commands, game window now remembers the window size, etc..) - A square moon and a new night sky! - Major push towards world generation (about 1000 lines of code added), which now generates the first component: Rock Layers! - Another worldgen component, at least a super basic version: Tree generation. Currently it generates 3 kinds of trees (birch, pine, oak) anywhere according to a forest map, using the tree generator from Vintagecraft. It is still missing a bunch more features. - To help me make sure that the climate is calculated correctly I added biome/climate colouring of blocks which now works for tallgrass blocks Pictures on https://imgur.com/a/3ZVpr Up next: Finally some decent terrain
  13. Thanks, feel free to also write your ideas in several posts.
  14. A shiny sky needs clouds too! Clouds are quite tough to implement due to the fact that graphics cards were not designed to draw half transparent objects, so you have to use various tricks to make it work, like sorting all objects every frame or implementing order independent transparency. Thankfully there's a lot of research on that - I chose to implement "Weighted Blended Order Indenpendent Transparency" invented by Morgan McGuire because its fast, comparatively easy to implement and delievers good enough results. 1. First working clouds with variable density (no WBOIT) It uses efficient rendering methods so it can render over a kilometer of clouds quite easily (at least at this stage of the game) 2. Less ugly clouds after implementing correct transparency rendering using WBOIT As you can see, the density and color of the clouds is just a value that can be changed anytime. This is important as I want to create different cloud patterns depending on the weather. The cloud system is also using Shaders, so i can easily color them according to the sky colors during sunset (they are also vertically offseted here just for testing, I might make it a permanent feature): Up next: More cleanup/refactoring and the beginnings of proper terrain generation.
  15. A shiny sky needs clouds too! Clouds are quite tough to implement due to the fact that graphics cards were not designed to draw half transparent objects, so you have to use various tricks to make it work, like sorting all objects every frame or implementing order independent transparency. Thankfully there's a lot of research on that - I chose to implement "Weighted Blended Order Indenpendent Transparency" invented by Morgan McGuire because its fast, comparatively easy to implement and delievers good enough results. 1. First working clouds with variable density (no WBOIT) It uses efficient rendering methods so it can render over a kilometer of clouds quite easily (at least at this stage of the game) 2. Less ugly clouds after implementing correct transparency rendering using WBOIT As you can see, the density and color of the clouds is just a value that can be changed anytime. This is important as I want to create different cloud patterns depending on the weather. The cloud system is also using Shaders, so i can easily color them according to the sky colors during sunset (they are also vertically offseted here just for testing, I might make it a permanent feature): Up next: More cleanup/refactoring and the beginnings of proper terrain generation. View full record
  16. Tyron

    Ambient and Sky

    New since last update: I've added an ambient/fog system that works by layering ambient/fog colors on top of each other. This will come in extremly handy when there are several factors influencing the range and color of the fog. Examples: Air Humidity, Day/Evening, Underwater, Deep underwater, Potion effects, etc. This system is already helping a lot in improving the look&feel when you jump into the water: After lots and lots of studying OpenGL the game engine now supports GLSL Shaders. It's first use: A shiny new implementation of the Sky, including sunrise and sunset. Here, witness the very first sunset in Vintage story youself ;-) In the video you can also see how the whole ambient and the fog is colored according to the suns color shift during sunset. This is also only possible due to the new ambient/fog system. I also added dithering to the sky renderer to reduce color banding, which makes the sky look almost silky smooth. In the video the color banding is very visible probably due to compression. Up next: Clouds
  17. Tyron

    Ambient and Sky

    New since last update: I've added an ambient/fog system that works by layering ambient/fog colors on top of each other. This will come in extremly handy when there are several factors influencing the range and color of the fog. Examples: Air Humidity, Day/Evening, Underwater, Deep underwater, Potion effects, etc. This system is already helping a lot in improving the look&feel when you jump into the water: After lots and lots of studying OpenGL the game engine now supports GLSL Shaders. It's first use: A shiny new implementation of the Sky, including sunrise and sunset. Here, witness the very first sunset in Vintage story youself ;-) In the video you can also see how the whole ambient and the fog is colored according to the suns color shift during sunset. This is also only possible due to the new ambient/fog system. I also added dithering to the sky renderer to reduce color banding, which makes the sky look almost silky smooth. In the video the color banding is very visible probably due to compression. Up next: Clouds View full record
      • 3
      • Like
  18. Tyron

    Trees, Fog and more

    TLDR: Screenshots below Since I have full freedom on what I want to work on next, I often just focus on area for a short amount of time and then continue with something else. It keeps my daily coding on the game a bit more colorful! The entity system got a complete rewrite, including some basic implementations of attribute trees and entity property system. These two system will allow to attach/detach behaviors and attributes to any entity which makes it a lot easier to add different entities in the future. The Vintagecraft tree generator is now migrated to Vintagestory, which is a very flexible piece of code to generate a large variety of trees. It took some extra efforts to make it load the various tree types from external json files, instead of being hardcoded like it was in Vintagecraft I'm a strong advocate for using a good toolset to achieve good results, so I am often spending time on adding stuff that help me spend less time on adding stuff ;-) Since last update I added automatic reloading of server mods, you just save the changes, the server immediately recognizes the change and reloads all mods. This speeds up development when I have to do many small changes. The creative inventory now shows an item tooltip when you hover over a slot, also I implemented moving items between slots using the mouse. I also added a new sun texture to replace the one from manic digger. I spent quite some time on getting the glow around the sun just right. I continued working on components required for worldgeneration. Before worldgen works as planned, many components have to be in place and working. I did some playing around with fog, which will be a big part of the game as part of a weather system. Pictures on https://imgur.com/a/5R4IS View full record
      • 2
      • Like
  19. Tyron

    Trees, Fog and more

    TLDR: Screenshots below Since I have full freedom on what I want to work on next, I often just focus on area for a short amount of time and then continue with something else. It keeps my daily coding on the game a bit more colorful! The entity system got a complete rewrite, including some basic implementations of attribute trees and entity property system. These two system will allow to attach/detach behaviors and attributes to any entity which makes it a lot easier to add different entities in the future. The Vintagecraft tree generator is now migrated to Vintagestory, which is a very flexible piece of code to generate a large variety of trees. It took some extra efforts to make it load the various tree types from external json files, instead of being hardcoded like it was in Vintagecraft I'm a strong advocate for using a good toolset to achieve good results, so I am often spending time on adding stuff that help me spend less time on adding stuff ;-) Since last update I added automatic reloading of server mods, you just save the changes, the server immediately recognizes the change and reloads all mods. This speeds up development when I have to do many small changes. The creative inventory now shows an item tooltip when you hover over a slot, also I implemented moving items between slots using the mouse. I also added a new sun texture to replace the one from manic digger. I spent quite some time on getting the glow around the sun just right. I continued working on components required for worldgeneration. Before worldgen works as planned, many components have to be in place and working. I did some playing around with fog, which will be a big part of the game as part of a weather system. Pictures on https://imgur.com/a/5R4IS
  20. After some massive refactoring work of various Manic Digger Components a new gui system has sprung to life \o/ The refactoring included consistent use of xyz axes, threaded server components, new chunk loader, terraingen rewrite, refactor server api system, inventory rewrite, embedding of a new graphics libary and more. While programming the gui system I drew inspiration from two main sources: World of Warcraft and HTML+Cascading Stylesheets, the latter is used to neatly format what you are looking at right now ;-) The main idea is that the player can have any quantity of dialogs opened simultaneously. Just like in WoW where you can open up your character screen seperatly from your inventory. These dialogs consist of individual elements that can be either freely or automatically placed using alignments, paddings and margins. This allows me to quickly cobble together many different guis from a fairly small set of elements, because I really can't be bothered fiddling around with positioning everything by hand if I don't have to. All of the GUI System is coded from scratch using just a basic drawing library named Cairo. I generally shy away from using large libraries/frameworks (like Unity) and try to code as much as I can myself. Below screenshot show the very first version of the creative inventory. Already complete with scrollbar and search function. In the background you can also the first few steps towards terrain generation have been made already. Beyond that, it can also render fancy switches (please ignore the messy element positioning ^_^;) Up next: Trees, Fog and Water
  21. After some massive refactoring work of various Manic Digger Components a new gui system has sprung to life \o/ The refactoring included consistent use of xyz axes, threaded server components, new chunk loader, terraingen rewrite, refactor server api system, inventory rewrite, embedding of a new graphics libary and more. While programming the gui system I drew inspiration from two main sources: World of Warcraft and HTML+Cascading Stylesheets, the latter is used to neatly format what you are looking at right now ;-) The main idea is that the player can have any quantity of dialogs opened simultaneously. Just like in WoW where you can open up your character screen seperatly from your inventory. These dialogs consist of individual elements that can be either freely or automatically placed using alignments, paddings and margins. This allows me to quickly cobble together many different guis from a fairly small set of elements, because I really can't be bothered fiddling around with positioning everything by hand if I don't have to. All of the GUI System is coded from scratch using just a basic drawing library named Cairo. I generally shy away from using large libraries/frameworks (like Unity) and try to code as much as I can myself. Below screenshot show the very first version of the creative inventory. Already complete with scrollbar and search function. In the background you can also the first few steps towards terrain generation have been made already. Beyond that, it can also render fancy switches (please ignore the messy element positioning ^_^;) Up next: Trees, Fog and Water View full record
      • 1
      • Like
  22. Tyron

    The beginnings...

    "If I have seen further, it is by standing on the shoulders of giants." - Isaac Newton Vintage Story will not begin from Zero, there is no need for that. Instead it will use an existing game named Manic Digger as a basis. While being pretty basic content wise, it hides a few unpolished gems in its source code. It is extremly forthcoming by the authors of Manic Digger to release source code into the public domain, which allows everybody to use it for any purpose they desire, for which I am very thankful. It allows me to kickstart Vintage Story without the need to implement the basics first. Hence, my primary goals at first were to strip down the game engine to it's most esssential parts and massively clean up, simplify and reorganize the remaining code. This is still an ongoing process and will probably continue for several more months to come. Once this is done, it is likely that less than a few percent of the original code remains untouched. Here is the very first screenshot after I added a new block loader system to have the very first blocks from Vintagecraft in our new game. Please be aware that nothing in these screenshots is final and there's many textures that need to be replaced still. Up next: A brand new GUI System View full record
      • 2
      • Like
  23. Tyron

    The beginnings

    [Edit 9.Aug.2016] Seems like I accidently deleted this entry and no possibility to restore it ? The Text I still remember that I wrote: Vintage Story will not be written from Scratch, there is no need for that. Instead it will be based on the game Manic Digger whose Authors graciously have placed the entire game source under public domain, for which I am extremly thankful because it will let me kickstart my game and not worry about implementing the very essentials first. The game itself looks, let's say, very rough, but it hides a few unpolished gems in it's source code. Below Screenshot is the very first visible progress on the game, as I have written a new block loading system that loads blocktypes from external json files. The line of blocks you see there are directly taken from my mod Vintagecraft. I've also already managed to render blocks as 3D models within manic diggers gui system
  24. Tyron

    The beginnings

    [Edit 9.Aug.2016] Seems like I accidently deleted this entry and no possibility to restore it ? The Text I still remember that I wrote: Vintage Story will not be written from Scratch, there is no need for that. Instead it will be based on the game Manic Digger whose Authors graciously have placed the entire game source under public domain, for which I am extremly thankful because it will let me kickstart my game and not worry about implementing the very essentials first. The game itself looks, let's say, very rough, but it hides a few unpolished gems in it's source code. Below Screenshot is the very first visible progress on the game, as I have written a new block loading system that loads blocktypes from external json files. The line of blocks you see there are directly taken from my mod Vintagecraft. I've also already managed to render blocks as 3D models within manic diggers gui system View full record
      • 2
      • Like
  25. Hello! I'm glad to see you here! This will be the place where I, starting from today, will post regular updates about the current state of the game. As many of you might know I am working on a blocky sandbox game which is based on my full conversion modification named Vintagecraft. I am doing this as my nearly full time job now and hope to release it in Spring 2017. I am extremly eager to implement my ideas into the game and watch players using them. I have already been working for 2 months on Vintagestory and I am making large strides towards a playable game. Any questions or suggestions? Let's have a talk in the forums!
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.