Log In  
1

I'm making a fishing puzzle game called Hook, Line and Thinker. I started it on PICO-8 in a game jam and have since ported it to Defold so I can release it on Android and iOS. I've just done some variations on the case and I'm curious what people think! What's your favorite? What would you change? Original tweet.

If you're curious here's an overview of my progress on the game so far. Original tweet.

P#44310 2017-09-18 08:19

2

Cart [#27595#] | Copy | Code | 2016-08-28 | Link
2

It's your first day at the museum and your boss is sick. Guess you'll have to improvise!

Made in 48 hours for Ludum Dare 36 based on the theme 'Ancient Technology'.
Timelapse
LD entry page

ld36 ludumdare
P#27596 2016-08-28 21:02

2

I decided to do a write-up of a little recursive algorithm I made for finding every configuration of a set of blocks in a line. While I was doing that I figured I might as well make a PICO-8 cartridge and do a little rendering.

Left and right to change the rendering size, up and down to scroll. To change the number and size of the blocks, the size of the line and the minimum number of spaces between blocks just change the appropriate values in _init().

Cart [#23323#] | Copy | Code | 2016-06-20 | Link
2

Algorithm (full code in cartridge)

function block_char(block_id)
  local chars = "abcdefghij"
  return sub(chars, block_id, block_id)
end

function can_shift(line)
  return sub(line, #line, #line) == "-"
end

-- shifts all blocks of the given id or higher rightwards one cell,
-- leaving all blocks left of that id unchanged
function shift(line, block_id)
  local char = block_char(block_id)
  local pos = 1
  for i = 1, #line do
    if sub(line, i, i) == char then
      pos = i
      break
    end
  end
  local pre = sub(line, 1, pos-1)
  local post = sub(line, pos, #line-1)
  return pre.."-"..post
end

function find_solutions(blocks, length, min_spaces)
  -- build and store the leftmost solution
  local line = ""
  for block_id = 1, #blocks do
    for i = 1, blocks[block_id] do
      line = line..block_char(block_id)
    end
    if block_id ~= #blocks then
      for i = 1, min_spaces do
        line = line.."-"
      end
    end
  end
  if (#line > length) return {}  -- no solutions, can't fit
  while #line < length do
    line = line.."-"
  end
  local solutions = {line}
  find_spreads(solutions, line, 1, #blocks)
  return solutions
end

function find_spreads(solutions, line, block_id, num_blocks)
  local my_line = line
  while can_shift(my_line) do
    if block_id < num_blocks then
      find_spreads(solutions, my_line, block_id + 1, num_blocks)
    end
    my_line = shift(my_line, block_id)
    solutions[#solutions + 1] = my_line
  end
end

blocks = {2, 2, 2}
length = 8
min_spaces = 0
solutions = find_solutions(blocks, length, min_spaces)

P#23324 2016-06-20 18:40

3

There is a onehourgamejam every Saturday at 20:00 UTC. Feel free to post your own entries here too!

60th jam (18 June 2016). The theme was Castle.
This was my first 1HGJ. I worked feverishly on the first idea that came into my head: archery. I was in such a rush that I spelled castle wrong in the title graphic! Didn't realise until after submission that you can just hold down fire to win.

Cart [#23205#] | Copy | Code | 2016-06-19 | Link
3

1hgj
P#23209 2016-06-19 11:46

14

Cart [#18837#] | Copy | Code | 2016-02-14 | Link
14

A simple tool to make playing around with the PICO-8 palette easier.
Arrow keys to change selection, Z or X or to pause/unpause the fade animation.
Fade charts and function by @cap_colors

palette tool colors
P#18838 2016-02-14 19:08

17

I've made a series of fonts for the PICO-8. Each font uses as few sprites and as little code as possible. An 'LS' version of a font uses Less Sprites at the expense of longer code.

TinyText: a lowercase font meant for use alongside the uppercase system font. Each character is just 3x4 pixels and aligns to the bottom of the system font, meaning lines of text are still 5 pixels tall and 3-pixel monospaced. The whole font uses just 5 sprites. Can fit 21 lines of text on-screen (the same as the system font).

TinyTextLS: the same font as TinyText but with just 4 sprites!

MiniText: a prettier lowercase font also meant for use alongside the uppercase system font. Character size varies and can hang below the writing line, meaning lines of text are now 7 pixels tall (but are still 3-pixel monospaced). The code is a bit longer, but the font still only uses 5 sprites. Can fit 16 lines of text on-screen.

MiniTextLS: the same font as MiniText but with just 3 sprites! [deprecated, see LRP's Mini]

LRP's Mini: the same font as MiniText but packed into just 2 sprites by LRP!! It also uses less code than MiniTextLS, so it's all-round better - use this one instead of MiniTextLS! Find it in the comments.

These fonts come with 3 text rendering functions, plus there's the system print, so we have:

  • print(str [x y [col]]) the system print function, which "PRINTS IN ALL CAPS".
  • printlower(str x y [col]) which "prints in all lowercase".
  • printfirst(str x y [col]) which "Capitalizes just the first word".
  • printevery(str x y [col]) which "Capitalizes Every Word".

3Text: this is a standalone font that replaces the system font for printing. Every character is just 3x3 pixels and the code is very short, but it uses 10 sprites and is the hardest one to read. Can fit 32 lines of text on-screen.

  • print3(str x y [col])
SPRITES USED:       TOKENS USED:         LINES ON-SCREEN:
LRP's Mini   2      3Text       164      3Text       32
MiniTextLS   3      TinyText    245      TinyText    21
TinyTextLS   4      TinyTextLS  410      TinyTextLS  21
TinyText     5      MiniText    411      MiniText    16
MiniText     5      LRP's Mini  590      LRP's Mini  16
3Text       10      MiniTextLS  676      MiniTextLS  16

Cart [#18802#] | Copy | Code | 2016-02-13 | Link
17

Cart [#18803#] | Copy | Code | 2016-02-13 | Link
17

Cart [#18804#] | Copy | Code | 2016-02-13 | Link
17

Cart [#18805#] | Copy | Code | 2016-02-13 | Link
17

Cart [#18806#] | Copy | Code | 2016-02-13 | Link
17

License:

Please feel free to use these for anything you like! I've tagged these with the CC license so people know immediately that they can use them, but I'm actually releasing the sprites and code under the zlib license. The zlib license is even more permissive than CC BY-NC-SA and basically means you can do whatever you want with them, but I can't be held liable. Attribution is not necessary, but I'd love to hear from you if you use them for anything!

Pictures:

Here's the TinyText font rendered, in TinyText 1.1 and in TinyTextLS:

Here's the MiniText font rendered, in MiniText 1.1 and in MiniTextLS:

And here's the 3Text font rendered and in 3Text (I haven't been able to do 3TextLS because of what seems to be a PICO-8 string parser error):


How the 'LS' versions work:

The Less Sprites versions use flipping and overlapping characters to reduce the number of sprites used, which requires a bit more code to setup and render.

The TinyTextLS sprites contain the following characters:

abcefghijk
lmnosvxyz

d, p and q are flipped versions of b; t is flipped from f; r is flipped from l; w is flipped from m; u is flipped from n.

The MiniTextLS sprites contain the following characters:

cemorsvx
dfghljky

a overlaps d; b, p and q are flipped from d; i overlaps j; the dot of j overlaps the bottom left of s; n overlaps h; u is a flipped subset of h; t is a flipped subset of f; w is flipped from m; z is flipped from s.


Old versions:

While doing the LS versions of TinyText and MiniText I made small changes to the p and q characters, so I updated the original ones to match. Here are the first versions of TinyText and MiniText:

Cart [#18768#] | Copy | Code | 2016-02-11 | Link
17

Cart [#18785#] | Copy | Code | 2016-02-12 | Link
17

font text
P#18769 2016-02-11 15:27

4

Cart [#17893#] | Copy | Code | 2015-12-17 | Link
4

Direct the growth of vines to avoid lawnmowers. If you run out of seeds, fly the bee to lots of flowers to pollinate them for more. Try to survive as long as possible!

I originally made this game in 48 hours for Ludum Dare 34 with the dual themes of 'Growing' and 'Two Button Controls'. There's a timelapse of that here. This is an updated version of the game with lots of improvements based on feedback from the LD community.

===Changelog 1.1

- The next spawn point for vines is now indicated by a seed sprite. The direction the seed is pointing is the direction the vine will grow (away from nearest screen edge, like always).

  • The spawn point for bees is now indicated by a beehive sprite. Along with the seed sprites, this means you can plan ahead much more.
  • If the lawnmower hits a seed or beehive it's position is re-randomized.
  • A big particle ring now emanates from the vine/bee spawn position to draw your attention and help you quickly work out where you are.
  • There's a warning flash on the side of the screen before a lawnmower appears.
  • The bee leaves a trail of pollen behind it once it has visited it's first flower. Players were getting confused about how to acquire seeds; the first flower visited gives you nothing but every subsequent flower gives a seed, because you pollinated it.
  • Rebalanced the game in various ways. In general, games should last longer now.
  • Added some berries and flowers to the titles to make them prettier.
  • Much clearer instructions on the title screen.
  • Many, many more title screen puns (from 14 to 27).

Original LD version:
Cart [#17755#] | Copy | Code | 2015-12-13 | Link
4
ld34
P#17756 2015-12-13 18:48


:: More
X
About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2017-11-20 02:01 | 0.410s | 2097k | Q:125