• TypeScript 98.3%
  • HTML 1%
  • JavaScript 0.6%
Find a file
2026-03-11 00:47:45 -07:00
.vscode Setup i18n with more modern separate bundle per language 2026-03-03 23:19:32 -08:00
app build and bump version to 2.0.1 2026-03-11 00:47:45 -07:00
content/layout-fullres [layout] reduce size of images with imagemagick 'mogrify -resize 300 *.png' 2020-06-05 01:55:27 -07:00
dist build and bump version to 2.0.1 2026-03-11 00:47:45 -07:00
docs fix broken link and format doc file 2020-05-02 17:20:50 +08:00
scripts dock was missing from tile path cache 2026-03-06 13:12:46 -08:00
static made the gear on the settings button a little smaller 2026-03-11 00:47:45 -07:00
.eslintrc.js fix root eslintrc traversing up for git worktrees 2026-03-02 14:36:23 -08:00
.gitignore almost working 2020-03-31 01:07:49 +02:00
CHANGELOG.md add changelog to make note of changes 2026-03-11 00:47:45 -07:00
favicon-48x48.png seo improvements - higher res favicon, google description, link rel=canonical, robots, sitemap 2026-03-03 20:15:36 -08:00
favicon-192x192.png seo improvements - higher res favicon, google description, link rel=canonical, robots, sitemap 2026-03-03 20:15:36 -08:00
favicon.ico [font] add url-loader to webpack to allow for relative url() paths in css to reference font file 2020-04-23 01:50:14 -07:00
index.html Try to make analytics not double count people. Also, remove extraneous text from google search result 2026-03-10 02:39:16 -07:00
LICENSE.txt [misc] add docs + add browser compat check from d56db0a 2020-04-19 02:40:20 -07:00
package.json use yarn rather than npm in package.json to be more consistent 2026-03-02 13:24:35 -08:00
README.md Update README.md 2026-03-10 14:52:58 -07:00
robots.txt seo improvements - higher res favicon, google description, link rel=canonical, robots, sitemap 2026-03-03 20:15:36 -08:00
sitemap.xml seo improvements - higher res favicon, google description, link rel=canonical, robots, sitemap 2026-03-03 20:15:36 -08:00
thumbnail.png [reddit] add open graph tags to index.html 2020-03-07 19:46:25 -08:00
tsconfig.json [react][wip] basic react implementation. uses cdn ver of react 2020-04-26 13:05:10 -07:00
webpack.config.js prevent work in git worktrees triggering hot reload 2026-03-06 01:53:18 -08:00
yarn.lock automatic base map generation from iamge 2026-02-10 16:03:29 -08:00

Happy Island Designer

Create your own at: https://eugeneration.github.io/HappyIslandDesigner/

Report bugs in the Issues tab or on the Discord

screenshot

Features

  • autosave
  • undo/redo
  • zooming
  • Choose between flat icons or high quality renders for building icons
  • Save an image of a map and load the image back in to recover your map (the map data is encoded in the image)
  • Click the tool icon a second time to hide the pop out tool menu
  • Brush size selector
  • Line toggle buttons
  • Mobile - pinch to zoom and two finger swipe to scroll

Hotkeys

  • Hold SHIFT to draw straight lines
  • Hold ALT and click a color to switch to it
  • Hold ALT and scroll to zoom
  • Hold SPACEBAR and drag to pan

Known Issues

Note that if you edit/compress the saved image, the encoded data will get corrupted. If you're sharing a map, make sure to use an image host that doesn't compress the image.

The UI isn't really optimal for mobile, but at least it works.

The UI will be cut off if you hold your phone in landscape mode.

FAQ

The browser crashes every time I open it!

The autosave file might be corrupted. Open the browser console (hit F12) and run this command editor.clearAutosave() to remove your autosave file.

Future Enahancements

  • All the icons
  • Island name banner
  • Text labels
  • UI overhaul
  • Isometric view??

Development

Once I saw that you could customize your island in the AC direct, I was inspired to make a tool that lets you make your own island. Several dozen hours of work later, I have this! This is an alpha build, so some things may be wonky, and the maps data may become incompatible with future versions.

Click here for technical details.

Click here for local development info.