Log In  
Log In  

Cart [#35159#] | Code | 2017-01-07 | License: CC4-BY-NC-SA | Embed

My first complete PICO8 game, for the Ludum Dare 37.

A small twist on the "factory" genre, you have a limited time to
play, and must make as much money as possible in that time.
What is the optimal build order?

If you enjoy this cart, submit a screenshot with your highscore! :-)

2016-01-08: v1.3.1 -- Fixed menu bug, added bignum, super-buffed sandwiches
2016-12-25: v1.3 -- Rebalanced costs, added two new items, added overwriting
2016-12-19: v1.2 -- Changed the input, added some messages
2016-12-12: v1.1 -- Initial ld 37 version


  • Add Music
  • Modify the Graph to be log-based
  • Challenge Modes: Blocked tiles, unique machines, free build mode
  • Improve sprites and add tile variations
  • Figure out why the game is getting slow

Older versions:

Cart [#33330#] | Code | 2016-12-11 | License: CC4-BY-NC-SA | Embed

Cart [#33632#] | Code | 2016-12-18 | License: CC4-BY-NC-SA | Embed

Cart [#34111#] | Code | 2016-12-25 | License: CC4-BY-NC-SA | Embed

P#33331 2016-12-11 09:08 ( Edited 2017-01-18 22:41)

It's very good, I really like it

P#33337 2016-12-11 11:40 ( Edited 2016-12-11 16:40)

I really do not like that time limit

P#33342 2016-12-11 14:02 ( Edited 2016-12-11 19:02)

This is great! Especially impressive since you did it in such a short amount of time.

Here's my factory:

P#33344 2016-12-11 14:09 ( Edited 2016-12-11 19:09)

@Androview: Thank you!

@hshhhh: I will take that as a compliment :-) But seriously, there is just so much you can do with the given space and tiles, and because of PICO8 overflow limit, I need to cap the game at some point. Of course, maybe the game needs some more time.

@ToyCrab: Thank you for the screenshot! Do you mind if I put it at a "Hall of Fame" in the game's webpage?

P#33366 2016-12-11 19:21 ( Edited 2016-12-12 00:21)

I don't mind at all, although I realized how inefficient mine is after looking at your preview image.

And I think the time limit works fine. If you wanted to add more objectives, maybe you could make levels where you give the player a set number of each tile to work with and a goal to reach? That might work as a puzzle mode.

P#33369 2016-12-11 20:59 ( Edited 2016-12-12 01:59)
:: enargy

Awesome game!
The strategy that worked best for me was all bread, all the time. With juicers on the bottom row:

P#33377 2016-12-11 23:53 ( Edited 2016-12-12 04:58)

Hahahahahaha! Nerf bread!

Theoretically, bread is 2g/s, while the assembler is 15g/s. But now I realize that I did not take into acount the number of tiles necessary to feed the assembler from other items.

Balancing this kind of game is hard!

P#33393 2016-12-12 07:36 ( Edited 2016-12-12 12:36)
:: enargy

Haha yeah, the number of tiles makes it so it's only sliiiightly more efficient than AllBread (tm). I think it takes.. 14(?) to get a Combiner going, and in the meantime you're not getting $ from the juice itself. Or the extra bread, right? The way the output/setup on the Combiner works was a little odd for me, so I'm wondering if I was losing income I didn't need to when I tested it out.

I'm usually bad at factory games, but this was a lot of fun. Good work! :)

If you're still going to work on it, you could try making it so that the X button is a toggle that causes the d-pad to navigate the units instead of the field so it's easier to choose units. For mechanics, something like a puzzle mode ToyCrab mentioned would be cool. Even just something simple such as having to place a limited number of conveyor tiles in an interesting way to complete an partially built assembly line would be fun. Or offering level layouts that have obstacles like holes/walls you need to develop around. Lots of things you could do.. hope you get inspired to work on it even more.

P#33398 2016-12-12 09:26 ( Edited 2016-12-12 14:27)

I will definitely work on this a bit more, but probably on weekends -- I am planning to use the weekday nights to judge other ldjam games.

Solid ideas. The g/s that I listed above already takes into account the loss of income of the ingredients. However, one complication is that both the assembler and the juicer throw away extra ingredients if their buffer is full, so you want to try and balance the input by using splitters...... of course this is not very obvious from the in-game feedback, but that was the idea at first.

As for using X to change menu state, I thought that it would be too complicated for the 48h time limit of LD, but it certainly is on the top of my TODO list. :-) The puzzles (I'm tending more towards un-moveable tiles rather than tile limit ATM) is something else on the list.

But really thanks for the feedback!

P#33400 2016-12-12 09:31 ( Edited 2016-12-12 14:31)

Got a much better score with this one:

P#33422 2016-12-12 23:29 ( Edited 2016-12-13 04:29)
:: enargy

Cool, ToyCrab!

The reign of AllBread is over ;)

P#33440 2016-12-13 10:14 ( Edited 2016-12-13 15:14)

Yay, more screenshots, thanks, ToyCrab!

And I realize how useless the splitter is ATM... need to think over the mechanics to fix that :-)

P#33464 2016-12-13 19:19 ( Edited 2016-12-14 00:19)

I finally got around to playing this and am so hooked on it. Trying to figure out the best way to split and deliver is wonderful, even if it only took a few plays to reach the $1000 goal.

Hope you do continue working on it, even if less frequent. Your list of to-do's is spot on - different tile layouts, etc. Hope the next update isn't too far off.

One challenge mode could be reaching the $1000 goal with the fewest number of tiles, and so on like that. Simple unlockables could be fun too...just something extra to keep playing. I mean, there's a lot of ideas you could incorporate...bravo!

P#33473 2016-12-13 21:41 ( Edited 2016-12-14 02:41)

Love the graph that shows up at the end.

Looking forward to see where you take this next. I feel that if the costs were scaled up and the rewards were scaled down this could be turned into a great idle game that you could check in on every few minutes and re-configure and optimize your factory.

P#33490 2016-12-14 11:11 ( Edited 2016-12-14 16:11)

Originally I thought about making it idle. The problem, though, is the 32k number limit.

My very first version actually had a rough implementation of Bignum, but I thought "who has the time for that?" :-P I decided to drop bignum and add the time limit. I might revisit this idea, but fixing the control scheme, rebalancing, and adding "challenges" are higher up in the TODO list :-)

P#33509 2016-12-14 21:48 ( Edited 2016-12-15 02:48)

This is awesome, I created an account just to tell you how great this game is. I realize that an implementation of bignum might not be high on your list but even a "free play" mode with no money and unlimited time would be nice just to try things out and plan out layouts without having to worry about time. Also moving X to / or something might be nice to help stop my brain from clicking the wrong one all the time.

One last thing, how difficult would it be to remove the bomb and just auto-bomb when you try to stack?

P#33513 2016-12-15 02:38 ( Edited 2016-12-15 07:38)


I have changed the input, which was bothering a lot of people.

Now you press "Z" to use tools, and "X" to open a tool selection menu.

Let me know what you think!

P#33633 2016-12-18 10:03 ( Edited 2016-12-18 15:03)
:: enargy

I like the new control scheme. Good job!

I also like the suggestion teamcoltra had for auto-bombing.

P#33657 2016-12-18 20:54 ( Edited 2016-12-19 01:55)

Thank you!

Yeah, I was going to add a version of overwrite, where you don't overwrite the first time you try to replace, but the second (so it needs to clicks to overwrite).

This seems to me a reasonable compromise between overwriting and avoiding silly mistakes.

Also, I will probably add a few more tiles next weekend, so I am taking suggestions for foods you want to see in the game :-)

P#33662 2016-12-18 22:28 ( Edited 2016-12-19 03:28)
:: enargy

Mangoes, limes, pineapple.
Pizza, tacos, nachos.
[insert Cup Ramen (tm) FFXV joke here]
Milk, chocolate --> milkshakes?

P#33704 2016-12-19 10:19 ( Edited 2016-12-19 15:19)

Hello! Have another update!

Now you can finally overwrite tiles (you will need to press "use" twice).

I have also added two new machines (eggs and egg sandwiches), and
rebalanced things a bit (no more all-bread-all-time, I hope!)

Also, the price of the output is now exponential: your first output costs 100, the second 200, the third 400... I might do this for other machines in the future, but the idea here is to get people to use more conveyor belts, because they are awesome :-)

I hope you guys enjoy!

Cart [#34111#] | Code | 2016-12-25 | License: CC4-BY-NC-SA | Embed

P#34113 2016-12-25 06:20 ( Edited 2016-12-25 11:20)

PS: I would love feedback regarding the balance. I tried things a bit here, but it is really hard to know if I got it right.

P#34114 2016-12-25 06:21 ( Edited 2016-12-25 11:21)

Here is my best score so far.

I think it feels pretty balance but i did run into one glitch that i haven't been able to reproduce.
Somehow between selecting things, pausing, and opening/closing the menu at some point the menu opened up completely blank. Just a box with nothing but blackness in it and when i returned to the game field (closed the menu), it seemed the game thought i was in the menu, because it had the tool tips for the menu items at the top, changing when i pressed directions accordingly.
While this was a game breaking glitch, it hasn't happened to me again, yet.

P.S. I think I can beat my highscore, about to attempt.

P.S.Edit: If you need any help with an "Endless Mode" let me know I wouldn't mind writing the snippet for handling >32k numbers

P.P.S.Edit2TurboEdition: I like the exponential scaling on the outputter costs but do not think this should be applied to other machines. I would really like, for polish's sake an options menu in the pause menu. One option would be changing the frame border to something cuter or metallic or y'know a few cool ones. Another I would like, but this is probably very arduous to implement gracefully, would be the ability to rearrange the build menu as the player wants. A third option might be to change overwriting between single or double confirm.

Uhh.. Another Edit: Sometimes and i don't know why or when, when i select something in the menu, to build, it doesn't register it and it builds the last thing i built, despite my cursor being on something new and when i return to the menu i can see that the cursor is on what i wanted to build and when i exit it builds what i intended. This has bricked a few runs for me.

P#34122 2016-12-25 14:28 ( Edited 2016-12-25 20:22)

I think this is nearing the limit of my current method of production.

I could hit 17k I'm certain if I was a little faster and maybe 18k if I did everything perfectly but I think that's near the limit of what I can do this way.

If I want to hit 20k I'm going to have to try to figure out something new!

P#34134 2016-12-25 16:53 ( Edited 2016-12-25 21:53)

Hey CableDragon, thanks a lot for the feedback, really appreciated!

  • I really liked to see your maximum scores. It gives me an idea of where the game is right now in terms of how much money could be made. Could you send me a screenshot of your factory just before the end of the game? At what time did you stop adding items and just sat back and waited for the money to roll in?

  • I think I can imagine how the menustate bug happened. I'll see if I can reproduce it on my side.

  • Regarding > 32k money, if you want to take a stab at it, be my guest! The critical part actually is how to handle the money graph at the end, since it needs to calculate a 0-1 float corresponding to the fraction of max money at a certain point in time.

  • Rearranging the input based on player input is probably out of the table. But I'm not really in love with the current arrangement, so if you have any suggestions about where the items should be, fire away!

  • As for single/double confirmation, low priority right now. BTW, do notice that you just need to confirm once, and then you can replace many tiles in a row with single replacement!

  • As for your last edit, are you sure you're not exiting using the "menu" button? Exiting using the menu button will not switch your current tool. The text on top during the placement screen should reflect your current active tool, but maybe I could add an image as well to make it clearer.

  • As for prettier borders, that is definitely near the top of my to-do list. Any suggestions for better pixel art is welcome!
P#34137 2016-12-25 19:03 ( Edited 2016-12-26 00:03)

I'm holding off on publishing my factory screenies right now. I can pm them to you or send on discord. It's usually the last 50 seconds to a minute that I sit.

I replicated the menu glitch. Literally just double tap pause very quickly. It will happen. You can do it again to fix it.

I'll take a look at things when the holidays calm down as far as the bignum stuff goes.

Figured out the exiting with the menu button thing, I feel that the cursor should default back to whatever piece it was on if you open it after closing without selecting.

I should be able to draft up some concepts for the input menu.

The confirmation thing is just a whim.

I'll also make a few borders I'd like to see, hahah.

P#34141 2016-12-25 19:32 ( Edited 2016-12-26 00:34)

This may be naive but.... would you be able to avoid the number limit by resetting whatever counter or finding another way to represent the score? Like if every thousand could earn one gold brick and the score text could use like x gold bricks concatenated with zeroes for display?

Dunno if this makes sense, just trying to use a beginner mind to rethink the problem.

P#34190 2016-12-25 21:13 ( Edited 2016-12-26 02:13)

You are completely correct gcentauri. Just imagine each next digit as its own "gold brick" so it takes ten "ones" to make a ten. You just represent larger numbers as a small number of large objects.


Is just 367 millions, 890 thousands and 450 ones.

Your beginner mind is much better than you think!

P#34191 2016-12-25 21:51 ( Edited 2016-12-26 03:42)

Cabledragon -- Yeah, I know what is causing the menu state bug. I'll try to find the time to fix it this week.

Gcentauri -- Your approach is absolutely correct. The only snag is that to display the graph at the end, the game has to divide max score / current score, which is a tiny bit annoying with the golden bricks, but not impossible :-)

P#34192 2016-12-25 23:28 ( Edited 2016-12-26 04:28)

It all works the same way caranha.

32,561 divided by 200

32 thousands 561 ones

32 divided by 200 = .16 1000 = 160 // (Multiply by "thousands")
561 divided by 200 = 2.805
1 = 2.805 // (Multiply by "ones")
16+2.805 = 162.805

32,561/200 = 162.805

Not difficult at all, just tedious. :')

P#34193 2016-12-25 23:59 ( Edited 2016-12-26 05:00)

Thanks CD!

I don't really spend a lot of time on Skype, but you can reach me at ccaranha (2 c's) If you want to collaborate on the project (all help is welcome!) the easiest way would be probably through the github repository:


Feel free to post issues, or send a PR my way :-)

P#34195 2016-12-26 00:40 ( Edited 2016-12-26 05:40)

This was a near perfect run using my current method.
I don't know if there is a better method out there than mine.
I suspect not.

P#34269 2016-12-26 23:04 ( Edited 2016-12-27 04:04)

Playing 1.3. :-D

The in game score held up fine past 32k, but the chart obviously didn't.

It took quite a bit of work to get there. Here is my build:

My opening is probably not optimal. I'm pretty sure I could shave 5~10 seconds off the time it takes to get to my first juicer. Plus there is room for one more juice and sandwich combo on the left. And this layout could probably be vastly improved on with some more thought, particularly with the use of additional outputs. It took some practice to build and pretty fast finger work. But I'm sure that there is still lots of room to optimize, and that you could execute a better build with some memorization.

P#34279 2016-12-27 02:36 ( Edited 2016-12-27 07:36)

Yeah, I'm unfortunately limited by my slow reflexes, congrats on the score. Your setup is very similar to mine.


This is my current build pattern. My opening is very inefficient because i just wait for the first juicer instead of building more trees.

My build for my current highscore.

But the end result of all of this is that Juice+Bread is just the most efficient way to make money right now.

I like the idea of saving money by not building anymore selling boxes.
I'll definitely toy with that myself.

P#34317 2016-12-27 17:30 ( Edited 2016-12-27 22:43)

Hehe, thanks for the bug report! I thought I had squashed it in 1.3, but now I have two bugs to work with for the weekend :-)

Also, probably a buff to chickens/egg sandwiches incoming.

Thanks folks!

P#34342 2016-12-27 23:19 ( Edited 2016-12-28 04:19)
:: asie

Great game! I like it a lot - very fun. I feel the time limit makes it good for a casual, quick run once in a while - but I fear about it becoming too repetitive due to it as well.

P#34529 2016-12-30 13:58 ( Edited 2016-12-30 18:58)

Hey, Well done on making it to 20th in the Ludum Dare compo!


P#34821 2017-01-03 04:41 ( Edited 2017-01-03 09:41)

Thank you guys! And #32 fun, I'm super happy about that.

The bug fixing that I was planning on the NYE got tied up on family matters, but I'll work on in this weekend :-)

Coming up:

  • Bignums
  • Bugfixing
  • Boost to eggs
  • Music!


P#34883 2017-01-03 20:02 ( Edited 2017-01-04 01:02)

Hey guys, new version!

  • Fixed the menustate bug found by Cabledragon
  • Added bignum (score goes up to 100,000,000)
  • Gave a BIG buff to sandwiches - they are now next tier after assemblers.
P#35160 2017-01-07 11:26 ( Edited 2017-01-07 16:26)

One big reason for requesting bignum was for an endless mode, can you please add an option for this? It would be nice to have an endless/practice mode to test build designs.

P#36040 2017-01-18 17:41 ( Edited 2017-01-18 22:41)


I looooove this game. Thanks for making it!
I ended up with this setup.

P#61516 2019-02-04 21:35
:: rtc

Effective bread and eggs combiner pattern

P#61592 2019-02-06 21:23 ( Edited 2019-02-06 21:24)

[Please log in to post a comment]

About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2019-02-21 20:33 | 0.134s | 4194k | Q:135