State of Fortune

Hi,

I have all of those things on my list as well :slight_smile:

I’d like to do all intrusive changes at once though so I don’t have to reset the world for a very long time.

The new map generation is done. I’ve made the world into a huge island instead of the ā€œinfiniteā€ world. The island looks a lot more interesting and if it ever runs out of space I can always add a harbor to explore other islands.

I’m currently testing out kryonet instead of using my horrible blocking network implementation of gzipped strings.

Kind regards,
Mike

I think you dont have to go so far with this. It would be fun to see animals in the game for example and be able to herd them or do different stuff with it. Or maybe create horses so travelling long distances would be faster. Add different kinds of crops. The’re are countless ideas I have but maybe it would be easier to think about the basic things first?

Hi,

I have all of those things on my list as well :slight_smile:

I’d like to do all intrusive changes at once though so I don’t have to reset the world for a very long time.

The new map generation is done. I’ve made the world into a huge island instead of the ā€œinfiniteā€ world. The island looks a lot more interesting and if it ever runs out of space I can always add a harbor to explore other islands.

I’m currently testing out kryonet instead of using my horrible blocking network implementation of gzipped strings.

Kind regards,
Mike

Oh lord, Mike you are my hero. I love the idea of using islands.

My banter below, feel free to ignore:
[spoiler]I think another interesting idea if people do run out of land is to set up a sort of public fund, to create a nearby artificial island. It’s way more complex, but say, you add it close enough to see, and you set up a bridge and all that, so that people will have to wait to get out to it, and will get excited for it, and have to pay into the new land to get to it. (Using in game currency they have obtained of course)

Good way to create an artificial money sink in a game like that, and you could make it so it’s ā€œgovernmentā€ funded partially, and over time will get completed either way, so that it doesn’t limit the actual game, just gives people something to spend on. Of course, you could always just make this sort of idea as a ā€œbuilding a connection to a newly discovered islandā€ instead of an artificial one, but it’s an interesting way to go about it.

You could do some crazy stuff though, like adding in a literal government system and elections, giving some players the power to pass laws which get voted on by the population of their island that they govern, etc. It is called State of Fortune after all, never a bad reason to add politics and ways to spend money. At that point, it turns less about your idea of agriculture and exchange though and more into a colonization sim.[/spoiler]

Anyway, those are just my tidbits of ideas, I’m sure whatever you do with the actual gameplay will be good, hell it already is fun to play and you’re focusing on the technical side still. Hope to see more updates from you in the future.

Oh lord, Mike you are my hero. I love the idea of using islands.

My banter below, feel free to ignore:
[spoiler]I think another interesting idea if people do run out of land is to set up a sort of public fund, to create a nearby artificial island. It’s way more complex, but say, you add it close enough to see, and you set up a bridge and all that, so that people will have to wait to get out to it, and will get excited for it, and have to pay into the new land to get to it. (Using in game currency they have obtained of course)

Good way to create an artificial money sink in a game like that, and you could make it so it’s ā€œgovernmentā€ funded partially, and over time will get completed either way, so that it doesn’t limit the actual game, just gives people something to spend on. Of course, you could always just make this sort of idea as a ā€œbuilding a connection to a newly discovered islandā€ instead of an artificial one, but it’s an interesting way to go about it.

You could do some crazy stuff though, like adding in a literal government system and elections, giving some players the power to pass laws which get voted on by the population of their island that they govern, etc. It is called State of Fortune after all, never a bad reason to add politics and ways to spend money. At that point, it turns less about your idea of agriculture and exchange though and more into a colonization sim.[/spoiler]

Anyway, those are just my tidbits of ideas, I’m sure whatever you do with the actual gameplay will be good, hell it already is fun to play and you’re focusing on the technical side still. Hope to see more updates from you in the future.

Anyone still logging in? Just bought ovens to increase my income. Though some nice features that mike have thought and I talked about of have never been added since :frowning:

Anyone still logging in? Just bought ovens to increase my income. Though some nice features that mike have thought and I talked about of have never been added since :frowning:

Indeed, sorry about that, life came inbetween. I am grabbing some time here and there at the moment to work on Alpha 2.0.

Kind regards,
Mike

Indeed, sorry about that, life came inbetween. I am grabbing some time here and there at the moment to work on Alpha 2.0.

Kind regards,
Mike

Anything you can state here or at the SoF board already? ^^

Sorry for the long post, but I just dropped it all in here, so take it with a grain of salt!

It’s mostly me trying things out behind the scenes that will have a big impact now or down the line. Here is a list of things that I’m currently trying out. It might not all make it though so don’t get your hopes up on all the points :slight_smile:

1. Use a big island (about 400km2) instead of the infinite land. Down the line it’d be great to go by boat to other islands, but that won’t make this update for sure. I’ve added some examples of how the island generation looks like (it is pure noise, I don’t do any precomputed calculations over the whole map). The mountain ranges look weird, but it’s a thin line between a great looking map and great looking views in game (already completed)

http://stateoffortune.com/pictures/alpha2/map1.png


http://stateoffortune.com/pictures/alpha2/map2.png


http://stateoffortune.com/pictures/alpha2/map3.png


http://stateoffortune.com/pictures/alpha2/map4.png

2. Change the client<->server communication to Kryonet. I’m tired of breaking things because I forget to pass all parameters in my string communication as well as NIO being a whole lot better for scalability :slight_smile:

3. Change the mountain texture to look better from a distance and the sand texture to look better from up close (already completed).

4. Add random patches of sand/stone instead of having a uniform texture on the ground (already completed).

5. Change the trees so shadows can be cast on them, as well as them looking a lot better (partly completed).

6. Implement forests instead of just placing random trees (already completed).

7. Look into digging. There are a couple of challenges though which might make me drop this.

  • A. The water is currently a flat quad to make it impossible for grievers to, for example, flood the land of someone. If I were to add digging I’d have to split up the water into a whole lot of quads, possibly decreasing the FPS.
  • B. The big challenge is the LOD of the land. I can now draw huge drawing distances as I can easily lower the LOD of the land. Once people can start digging in the land that becomes a whole lot harder and will cause quite big movements between the different LOD levels. Does anyone have experience with anything like this? There is a reason why Minecraft doesn’t do LOD :slight_smile:

8. Shift all blocks 0.5 units, making it easier to implement digging as the four corners of a land tile will correspond with the 4 corners of a block.

9. Allow you to buy land wherever you want instead of on pre-determined plots. With the new map generation there will be some interesting places, and I won’t limit you from building a cute cottage on that island that you need to swim to for half an hour the first time you go there :slight_smile:

10. A real map so you can see where on the island you currently are (also used for buying land).

11. Add random stones and bushes to make the landscape less repetitive.

12. Add a setting for huge draw distance (10km) instead of the current limitation of 1km for the super computers out there. Should be quite easy as I already need that data for the map.

13. Instead of the blurring of distance objects, make them fade to the sky color (already completed).

14. Fix some of the known issues.

I’ll post some screenshots once I can start the game up again and some more of the changes are implemented.

I’d also like to finish the Oculus Rift support (got my DK2 today!) but that’ll have to be after Alpha 2.0.

Mike

Anything you can state here or at the SoF board already? ^^

I’m not sure about your reasoning? You keep one quad, and as you dig, you will see this quad appear as the terrain will be lower than the water (think of it as ground water level).

Sorry for the long post, but I just dropped it all in here, so take it with a grain of salt!

It’s mostly me trying things out behind the scenes that will have a big impact now or down the line. Here is a list of things that I’m currently trying out. It might not all make it though so don’t get your hopes up on all the points :slight_smile:

1. Use a big island (about 400km2) instead of the infinite land. Down the line it’d be great to go by boat to other islands, but that won’t make this update for sure. I’ve added some examples of how the island generation looks like (it is pure noise, I don’t do any precomputed calculations over the whole map). The mountain ranges look weird, but it’s a thin line between a great looking map and great looking views in game (already completed)

http://stateoffortune.com/pictures/alpha2/map1.png


http://stateoffortune.com/pictures/alpha2/map2.png


http://stateoffortune.com/pictures/alpha2/map3.png


http://stateoffortune.com/pictures/alpha2/map4.png

2. Change the client<->server communication to Kryonet. I’m tired of breaking things because I forget to pass all parameters in my string communication as well as NIO being a whole lot better for scalability :slight_smile:

3. Change the mountain texture to look better from a distance and the sand texture to look better from up close (already completed).

4. Add random patches of sand/stone instead of having a uniform texture on the ground (already completed).

5. Change the trees so shadows can be cast on them, as well as them looking a lot better (partly completed).

6. Implement forests instead of just placing random trees (already completed).

7. Look into digging. There are a couple of challenges though which might make me drop this.

  • A. The water is currently a flat quad to make it impossible for grievers to, for example, flood the land of someone. If I were to add digging I’d have to split up the water into a whole lot of quads, possibly decreasing the FPS.
  • B. The big challenge is the LOD of the land. I can now draw huge drawing distances as I can easily lower the LOD of the land. Once people can start digging in the land that becomes a whole lot harder and will cause quite big movements between the different LOD levels. Does anyone have experience with anything like this? There is a reason why Minecraft doesn’t do LOD :slight_smile:

8. Shift all blocks 0.5 units, making it easier to implement digging as the four corners of a land tile will correspond with the 4 corners of a block.

9. Allow you to buy land wherever you want instead of on pre-determined plots. With the new map generation there will be some interesting places, and I won’t limit you from building a cute cottage on that island that you need to swim to for half an hour the first time you go there :slight_smile:

10. A real map so you can see where on the island you currently are (also used for buying land).

11. Add random stones and bushes to make the landscape less repetitive.

12. Add a setting for huge draw distance (10km) instead of the current limitation of 1km for the super computers out there. Should be quite easy as I already need that data for the map.

13. Instead of the blurring of distance objects, make them fade to the sky color (already completed).

14. Fix some of the known issues.

I’ll post some screenshots once I can start the game up again and some more of the changes are implemented.

I’d also like to finish the Oculus Rift support (got my DK2 today!) but that’ll have to be after Alpha 2.0.

Mike

I was thinking the same at first, but thought it would look really, really lazy :slight_smile:

Do you have an as easy solution for B? :slight_smile:

Mike

I’m not sure about your reasoning? You keep one quad, and as you dig, you will see this quad appear as the terrain will be lower than the water (think of it as ground water level).

I was thinking the same at first, but thought it would look really, really lazy :slight_smile:

Do you have an as easy solution for B? :slight_smile:

Mike

[quote=ā€œMike,post:451,topic:40755ā€]
LODing is usually done per chunk. A naive implementation will base LOD on distance, but you typically want to work against a (visual) error margin for each chunk. You can easily use a mipmap approach to create LODs (for each chunk), and then calculate the cumulative height error (for each LOD of each chunk).

This is something that is a tad too heavy to run every frame, so you’ll spread it out over a few, and update/recalc the error values once somebody actually modified the terrain by flagging chunks dirty.

End result would be that very rough chunks have a high (visual) error with progressive LODs, and will therefore have a higher LOD selected when rendering. (a bias, so to speak)

[quote=ā€œMikeā€]
LODing is usually done per chunk. A naive implementation will base LOD on distance, but you typically want to work against a (visual) error margin for each chunk. You can easily use a mipmap approach to create LODs (for each chunk), and then calculate the cumulative height error (for each LOD of each chunk).

This is something that is a tad too heavy to run every frame, so you’ll spread it out over a few, and update/recalc the error values once somebody actually modified the terrain by flagging chunks dirty.

End result would be that very rough chunks have a high (visual) error with progressive LODs, and will therefore have a higher LOD selected when rendering. (a bias, so to speak)

(You edited your post, mean-o! :)) Dynamically selecting the LOD on distant chunks would work indeed, but it would be negative for the FPS. I wonder how much though.

That’s what I do now already (each chunk being 66 by 66 tiles).

However, at the moment the landscape is rolling, so the LOD changes are quite smooth. Once people can start digging it’d not be rolling as there can also be a big peak on half of the chunk and a big hole on the other half of the chunk. My formula at the moment would then draw the land straight, but once you get to the higher LOD levels it’ll change a whole lot. On top of that the texture of the dug out land might be different than the texture on the peak, making the jump in LOD even higher.

The more I think about it the more I realise that it’s possible but extremely difficult to get right without ruining the FPS.

Mike