Company of Heroes: Eastern Front

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Copernicus

Pages: [1] 2 3 ... 7
1
Hi there,

as you might know, I have been involved with EF, mostly working on making the impossible possible. Lately, I have been working on my first commercial game called Patterna together with Alex Cottrell, who wrote the soundtrack for EF. Patterna is a logic puzzle game, and one of its purposes is to get a better feeling for commercial game development (which is also why I settled for a rather simple concept). Patterna is on Steam Greenlight, and I am thankful for any votes it gets.




The game is inspired by the fabulous HexCells, but generalizes some of the underlying concepts: Instead of a hexgrid, the puzzles are laid out on a network (or graph). Each node of the graph is in one of two states (either pattern or non-pattern) and it is your task to correctly classify all the states of all nodes using the information that is given to you. This is always possible without any guessing at all.
The game features more than 70 hand made levels, a level editor, and procedurally generated levels. Alex wrote a minimalist ambient soundtrack for the game, making it a very relaxing experience. You can try the demo here.



Here's a trailer: https://www.youtube.com/watch?v=14bL3HlUSZc
Screenshots / Demo / Purchase: http://sschoener.itch.io/patterna
Steam Greenlight: http://steamcommunity.com/sharedfiles/filedetails/?id=628954870
Website: http://www.patterna-game.com/patterna
Twitter: http://www.twitter.com/PatternaTeam
Facebook: http://www.facebook.com/Patterna


Thank you for taking the time to vote! -cope.

2
Bugs & Tech Support / Re: Emplacement-Related EF Crash
« on: February 09, 2015, 10:36:48 AM »
Thank you for the report. This crash has been fixed. If you are feeling adventurous, you can go here and replace the faulty DLL file in the CoH directory yourself. Alternatively you may wait for the next patch release.

3
Announcements / Re: Christmas Contest Starts!
« on: December 30, 2014, 11:47:26 AM »
Seriously, get Atom Zombie Smasher. It is a fantastic game; very tactical and reasonably challenging.

4
Bugs & Tech Support / Re: New Update -> CRASH
« on: August 11, 2014, 03:21:02 PM »
I cannot give you an ETA because I am not involved in that process. If you are feeling adventurous, you can try updating it yourself:
Go here and download the file from the first link in the first post. Unpack the file and move the FactionFix.dll to your CoH directory (overriding any previous versions of that DLL). The crashes should be fixed then.

5
Bugs & Tech Support / Re: New Update -> CRASH
« on: August 11, 2014, 10:18:27 AM »
Yes, it is because of the new patch -- but still the main problem was recrewing team weapons. The problem is that the game does not know what squads to spawn when recrewing team weapons with one of the new factions. We patch some of the original code to circumvent the problem, but when an update for CoH is released, the code we have to patch (or rather: the location of the code) changes. This is what is causing the crashes.

6
General Discussion / Re: System Crash after Recent COH upgrade
« on: August 10, 2014, 11:05:42 PM »
I fixed the bug in our internal version; it should get updated soon.

7
General Discussion / Re: Sorry to see it go.
« on: March 12, 2014, 09:37:01 AM »
Patching the import table would not make any difference because I am not actually fiddling with imports but some piece of code buried deep inside the DLL.
The inconsistencies happen with all factions. I have found one of their causes though and am able to circumvent it.

What is (swapping to independent opcodes)?  Im not familiar with that.
This is me missing a 'w'. Swapping two independet opcodes, as in: Swapping the order of execution of
lea ecx, [eax+edx*4]
push ebx

I am currently trying some other things and am double checking every bit. I am not currently experiencing any crashes but I'd like to give it some more testing before I believe anything.

8
General Discussion / Re: Sorry to see it go.
« on: March 12, 2014, 01:15:42 AM »
As requested, here are some details on what is actually causing crashes. This may be somewhat technical.

As you may be aware, in the past EF had problems with recrewing weapons. This is because CoH is hardcoded to only read capture squads for the 4 basic factions from team weapon entities. If you try to capture a team weapon with a Soviet squad, the game will crash because it cannot find the appropriate entry in the RGD (and subsequently runs into invalid memory sooner or later).
What I did back then was writing a custom DLL FactionFix.dll which for all purposes acts like the original game DLL (WW2Mod.dll; in fact it just forwards any calls to that DLL) but does some in memory patching, i.e. it changes some parts of the code in the original DLL. The code that is changed is the code that controls which squads are spawned when a team weapon is picked up. Whenever a non-standard faction tries to pick up such a weapon, my code jumps in and calls a certain ScaR function that returns the RGD-path of the appropriate squad. (To get the actual Lua-state of the ScaR-instance, I make use of Corsix' LuaExtCore.dll.).
Everytime a patch containing more than just balance changes is released, there is a chance that the address of the code that is to be patched has been changed. If parts of the DLL have been recompiled, it is even possible that parts of the fix have to be rewritten: Because we only have the binary files (i.e. the compiled code), my code needs to seamlessly interface with x86 assembler (which I very much like). Unfortunately that means, that if the compiler thinks it is better to put some value that was in some register EAX last time around into EBX this time, I have to rewrite parts of the code and spend sometime reverse engineering the data flow. These are all things that can be done rather quickly (even if some engineer at Relic decides that what has been an __stdcall up to v2.601 should be a __thiscall in 2.700).
The ugly part is if things do not work out immediately: This stuff is impossible to debug; without proper debug symbols even the stack traces of DMP-files are bogus and most applications totally don't like being debugged. Furthermore, debugging without any source code is tedious and not fruitful (especially when you are working with a system where you do not even have the faintest idea what most of the functions actually do!).
So what I currently have is the following:
I have updated the DLL accordingly and I have noted that besides some changes in the offsets, WW2Mod.dll has not been changed in the parts relevant to this patch. Still, the patch is not working as intended: Sometimes it works, sometimes it crashes, and sometimes it does not even allow a weapon to be recrewed (the cursor does not change into the right symbol and no action is possible). This (in a way) is the worst case scenario: My code seems fine (it is the same as for the last version and it worked for that one), but the behavior is somewhat non-deterministic. Sometimes you can capture a weapon, yet other times it won't work (using the same squad type and weapon type). If the game was crashing consistently, I could just look at where it is crashing and backtrace from there. But it does not.
I am not sure what causes this behavior. I have already witnessed similar behavior when I only patched an irrelevant part of the code (swapping two independent opcodes). This could indicate that some kind of memory protection mechanism is employed, yet I am not willing to believe this (why would it show that specific behavior? Why wouldn't it just crash all the time?). Non-determinism in behavior may also be indicative of multiple threads using the same code with non-thread-local data, but I highly doubt that because my testing setup was fairly isolated and it seems unreasonable to distribute the game logic to different threads, at least for this specific case. Another possibility is that I am missing a new piece of code that was inserted, but I was unable to find anything.

As you can clearly see, this problem is specific to mods that have additional factions.

To clarify another thing: I am not getting paid for this. Nobody here is getting paid for anything. And even if you did, you would not be entitled to anything because quite obviously, you did not pay for anything ;).

9
Announcements / Re: Eastern Front not working on Steam (update)
« on: March 06, 2014, 07:37:01 PM »
Well, it was okay. I went to the institute where I normally work and got me a book to kill the time.

10
Announcements / Re: Eastern Front not working on Steam (update)
« on: March 05, 2014, 08:06:18 PM »
Sorry for the delay guys, I am just very busy and when I finally have a day off I manage to lock myself out for 6 hours... :(

11
Bugs & Tech Support / Re: Crash report
« on: April 05, 2012, 02:10:12 PM »
According to the dump file it fails to allocate memory. I can't tell you why exactly it fail but I'm investigating.

12
I'm not exactly sure what is causing the crash but I'm investigating it.

To be more precise, we need to know what causes this:
Code: [Select]
GAME -- EntityFactory failed to create entity due to invalid parameters
-- FATAL EXIT --
entityfactoryimp.c/299:!
--stack trace--

Further information would be great, such as:
Are you using the reward faction for the British?
Does this happen on more than one map?

13
Click this link for more information. I'd like to point out that the savegames themselves are broken and even with the patch you will not be able to load those broken savegames. However, any new savegame you create will work just fine.

14
Bugs & Tech Support / Re: [1.600] Game crashes/freezes - Post here
« on: March 08, 2012, 11:28:26 PM »
The savegame crash should be fixed with the next patch. Unfortunately the savegames themselves are corrupted, so you won't be able to load them even with the next patch.

15
Bugs & Tech Support / Re: [1.600] Game crashes/freezes - Post here
« on: March 07, 2012, 07:43:12 PM »
Just wanted to let you guys know that I'm looking into the loading issue. Any more details on the save games you're trying to load (what units were you using? etc.) are helpful.

Pages: [1] 2 3 ... 7