Jump to content

MOGIZ - play as a mosquito in a 3D house and bite a whole family (Three.js, cel shaded, no engine)


oreumgames
 Share

Recommended Posts

Hi all,

This one is a mosquito game. You hatch on a swamp in the front yard, get into the house through a torn window screen, and drink blood from seven people and pets: a cat, a dog, a baby, a high schooler, mom, dad and grandpa, in any order. Hold the bite too long and they slap you. The trick is to let go in the half second between them twitching and their hand coming down.

The fun of this game is flying the mosquito like a drone, up, down, left and right, finding the spot where it is easiest to drink people's blood, and going slurp, slurp.

A mosquito only lives for a day, so a few seconds after you die you are reborn in the grass nearby.

Each rebirth you pick one of three evolution cards (30 in total, 6 gold), and you need all seven in a single life to reach the swamp, lay your eggs and see the ending. It is made for PC with keyboard and mouse, and also runs on a phone held sideways. English and Korean, nothing to install.

Play (free, no sign-up): oreumgames.com/en/games/mogiz/

mogiz-shot-en.webp

Tech, since this is a dev forum. Plain Three.js, no engine, about 2,600 lines across 14 files. The cel look is a three step gradient map with Nearest filtering so the light and shadow bands cut hard, plus an inverted hull outline that pushes back faces out by a constant amount in screen space, so lines stay around 2 px whether you are an inch from the cat or across the room. Hard edged boxes split their outline at the corners, so every vertex gets a second averaged normal just for the outline. The people are built from primitives in code, the bodies are lathe shapes with a hip, waist, chest and round shoulders, and the arms are two joint IK so a hand can actually find the mosquito on its own arm. Collision against people uses their real ellipsoid shapes; I pushed the mosquito into each character from 26 directions and it sinks at most 1.8 mm. The shadow map is only redrawn every third frame because the house never moves and the people barely do, and the first three seconds are timed so slow devices drop a quality step and remember it.

The most embarrassing part was loading. The title screen took about 4 seconds on the live site, and when I timed each step the single biggest cost was 0.7 s spent building string keys to match up vertex positions for those outline normals. Switching to integer keys, reading positions from the index first and doing the matrix math by hand brought the build down to about 0.7 s, and a returning visitor now sees the first frame in about 1.2 s. All sounds and the music are made in code with Web Audio, including the buzz.

It was made in three days, October 22 to 24, mostly from playtest notes. My favorite bug was mine: for a while the high schooler and grandpa could never hit you, because I added the swatter's length to their reach even when they were not holding it, so their hand always overshot.

dodge.jpg

Made by a very small indie team in Korea.

One thing I would really like to know: does the moment of letting go and dodging the hand feel readable, or does the slap feel random?

Thanks for playing!

Edited by oreumgames
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...