Page 1 of 4

Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 2:44 am
by NiftyManiac
compressed_glider.gif
compressed_glider.gif (3.31 MiB) Viewed 15055 times
Competition Closed. Final Standings and Blueprints Available Here!

A glider is a self-contained factory that moves itself across the map with no human input. The first such design (I believe) is shown above, and uses the Recursive Blueprints mod. Longer video of the same.The blueprint for it is below.

My challenge to the community: build the fastest glider! This one is my first attempt, and has no optimization done to it. I'm sure you can do better!
In Conway's Game of Life, a spaceship is any pattern that moves across the field; a glider is one specific example. I propose we call all such designs in Factorio "gliders" to reduce confusion.
What's the point? Well, recursion and self-replication are pretty awesome. If that's not enough, think of what you could do with a weaponized glider.

The winner of this challenge will get a copy of Factorio for their friends, or anything else on Steam <$20. Or a $20 donation to the charity of your choice, within reason. At least 5 legitimate contestants have to enter, though. Honorable mentions for: most creative glider; fastest glider that can travel through forest; best glider that can travel through biter territory. Non-racing gliders are welcome to leave trash behind. If there are fewer than 5 entrants in the race, I'll turn this into a contest for most interesting glider, as decided by me or a vote (with the same prize).

Fun fact: the deadline of this competition will be the one-year anniversary of a discovery of a new kind of spaceship in the Game of Life, almost half a century after it was developed.
Glider Race Competition Rules
  • A glider must be self-contained: it cannot use external power, or leave anything behind as it travels. The glider cannot contain the player as a component (no personal roboports). The glider must be capable of indefinite travel (only exception: train fuel may be consumed). It must contain at least one entity.
  • The competition will close at 12:00 AM EST, March 6th (9 PM PST, March 5th). You've got two weeks.
  • You do not have to deal with trees or biters: tests will be on a blank area with no obstacles or enemies. (But if you want to put lasers on it and have it go on a rampage, be my guest). An easy way to set this up is on a sandbox map with Creative Mode and "instant deconstruction" enabled to clear the area.
  • Allowed mods: Recursive Blueprints, ConMan/Location Combinators, Logistic Train Network, Smarter Trains, Stringy Train Stops/Signal Strings. You may make changes to values in LTN's config.lua (Within reason. Don't add code.) If you want to use a different mod, make a case for it and I'll consider; I'll allow it if it's in the spirit of the competition.
  • All technologies are researched.
  • You must use Factorio 0.14.22.
  • Submission: PM me either here or on reddit. Include your score, any mods, a blueprint, and simple instructions on how to use it. I'll keep a leaderboard in this post. I'll publish the winners at the end if they were submitted privately. Scores will be kept private: contestants will be told the score of the person above them on the leaderboard.
  • You may submit updates to your entry no more frequently than once every 24 hours except for the last day of competition.
  • At the end I'd like to put together a race of competitors, so if you could avoid deconstructing everything around you that'd be appreciated :)
  • Scoring: Your score is based on average easterly speed. To calculate your score, get your glider ready, and copy the full code below into the console. Make sure there are no player entities besides the glider on the map. Scoring will start as soon as your cursor contents change (i.e. you place a building, or drop an item). The script will speed up time so it'll only take a couple minutes. You can also type "/c stop()" in console to cancel it. Don't interact with the glider while scoring.
    • While the scoring code will work wherever you place your glider, for official scoring I will place it like this: the topmost and leftmost non-ghost entities of your glider, at the moment of start, will touch the X=0 and Y=0 axes. To find this, use the console command "/c game.player.teleport{0,0}", and turn on the grid with shift-space (or F4->show_tile_grid->F5). Example.
    • Scoring code
    • At the beginning of dusk, it'll report your average day speed.
    • Two full game days after you start, it'll report average speed and final score.
    • Average speed is based on the distance between the right-most entity at the start and at the end.
    • Final score is similar, but based on your right-most entity at the start, and left-most entity at the end: the full distance you crossed. This will penalize really wide gliders.
    • Score is in meters/second, where 1 meter=1 tile and 1 second=60 ticks.
  • I reserve the right to change the rules, disqualify people, etc. If you find a loophole in the rules I'll close it.
  • For final scoring, I'll take average of 3 runs. If the worst-of-3 run for the first place contestant is worse than the best-of-3 run for the second-place, I'll use average of 5 runs instead.
  • If the results are within 0.1 m/s of each other, lowest number of buildings+items in the initial configuration will win.
Rule Updates
As of Feb 21
As of Feb 23
As of Feb 25
As of Feb 27
Sample Submission
The first glider
Mod: Recursive Blueprints
Final score: 0.379 (Day speed: 0.72 m/s, Avg speed: 0.432 m/s)
Blueprint
Instructions: Place the blueprint twice, side by side, so the belts align. Place 10 construction robots into the right roboport. Start the scoring script and drop the blueprint onto the center belt.

Note: my glider actually breaks at night sometimes. Yours shouldn't :). No reruns.
Leaderboard
Beat my score to join the leaderboard. Entrants will be told the score of the next person above them.
  • Yoyobuae
  • Nemek
  • DaveMcW
  • canidae
  • hansinator
  • nielskool
  • thraxxaldor
  • ertex
  • NiftyManiac (Score: 0.379)

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 2:56 am
by DaveMcW
Does FARL with 2 days of supplies count as a loophole? :P

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 3:04 am
by NiftyManiac
DaveMcW wrote:Does FARL with 2 days of supplies count as a loophole? :P
Yes, that's precisely what that would be :).

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 8:27 am
by db48x
This is harder than it looks; my glider just crashed the game.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 3:11 pm
by Armentia
I love the idea of this contest, but I fear it won't get many entries. Seems to me that minimizing the number of buildings wins, and you've got a pretty small number of pieces as-is. But I look forward to seeing other entries nonetheless.

I think I'd rather see gliders with different purposes (scouting, hunting, etc) and then have a popularity vote,.. maybe a follow-up contest?

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 8:48 pm
by Anson
really nice idea to do a contest.
maybe the winner of this casting will be the next goo-scout ? :-)
NiftyManiac wrote:You may use a single mod that has been released at the time of this post.
You'll probably want Recursive Blueprints or ConMan.
while i tried for the first time to use those mods myself, i succeeded ... in crashing both of them :-(
errors like "error in pair (nil value)" or something similar.
where do i report such bugs ? for one, the forum thread is rather old, and the other has none.
NiftyManiac wrote:For final scoring, I'll take average of 3 runs.
If the results are within 0.1 m/s of each other, ...

Sample Submission: The first glider
Final score: 0.379 (Day speed: 0.72 m/s, Avg speed: 0.432 m/s)
why are the results of several runs different (and even a lot different) ?

i ran your glider and the score was 0.054 higher ...
Final score: 0.433 m/s (Day speed: 0.720 m/s, Avg speed: 0.486 m/s)

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 9:24 pm
by greep
As others said, there's not much room for improvement on the existing one, and tweaking someone else's design isn't too fun xD. But I'd welcome, say, a challenge on a rapid expansion recursive bueprint given a starting save file.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 10:03 pm
by NiftyManiac
Anson wrote:while i tried for the first time to use those mods myself, i succeeded ... in crashing both of them :-(
errors like "error in pair (nil value)" or something similar.
where do i report such bugs ? for one, the forum thread is rather old, and the other has none.
If there's no thread, report them on the github issues page! (Issues for Recursive Blueprints and ConMan) That way I'll see them too and could help justarandomgeek sort them out. Alternatively I'm sure you can PM him as well. As a last resort send them to me and I'll post them to github.
Anson wrote:i ran your glider and the score was 0.054 higher
Robots won't always place buildings in the same order, so that'll have an effect. That's why final scoring will be average of 3 runs. Differences that small hopefully won't affect the outcome, though.
greep wrote:As others said, there's not much room for improvement on the existing one
A few people have echoed this sentiment, but it's not accurate. First, my glider can't travel at night; any design that can will have to be substantially different and will score higher. Second, there's already been a fundamentally different submission :). There's also the challenges of "first glider to handle forest" and "first glider to handle biters" which nobody's tackled. If I don't get enough entrants in the speed category the prize will go to the most interesting, and those two categories are not bad places to start.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Tue Feb 21, 2017 11:36 pm
by NiftyManiac
Rule update: based on a suggestion from a reddit user, you may use Logistic Train Network, Smart Trains, and/or Stringy Train Stops to make train-based gliders. Stringy Train Stops was just released and I have no idea how buggy it is; use at your own peril. I believe it depends on the Signal String mod, which is also allowed. Trains running out of fuel are the exception to the "indefinite travel" rule.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Wed Feb 22, 2017 12:13 am
by darkfrei
A glider must be self-contained: it cannot use external power, or leave anything behind as it travels.
And hot water tanks like energy accumulator? They are full and hot by the start and empty in two days.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Wed Feb 22, 2017 12:17 am
by DaveMcW
I think requesting a forest map and coastline (or map border) should be an option, cutting forest to run boilers is an awesome strategy.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Wed Feb 22, 2017 12:37 am
by bdean20
Any restriction on using the edge of a ribbon map to collect water for steam engines?

Re: Challenge: Build the fastest glider (and win something!)

Posted: Wed Feb 22, 2017 12:59 am
by NiftyManiac
darkfrei wrote:And hot water tanks like energy accumulator? They are full and hot by the start and empty in two days.
Hmm... Interesting idea. I'd love to see it but I think running a glider off of a limited pre-heated water supply goes against the "indefinite travel" goal. I guess I opened myself up to this by compromising on train fuel. Would definitely get creativity points in my book and inclusion in the race, just not prize-eligibility for speed I think.
DaveMcW wrote:I think requesting a forest map and coastline (or map border) should be an option, cutting forest to run boilers is an awesome strategy.
Now that's a fun idea. Is there any way to generate nice forest or am I going to need to write a script for this? An important thing here would be consistent forest density. Coastline... I guess you'd need it perfectly straight. I'm not a huge fan of how constrained that would make the glider, but on the other hand it's got an awesome factor to it. And I've got a feeling this would be way overpowered compared to more flexible solar designs. (*Ahem*). If you can sell me on this I'll consider it. (Hope somebody builds this anyway though).
bdean20 wrote:Any restriction on using the edge of a ribbon map to collect water for steam engines?
Currently not allowed (run on a blank map). I could be convinced otherwise, though. As DaveMcW said I assume you'd need forest too (or an abuse of my train fuel exception).

Re: Challenge: Build the fastest glider (and win something!)

Posted: Wed Feb 22, 2017 2:15 am
by daniel34
NiftyManiac wrote:Now that's a fun idea. Is there any way to generate nice forest or am I going to need to write a script for this? An important thing here would be consistent forest density.
Check out the toxic jungle mod: https://mods.factorio.com/mods/nucleargen/toxic-jungle
I know on the screenshots it looks like the map is completely covered in trees, but you can freely set the density in the control.lua.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Wed Feb 22, 2017 9:38 pm
by canidae
Fascinating idea. I'm really looking forward to see the other solutions.

Idea: If there's enough entrants for a prize to be given out, could the prize optionally be be a small donation to a good cause (animal shelters, Prevent Cancer Foundation, Doctors Without Borders, etc.)?

Re: Challenge: Build the fastest glider (and win something!)

Posted: Thu Feb 23, 2017 8:31 am
by DaveMcW
A note about ConMan: it uses absolute coordinates instead of relative. Using it in a glider requires you to track and update the coordinates, which probably outweighs any benefits it could give.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Thu Feb 23, 2017 9:01 am
by canidae
DaveMcW wrote:A note about ConMan: it uses absolute coordinates instead of relative. Using it in a glider requires you to track and update the coordinates, which probably outweighs any benefits it could give.
I also experienced it crashing with lua errors. You'll likely need more entities to use ConMan, so Recursive Blueprints is probably better for making the fast gliders. As for making gliders that chop down trees or kills biters, ConMan may have its merits. I feel ConMan is more in the spirit of the game as well, so I hope to see that mod evolve. I was on the brink of making a mod that reads (discovered) terrain, I think such a mod could be quite useful in combination with ConMan. Simply input X & Y into an entity, entity outputs signals telling you what's on the given tile. If such a mod exists, let me know what it's called, if it doesn't then feel free to make one.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Thu Feb 23, 2017 8:02 pm
by NiftyManiac
canidae wrote:
Idea: If there's enough entrants for a prize to be given out, could the prize optionally be be a small donation to a good cause (animal shelters, Prevent Cancer Foundation, Doctors Without Borders, etc.)?
Good idea. Adding that as a prize option.
canidae wrote:I was on the brink of making a mod that reads (discovered) terrain, I think such a mod could be quite useful in combination with ConMan. Simply input X & Y into an entity, entity outputs signals telling you what's on the given tile. If such a mod exists, let me know what it's called, if it doesn't then feel free to make one.
In response to my GreyGoo project a few people have told me that AAI can do something like this: viewtopic.php?t=38473

Re: Challenge: Build the fastest glider (and win something!)

Posted: Thu Feb 23, 2017 9:04 pm
by canidae
NiftyManiac wrote:
canidae wrote:I was on the brink of making a mod that reads (discovered) terrain, I think such a mod could be quite useful in combination with ConMan. Simply input X & Y into an entity, entity outputs signals telling you what's on the given tile. If such a mod exists, let me know what it's called, if it doesn't then feel free to make one.
In response to my GreyGoo project a few people have told me that AAI can do something like this: viewtopic.php?t=38473
Thanks! That appears to do exactly what I've just spent most of the evening on making :)

Also, damnit Yoyo.

Re: Challenge: Build the fastest glider (and win something!)

Posted: Thu Feb 23, 2017 9:18 pm
by Yoyobuae
canidae wrote:Also, damnit Yoyo.
:D

There's still plenty of time though. I'm not sure I even want to try improve mine further. Bots are such a pain to control. >_>