Friday Facts #47 - CRC fun

Regular reports on Factorio development.
Post Reply
slpwnd
Factorio Staff
Factorio Staff
Posts: 1835
Joined: Sun Feb 03, 2013 2:51 pm
Contact:

Friday Facts #47 - CRC fun

Post by slpwnd »

Read about how we use CRC at http://www.factorio.com/blog/post/fff-47

jeroon
Filter Inserter
Filter Inserter
Posts: 351
Joined: Sun Jan 26, 2014 10:18 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by jeroon »

I really like reading about the bug-fixing process.. maybe you could turn it into a Daily Facts blog? :D

Mikenter
Manual Inserter
Manual Inserter
Posts: 3
Joined: Fri Aug 01, 2014 9:06 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by Mikenter »

The new rail endings will help a lot. Normally I catch having the extra rail just by looking at hit boxes but this will expedite the process. It's also really nice that y'all are focusing on bugs to begin with instead of letting them pile up while you make new things and new bugs.

Artman40
Fast Inserter
Fast Inserter
Posts: 169
Joined: Sun May 25, 2014 4:44 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by Artman40 »

One problem with your release strategy is that although you do fix bugs, the lack of major releases is detrimental to keeping the audience playing as a lot of them simply stop playing when there are no major releases coming up. Crypt of the Necrodancer has the same problem.

FishSandwich
Smart Inserter
Smart Inserter
Posts: 1847
Joined: Sun Feb 23, 2014 3:37 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by FishSandwich »

Would you prefer they made more major releases that are riddled with bugs?

User avatar
Nova
Filter Inserter
Filter Inserter
Posts: 947
Joined: Mon Mar 04, 2013 12:13 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by Nova »

Sorry, but changing the release strategy would be horrible. Exactly that is what annoys the most of minecraft. "Hey, the light rendering bugs are still not fixed (since 2 years), but we got a new block!!!1!11!11"
Greetings, Nova.
Factorio is one of the greatest games I ever played, with one of the best developers I ever heard of.

bulldog98
Long Handed Inserter
Long Handed Inserter
Posts: 74
Joined: Tue Apr 08, 2014 6:40 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by bulldog98 »

Mikenter wrote:The new rail endings will help a lot. Normally I catch having the extra rail just by looking at hit boxes but this will expedite the process. It's also really nice that y'all are focusing on bugs to begin with instead of letting them pile up while you make new things and new bugs.
I can only second this.

For the release strategy I'd also be happy with release only adding minor new stuff, because it's more interesting than only bugfixes, which are of cause important.

Artman40
Fast Inserter
Fast Inserter
Posts: 169
Joined: Sun May 25, 2014 4:44 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by Artman40 »

One strategy is also to add small things that are simple to program in while you work with the big release.

Myrmidon
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun May 11, 2014 3:06 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by Myrmidon »

You might be able to accelerate the CRC calculation with very little effort; I've dealt with this recently, here is my experience:
  • A *lot* of implementations you'll find online are obsolete (e.g. the one found in the boost-library) and use the 1byte-at-a-time (256 LUT entries) or even 1 nibble-at-a-time (16 LUT entries) algorithms (slow!)
    Using the state-of-the-art version of the algorithm, with 4 * 256 entries (times 32 bits per entry) in the lookup table (see zlib) is really simple to implement and boosts speed on modern Desktop-CPU's by *a lot*.
  • Doing CRC calculation with multiple threads, then combining the results is pretty effective.
  • There's also a dedicated SSE4.2 instruction (CRC32C polynomial only) but it might not be worth implementing this because you'll need a fallback-algorithm anyway.
Checkout zlib for a reference implementation of the 4x256 algorithm (in C) and for how to combine CRC checksums.
Note: zlib stores lookup-data for big-endian machines (which is why they have 8x256 lookup entries instead of 4x256) and it does some macro-based loop unrolling (probably unnecessary, but YMMV).

Don't hesitate to ask if you've any questions, I'd gladly be of help...

User avatar
Calico
Fast Inserter
Fast Inserter
Posts: 130
Joined: Sat Feb 08, 2014 6:23 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by Calico »

We all knew that the multiplayer would be a hard and stony road with no releases... if anything i'm surprised we are still getting very regular bugfixes and even some small add-ons to our game experience. While i certainly hope for more and bigger features, it was clear that something as big as multiplayer will take time. Even more so with half of the Devs having some well deserved holidays.

And i know a bunch of ppl that bought into factory on the promise of a working coop mode. And they will all return once the very first buggy release is available to test it out and write lots of bugreports. :D

mrrobot
Burner Inserter
Burner Inserter
Posts: 10
Joined: Tue Aug 12, 2014 8:43 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by mrrobot »

Artman40 wrote:One problem with your release strategy is that although you do fix bugs, the lack of major releases is detrimental to keeping the audience playing as a lot of them simply stop playing when there are no major releases coming up. Crypt of the Necrodancer has the same problem.
Speak for yourself. I'm having a blast with the game and I'm loving the fact that it's soooo stable.
With a few hundred hours of play I've only had 2 crashes. One attributes to UAC interfering when some update unrelated to the game forced itself to the front and the other was because I ran out of disk space while saving the game.

I'm very certain that if they threw out major releases in short intervals your reply would read like "One problem with your release strategy is that although you do major releases very frequently, the presence of game breaking bugs is detrimental to prevent the audience playing as a lot of them simply can't play when those game breaking bugs aren't fixed. Some reference to another game."

User avatar
SHiRKiT
Filter Inserter
Filter Inserter
Posts: 706
Joined: Mon Jul 14, 2014 11:52 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by SHiRKiT »

Great job at the rail endings. I loved that, I learned the hard way to spot mistakes on those rail setups.

I've never ever had a single crash on my vanilla game. While playing modded, I had just one. ONE in a modded game.

safan
Fast Inserter
Fast Inserter
Posts: 126
Joined: Mon Dec 23, 2013 7:26 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by safan »

lucky you, on a playsession of 4 hours i average to 4 crashes to desktops, one of wich factioro won't restart until i did a full reboot. I have no idea how to help the devs.

Artman40
Fast Inserter
Fast Inserter
Posts: 169
Joined: Sun May 25, 2014 4:44 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by Artman40 »

By the way, would it be better to release new versions on thursdays? That would mean that if a serious bug is discovered, it can be fixed in time before weekend.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by ssilk »

Image

...

I think this is a good idea.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

jeroon
Filter Inserter
Filter Inserter
Posts: 351
Joined: Sun Jan 26, 2014 10:18 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by jeroon »

Artman40 wrote:By the way, would it be better to release new versions on thursdays? That would mean that if a serious bug is discovered, it can be fixed in time before weekend.
but if you release on a friday, you have one extra day to test for bugs :mrgreen:

helmet
Manual Inserter
Manual Inserter
Posts: 1
Joined: Mon Aug 18, 2014 12:56 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by helmet »

Hey Dev-Team, Forums,

we (some buddies and me) are dying for the coop to come :twisted: .
How about an extra funding to speed up development ?
Could be used for maybe external devs to support and boost the work ?

we see so much potential in this great game and multiplayer would even boost it so much harder.
Whithout multiplayer would minecraft not be that successfull.

greets

FishSandwich
Smart Inserter
Smart Inserter
Posts: 1847
Joined: Sun Feb 23, 2014 3:37 pm
Contact:

Re: Friday Facts #47 - CRC fun

Post by FishSandwich »

helmet wrote:Hey Dev-Team, Forums,

we (some buddies and me) are dying for the coop to come :twisted: .
How about an extra funding to speed up development ?
Could be used for maybe external devs to support and boost the work ?

we see so much potential in this great game and multiplayer would even boost it so much harder.
Whithout multiplayer would minecraft not be that successfull.

greets
Be patient, multiplayer is less than a month away.

Oleg
Burner Inserter
Burner Inserter
Posts: 7
Joined: Mon Aug 18, 2014 12:09 am
Contact:

Re: Friday Facts #47 - CRC fun

Post by Oleg »

Image
Image
I love to ride the train one. I don't understand where the path turns. In the first picture is clear in the second is not.

Why not?
Image

I love to ride the train one, and I want to choose the path itself.
Image

P.S Train control buttons A and D "sucks" sorry.

Post Reply

Return to “News”