Want to make a 2D browser game?
Just LÏKE, do it!

LÏKE is a framework similar to LÖVE or Raylib, but built for web canvas.

Like2D

Zero boilerplate, maximum freedom.

Focus on what matters.

🚲

Simple Bindings

No need to fuss with clunky web APIs. Get things on screen in an instant.

🎯

Good Practices

By using low-state abstractions, LÏKE is easier to reason about than vanilla.

🏗️

Build how you want to

LÏKE is a framework, not an engine. It's good for any realtime 2D canvas app, not just games.

💛

Open source and compact

LÏKE is MIT, so you're free to modify it as you see fit. The code is kept as simple and clean as possible.

♠️

Why the spade?

I'm digging in the dirt of Web APIs so you don't have to. LÏKE is your flower bed.

😮

Oh, you caught me early.

LÏKE is in 2.x.x, which for us means heavy development and API breakage. Watch this space.

Easy to start

Familiar binds for many, but modernized.

main.ts
import { createLike } from "like2d";

const like = createLike(document.body);

like.load = () => {
  like.canvas.setMode([800, 600]);
  like.input.setAction("jump", ["Space", "BBottom"]);
};

like.update = (dt) => {
  if (like.input.justPressed("jump")) {
    console.log("Jump!");
  }
};

like.draw = () => {
  like.gfx.clear([0.1, 0.1, 0.1, 1]);
  like.gfx.circle("fill", "dodgerblue", [400, 300], 50);
  like.gfx.print("white", "Hello Like2D!", [20, 20]);
};

await like.start();

Ready to start?

Wow, you knew about LÏKE before it was cool.