The Forums Are Now Closed!

The content will remain as a historical reference, thank you.

Forces of Light Desync Issue - Solved

By on April 30, 2010 3:58:07 AM from Demigod Forums Demigod Forums

Good Morning,

In case you aren't familiar with me, I'm the project lead for the UberFix, a mod for Demigod that is working to fix bugs in the 1.20.0214 version of Demigods. I'm trying to find a good way to change the text in Demigod and be consistent across English and non-English versions of the game. The problem is that I don't know how non-English versions of Demigod are different from the English version (the one I have).

If you have a non-English version of Demigods could you describe the tooltip and text changes that occurred in the most recent patch to Demigods. More specifically, can you tell me what language the tooltips for Oculus and Demon Assasin are in?

Note to English users: I have looked at the other localization files for strings_db.lua, so I know what the original non-English files contain. What I need to know is if other languages have updates that are different than the English version.

Thanks,

Ptarth

 

Edit: The problem has been identified and solved. Please read below for details.

+89 Karma | 44 Replies
April 30, 2010 12:44:41 PM from Demigod Forums Demigod Forums

While at it we could also test "the forces xxx control the map" in multilanguage game.

April 30, 2010 2:22:19 PM from Demigod Forums Demigod Forums

i looked around. There is 2 language versions:
English

Russian

Rest is just subtitled. You can choose to instal english or russian version thru impulse and I have re instaled demigod in russian now (god i hate cyrlica ). So yeah just need people to test out that forces of dark and light thing

April 30, 2010 2:59:54 PM from Demigod Forums Demigod Forums

Victory!

I can reproduce this now. I'm going to try to figure out what is behind it.

April 30, 2010 3:28:20 PM from Demigod Forums Demigod Forums

U mean 'we' can reproduce it

April 30, 2010 4:22:04 PM from Demigod Forums Demigod Forums

So the conditions sufficient to reproduce the Critical Game state.

  • Friday
  • 1v1
  • 4 AM in Australia vs 12:00 PM in California
  • NAT vs no-NAT
  • Russian Version vs English Version
  • Modified Version of Cataract
  • Light player captures all of the flags and then a flag returns to neutral (Dark player captures one)
  • WindowsXP vs Windows 7
  • Irek vs Ptarth

I'm looking at the logs to try to make sense of what is going on. The best clue I currently have is that after the Forces of Light have complete flag control and they lose one of their flags, a localization error occurs. A critical game state then occurs 1-6 seconds after this event. This was replicated 5 times, so I'm pretty sure it is real.

Edit: I think I got it.

The string definitions used in Demigod are case sensitive. This can lead to problems, one of which is when two strings exist that only differ by in case only. In the following I show examples of this, as well as what is most likely causing the problem. The following are excerpts from strings_da.lua from the English, French, and Russian string_db.lua files.

English

  • FLAG_0000="Cooldown times reduced by [GetCooldownBonus]% for the controlling team. Grants controlling team members access to the Celerity Battle Standard."
  • FLAG_0001="Cooldowns decreased."

French

  • FLAG_0000="Temps de refroidissement réduits de [GetCooldownBonus]% pour l'équipe qui le contrôle. Fait profiter les membres de cette équipe de l'Etendard de Refroidissement."
  • FLAG_0001="Refroidissement accéléré."

Russian

  • FLAG_0000="У команды, овладевшей флагом, перезарÑ??дка на [GetCooldownBonus]% быÑ??трее. Ð’Ñ??е члены команды получаÑ??Ñ‚ доÑ??туп к боевому флагу перезарÑ??дки."
  • FLAG_0001="ПерезарÑ??дка проходит быÑ??трее."

So, the first two entries, FLAG_0000 and FLAG_0001 are the tooltips for the Celerity Flag (I'm not sure they are used in game). Comparing across languages it is apparent that they are similar. Also, notice that all contain [GetCooldownBonus]. This is the syntax that is interpreting to allow the strings to referenced defined values in the blueprints. In this case, GetCooldownBonus is defined in the blueprint of whatever calls FLAG_0000.

Now, let's look at another set of strings.

English

  • flag_0000="The Forces of Light control the map!"
  • flag_0001="The Forces of Darkness control the map!"

French

  • flag_0000="Les Forces de la Lumière contrôlent la carte !"
  • flag_0001="Les Forces des Ténèbres contrôlent la carte !"

Russian

  • flag_0000="У команды, овладевшей флагом, перезарÑ??дка на [GetCooldownBonus]% быÑ??трее. Ð’Ñ??е члены команды получаÑ??Ñ‚ доÑ??туп к боевому флагу перезарÑ??дки."
  • flag_0001="ПерезарÑ??дка проходит быÑ??трее."

Notice that the French and English strings match. Now, check out the Russian version (at least I assume it is Russian). Notice that flag_0000 contains [GetCooldownBonus] only in the Russian version. Also notice that FLAG_0000 and flag_0000 for the Russian versions are identical. I believe that happened is that flag_0000 was replaced by FLAG_0000 somehow. When flag_0000 is called it then wants to call have [GetCooldownBonus] defined. However, since GetCooldownBonus is not defined, it errors out and causes a desync.

The solution is to fix the strings_db.lua for the Russian version by removing the [GetCooldownBonus] from flag_0000. Ideally you'd want to replace the faulty string with the correct one, but either way the problem would be resolved.

Now, this is complete conjecture without testing it, I'd need to get another gullible person with a Russian install to test it. I can't confirm it only with English installs. However, I'm pretty sure this is it.

I'd like to thank Irek for facilitating the documentation of the Forces of Light bug. His continued belief and active posting in the forums was one of the leading causes to why I believed the bug did exist. This was in spite of the stance by active forumers and Stardock. It was only with his help and testing efforts that the bug was able to be tracked down and solved. I really appreciate his assistance in this matter. His help in this matter is doubly appreciated because he stayed up all night and was still willing to put up with my efforts and attempts to solve this issue.

April 30, 2010 6:48:56 PM from Demigod Forums Demigod Forums

FIX FOUND

If you use the Russian localized version of Demigod, the following will fix your problem:

  1. Find the following files:
    1.  ..\Demigod\loc\RU\strings_db.lua
    2.  ..\Demigod\loc\strings_db.lua
  2. Make backups of those files.
  3. Download the fixed version of the Russian strings_db.lua
  4. You'll need to make 2 file replacements
    1. Replace ..\Demigod\loc\RU\strings_db.lua with the fixed version.
    2. Replace ..\Demigod\loc\strings_db.lua with the fixed version.
April 30, 2010 6:51:58 PM from Demigod Forums Demigod Forums

You are the fuckin man Ptarth!

April 30, 2010 7:20:06 PM from Demigod Forums Demigod Forums

Damn good work man!

May 1, 2010 8:06:46 PM from Demigod Forums Demigod Forums

BUMP

May 1, 2010 8:44:44 PM from Demigod Forums Demigod Forums

The only problem is that you need the people using the Russian version to apply it correct? Or did I misunderstand and there's something I can do to stop the desync from happening?

May 1, 2010 8:52:34 PM from Demigod Forums Demigod Forums

The only problem is that you need the people using the Russian version to apply it correct?

Exactly.  Only people with the Russian version need to install this.  It is logically something that should be rolled out by SD at some point via an update. 

May 2, 2010 11:31:54 AM from Demigod Forums Demigod Forums

One other thing until you can get this fixed. I have checked it twice now. It doesn't have to be all of the flags. It has to be all but 2 on cataract.

May 2, 2010 4:33:43 PM from Demigod Forums Demigod Forums

The problem occurs whenever the Force of Light control the map event fires. The event fires whenever the forces of Light control more than 75% (or 80%) of the map, lose a flag, but still control more than 75% (or 80%) of the map.

May 2, 2010 4:44:21 PM from Demigod Forums Demigod Forums

You did a really phenomenal job on this Ptarth.  Thank you for your hard work!

May 2, 2010 4:59:21 PM from Demigod Forums Demigod Forums

Gotta love copy/paste... I went ahead and posted this in gpg's general discussion of demigod and i sent a PM to sorian on the gpg forums!  I you Ptarth and way to go for (most likely maticuluously) wading through the languages.  Now if only we could figure out why it freezes in stagnantly hosted games.

May 2, 2010 10:04:47 PM from Demigod Forums Demigod Forums

Gotta love copy/paste... I went ahead and posted this in gpg's general discussion of demigod and i sent a PM to sorian on the gpg forums!

Kuddos to you.  +1 for flagging this to GPG. 

May 2, 2010 10:16:09 PM from Demigod Forums Demigod Forums

well, personally I was hoping to stall for time to get some more work with Uberfix done first so that we could have a meaningful bug-fix patch rather than just a small locale-hotfix

May 2, 2010 10:40:54 PM from Demigod Forums Demigod Forums

Quoting awuffleablehedgie,
well, personally I was hoping to stall for time to get some more work with Uberfix done first so that we could have a meaningful bug-fix patch rather than just a small locale-hotfix

heh... I'm sure gpg was just waiting for the opportunity to squeak out a quick fix.    I think we all doubt some sort of quick movement on this.  But if it gets one guy at gpg interested... woot. 

May 3, 2010 3:56:07 AM from Demigod Forums Demigod Forums

Thanks dude for metioning my help here and in uberfix thread.

After all i only had to spend half day to redownload and reinstal demigod in russian and then convince you to test out the bug that you and pacov tought is bullshit.

Looking forward to help you out in future, after all it is soo rewarding...

May 3, 2010 4:45:34 AM from Demigod Forums Demigod Forums

Sorry about that. I had mentioned you several times in previous edits, but after I removed the majority of the testing information to reduce the amount of information I provided, it seems I removed it.

I hereby announce that Irek was instrumental in facilitating the documentation of the Forces of Light bug. His continued belief and active posting in the forums was one of the leading causes to why I believed the bug did exist. This was in spite of the stance by active forumers and Stardock. It was only with his help and testing efforts that the bug was able to be tracked down and solved. I really appreciate his assistance in this matter. His help in this matter is doubly appreciated because he stayed up all night and was still willing to put up with my efforts and attempts to solve this issue.

Thanks Irek. Sorry your credit was lost in my previous revisions. I got caught up in describing the behavior and didn't realize it. I do however object to your suggestion that I did not believe the Forces of Light bug was real. I was a believer in it, much to pacov's chagrin.

May 3, 2010 5:57:52 AM from Demigod Forums Demigod Forums

happy that we solved that 'bug' too.

PS.

 To all wondering. I am bad ass sob who dosnt do anything for anyone at anytime for free.

May 3, 2010 8:51:38 AM from Stardock Forums Stardock Forums

happy that we solved that 'bug' too.

PS.

To all wondering. I am bad ass sob who dosnt do anything for anyone at anytime for free.

Heh.  Indeed.  Irek was critical in finding the bug. 

May 3, 2010 9:00:59 AM from Demigod Forums Demigod Forums

The problem occurs whenever the Force of Light control the map event fires. The event fires whenever the forces of Light control more than 75% (or 80%) of the map, lose a flag, but still control more than 75% (or 80%) of the map.

 

For those of you that aren't number savvy...this means that on Cataract (13 flags) .76 x 13 = 9.88 flags or .8 x 13 = 10.4 flags. I'm not sure if the game uses a rounding mechanism or not, but yes, this is what I have seen. If FoL control 10 flags and then one is taken back then it would trigger. This also means though that it could trigger after you take all of the flags with FoL and the forces of dark take one back.

May 3, 2010 10:26:18 AM from Demigod Forums Demigod Forums

Just noting that we did see this Friday night, though due to it coming to a head right at the start of the weekend, we probably won't start getting anywhere with seeing what we can do about it until later today.

May 3, 2010 10:36:13 AM from Demigod Forums Demigod Forums

For my part, I know that Stardock has given Demigod outstanding support and will continue to do so. I hope that everyone respects the work that Stardock has put into Demigod and won't start complaining about how slow they in using this information to fix things.

Also, I believe I explained things sufficiently, but if more information is necessary feel free to contact me.

Stardock Forums v1.0.0.0    #108435  walnut2   Server Load Time: 00:00:00.0000485   Page Render Time:

Stardock Magazine | Register | Online Privacy Policy | Terms of Use

Copyright ?? 2012 Stardock Entertainment and Gas Powered Games. Demigod is a trademark of Gas Powered Games. All rights reserved. All other trademarks and copyrights are the properties of their respective owners. Windows, the Windows Vista Start button and Xbox 360 are trademarks of the Microsoft group of companies, and 'Games for Windows' and the Windows Vista Start button logo are used under license from Microsoft. ?? 2012 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc.