replays
Program aborts? Network configuration? Graphic errors? Bugs? Post your question here.
posted on December 12th, 2009, 8:29 pm
Star Trek Armada II: Fleet Operations - Replays: a daring suggestion, perhaps
Has anyone (devs or other) taken a stab at trying to implement the replay feature? How far did you get? What were the roadblocks?
Doca Cola mentioned that there *is* code to do replays, albeit inefficient (Star Trek Armada II: Fleet Operations - Replays: a daring suggestion, perhaps). What and where are the entry points for that code?
(I'm just bored enough to want to take a stab at it.)
Has anyone (devs or other) taken a stab at trying to implement the replay feature? How far did you get? What were the roadblocks?
Doca Cola mentioned that there *is* code to do replays, albeit inefficient (Star Trek Armada II: Fleet Operations - Replays: a daring suggestion, perhaps). What and where are the entry points for that code?
(I'm just bored enough to want to take a stab at it.)
posted on December 19th, 2009, 10:17 am
the easiest way to enable replay is to nil the three JE at 4854c0, 4854d1 and 4854dc. armada checks some internal hardcoded structs if replay can be enabled and also the userprofile file with them. as soon as you start a game armada now begins writing a replay file to your hard drive which you then can replayed by selecting it from the "load game" dialog after the game. i'd recommend to test that with stock armada 2.
for others: i'd like to repeat at this point that the replay feature is absolutely useless at the moment as it spams - really spams - your hard drive. it's not only about space but also the replay file gets unusable after it hits the 2gb mark (like 10 minutes into the game). Compressed these files are very small.
for others: i'd like to repeat at this point that the replay feature is absolutely useless at the moment as it spams - really spams - your hard drive. it's not only about space but also the replay file gets unusable after it hits the 2gb mark (like 10 minutes into the game). Compressed these files are very small.
posted on December 19th, 2009, 2:57 pm
Is their a way to make an autocompressor available or a chance of placing this on low priority todo? It's quite nice when you lose (or win I guess) to see a replay to understand why if it is a rather complex game.
posted on December 19th, 2009, 3:10 pm
that wouldnt help the problem of being unusable one it hits the 2GB mark, even it its only 1 mb compressed ![Azn ^-^](/forum/images/smilies/happy.png)
![Azn ^-^](/forum/images/smilies/happy.png)
posted on December 19th, 2009, 3:11 pm
Ah, I see I misunderstood
. That's too bad really ![Sad :(](/forum/images/smilies/sad.png)
![Drop :sweatdrop:](/forum/images/smilies/sweatdrop.gif)
![Sad :(](/forum/images/smilies/sad.png)
posted on December 20th, 2009, 10:16 pm
Dominus_Noctis wrote:Is their a way to make an autocompressor available or a chance of placing this on low priority todo? It's quite nice when you lose (or win I guess) to see a replay to understand why if it is a rather complex game.
the problem is not the filesize alone, more that an 32bit application (per default) can only assign a memory junk with a maximum of 2gb ram. an way to work around that would be some kind of incremental data representation for the save games. now armada saves a whole image of every game cycle (100 - 1000 cycles per secons) for every object that exists on the map, that is much to many information. these info have to be reduced to a minimum, so that from a previous cycle unchanged information aren't represented in each game/save cycle anew. a whole set of new functions would be required to let armada work with uncompressed but optimized raw information about the recorded game cycles.
maybe working with a file stream to a zip (or similar) compressed file may work too that doesn't require to extract the whole file at once into the memory.
i am not even sure if there are more problems with this replay feature, there were maybe more reasons why this feature has been dropped from the final version than 'just' the save problem.
posted on December 21st, 2009, 1:22 am
Seems like a very odd design for a system - I wonder if there is any sort of ability to cause the program to "overwrite" objects that stay in place for that time. Thus instead of saving all that information, it would just save the pieces that change in a given time interval. Then again, just reducing the number of times things are saved per second would do it... but I guess both of those things are hard to do without the source code or without having a lot of free time
. For the far flung future I guess ![Cheesy :D](/forum/images/smilies/biggrin.png)
![Drop :sweatdrop:](/forum/images/smilies/sweatdrop.gif)
![Cheesy :D](/forum/images/smilies/biggrin.png)
posted on December 21st, 2009, 2:56 am
Last edited by yandonman on December 21st, 2009, 3:16 am, edited 1 time in total.
The way I understand it, Starcraft replays are just a recording of the commands that were issued. When running the replay, Starcraft (supposedly) recreates the game from the recorded commands.
Dumb/ignorant question(s):
What's "JE"?
What file would I find "4854c0, 4854d1 and 4854dc"? ... or would that be in-memory debugging, nilling out memory addresses?
What language is FO programmed in? c++? (vc 8? vc 9?)
Dumb/ignorant question(s):
What's "JE"?
What file would I find "4854c0, 4854d1 and 4854dc"? ... or would that be in-memory debugging, nilling out memory addresses?
What language is FO programmed in? c++? (vc 8? vc 9?)
posted on December 21st, 2009, 11:30 am
Last edited by DOCa Cola on December 21st, 2009, 11:33 am, edited 1 time in total.
yandonman wrote:The way I understand it, Starcraft replays are just a recording of the commands that were issued. When running the replay, Starcraft (supposedly) recreates the game from the recorded commands.
Dumb/ignorant question(s):
What's "JE"?
What file would I find "4854c0, 4854d1 and 4854dc"? ... or would that be in-memory debugging, nilling out memory addresses?
What language is FO programmed in? c++? (vc 8? vc 9?)
i think it was intended to create something similar to how starcraft saves it's replays. armada saves commands too, plus a lot of unneeded info like the object placement i mentioned - everything that would go into a single savegame too.
Yes, i was referring to memory addresses to be used with a disassembler. with JE i meant the "jump if equal"-jumps at these memory addresses. ah, sorry - instead of nil i meant nop (no operation)
![Smiley :)](/forum/images/smilies/smile.png)
FO is entirely coded in delphi/pascal + assembly while armada 2 itself has been coded in vc6.
Who is online
Users browsing this forum: No registered users and 23 guests