Civilization Path

Yes, I’m building a version right now. crashes on some phones if the buffer is too large (it can be seen above that I did this to improve the quality). It canceled and received such artifacts.


I’m trying to fix it now.

Promotion codes for paid until March:
8689YXZSBUSS2SDBPUG76M0
C6N281E54BCU3YS1MEEPH6E
P8JAHZUX53HC9TZTZ03K6WQ
ESPH8N68HD43HQS85DQ05CJ
QMR8UU796KMP8L7RH34GASR
33DGRFVNNVB1A9QXLRA9WKH
FJNY2MJ8TKF426HJFPFRC9W

1 Like

I doubled the height of the texture and it disappeared. I do not know how this works, but there is no time to figure it out. Can I send you this version to check if it will crash when opening technologies?

Apparently fixed, uploading to google play.
I will not create a separate topic, since there is essentially no problem.

  1. If the buffer is too large(7660x1440), then on some devices it crashes:

    # 0 pc 0x189d4 /system/lib/libc.so +0
    # 1 pc 0x1a43a /system/lib/libc.so abort+59
    # 2 pc 0x1a661 /system/lib/libc.so __assert2+20
    # 3 pc 0x119c00 …=/lib/arm/libCivilizationPath.so _ZN10dmGraphics10SetTextureEPNS_7TextureERKNS_13TextureParamsE+3692
    # 4 pc 0xebef4 …=/lib/arm/libCivilizationPath.so _ZN12dmGameSystemL10NewTextureEPN5dmGui5SceneEjjN7dmImage4TypeEPKvPv+216
    # 5 pc 0x25bcfc …=/lib/arm/libCivilizationPath.so _ZN5dmGui11RenderSceneEPNS_5SceneERKNS_17RenderSceneParamsEPv+156
    # 6 pc 0xebc8c …=/lib/arm/libCivilizationPath.so _ZN12dmGameSystem13CompGuiRenderERKN12dmGameObject22ComponentsRenderParamsE+380
    # 7 pc 0xbae34 …=/lib/arm/libCivilizationPath.so _ZN12dmGameObject6RenderEPNS_16CollectionHandleE+336
    # 8 pc 0xe20b8 …=/lib/arm/libCivilizationPath.so _ZN12dmGameSystem25CompCollectionProxyRenderERKN12dmGameObject22ComponentsRenderParamsE+44
    # 9 pc 0xbae34 …=/lib/arm/libCivilizationPath.so _ZN12dmGameObject6RenderEPNS_16CollectionHandleE+336
    #10 pc 0xa51d4 …=/lib/arm/libCivilizationPath.so _ZN8dmEngine4StepEPNS_6EngineE+932

  2. At some sizes, artifacts are obtained, as above. Changed texture profiles without result. These artifacts appear if you quickly open the technology after loading the collection (at this point, the textures are installed in gui). They probably do not have time to boot and therefore get broken

In any case, now everything works. Size of texture is 3880x1440.

This is too big for many mobile devices.

2 Likes

Probably the wrong way to do it. You could take advantage of distance fields for your map assets so have them more scalable without a huge memory footprint. Are you using the texture profiles feature?

Do you mean mipmaps? I tried, artifacts remain. They appear if after loading the collection a texture is set in a short time. I think that it does not have time to create or something like that. It is strange that time is needed less if the texture is longer. I know this only from subjective experience. Tomorrow I can create a simple project to take a closer look at this.

I mean texture profilers https://defold.com/manuals/texture-profiles/ it’s possible some settings could cause issues.

Can you upload a sample of one of your images in a zip? It could be a number of possibilities.

Textures are created dynamically to be filled with drawpixels. Tomorrow I will create a simple project and attach it here

1 Like

Ok, then you should be able to generate a distance field version so that everything can be done at a low resolution while also having very smooth edges.

I really can’t repeat it. Now I checked in my game, there are no artifacts. Last time I checked for 4% of the charge, probably it pops up due to performance problems. Okay. But I was very interested in the ability to smooth the lines in a small resolution of the texture. Artefacts.zip (79.3 KB)

I tried to repeat artifacts, so there are buttons with loading collections, etc.

I did not find anything suitable in texture profiles. Found information about shaders. I will try to implement using this. Indeed, large textures are not good.

Shaders apply to the whole scene, not suitable. I see one option. Write a native extension to dynamically generate distance fields and then apply contrast. It seems to me that this is too complicated a way to smooth out just lines.

After reducing the size of the texture, I did not check, but artifacts appeared on the PC as well. In the project that I threw off above. If you quickly load the collection and click show.


On the phone too:

I think this is the same problem as in my game. Does anyone have any ideas how to solve this? In the project, to reproduce this problem, you need to quickly load the collection and set the texture. There is much more time in the game for this. I will try to understand what it depends on

I could not understand the texture. But since only lines are drawn, I used dynamic box creation. It looks exactly the same. On the graph at the end of the game this will not work, because I want to make the lines on the graph smooth. But there everything fine.

I am not a designer, but I managed to find a logo that matches the color. I think it looks good

Changes

Fixed: political system and technology buttons were not pressed immediately
Fixed: texture artifacts in technologies
Fixed: a small lag a second after entering the game
Fixed: new music did not start after the previous one, if it is of the same type
Changed: now music is played in random order, except for the first song in the script.
Changed: added outline for technology name in technology
Changed: reduced font size in the top line
Changed: reduced bonus from a political institute Cooperation + 20% -> + 12%
Changed: reduced bonus from a political institute True need + 200% -> + 100%
Added: engine logo
Added: the studied technology is now animated and displays how much the player has studied it.

I no longer want to change the lines in the background. Since it works - don’t touch it, I decided to improve it last time and broke it :confused:

I was very interested distance fields. I will try to implement this in native extension + shaders. Maybe something good will come out.

2 Likes

I take this opportunity to wish everyone on this forum a happy new year.
Thanks to the developers of this amazing engine. Hopefully it will only get better over time.
Thanks to everyone who helps others on this forum. Thanks to you, we learn new things and better understand not only the engine, but also the development of games.

I’ll write about the development of my game. So far, everything is going well enough (I just have nothing to compare :slight_smile: ). It’s getting better, at least I think so.

I added background and music related to the holiday. Only the version will be released after.
Important changes:
The number of technologies increased from 15 to 26
New AI. Better, more logical.
Several armies in one province. Now you can move around the territory of the allies and help them in battles.
Slightly changed the design.
This background is probably not very combined. But let it be so far.

I want to make it better in the new year. At least, because I myself sometimes play it :slight_smile:

7 Likes

I haven’t written for a long time, but something interesting has accumulated

  • Sabotage.
    You can reduce the level of provinces in other countries if the appropriate technology is open
  • Requests bots to the player.
    Bots can demand technology or breaking alliance, ask for money. In case of failure, they attack, commit sabotage or ignore.
  • Export and import scenarios.
    You can create your own scenarios by modifying existing ones. Or increase your money if it’s difficult :slight_smile:
  • Mediterranean Sea Map.
    The largest map in the game (286 provinces)
    Part of the map is visible on the screen.
  • Old scenarios on a new map.
    The first two scenarios are Millennium and Fall of Constantinople on a new map.

12 Likes

Wow, this looks really cool. Well done!

4 Likes

Hi, @markus.gustavsson

what is the difference between civilization path lite and civilization path pro (pay)?

  • Progress available
  • All Scenarios Available
  • All countries available in all scenarios (Not available 2 or 3 civilizations in each scenario in Lite)
  • You can create and import your own or others scenarios
2 Likes

mmm, great…

i will hope to publish my game like this…
that is why i asked this question.

thank you…

Nicely done!
Let me know if you want me to translate the technology names and descriptions to Czech.

3 Likes