frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Hallucinopedia

http://halupedia.com/
205•bstrama•15h ago•187 comments

Show HN: Tilde.run – Agent sandbox with a transactional, versioned filesystem

https://tilde.run/
156•ozkatz•15h ago•108 comments

Show HN: Agent-skills-eval – Test whether Agent Skills improve outputs

https://github.com/darkrishabh/agent-skills-eval
4•darkrishabh•1h ago•0 comments

Show HN: PHP-fts – Full-text search engine in pure PHP, no extensions

https://github.com/olivier-ls/php-fts
66•asmodios•11h ago•16 comments

Show HN: Trust – Coding Rust like it's 1989

https://github.com/wojtczyk/trust
4•wojtczyk•1h ago•1 comments

Show HN: I built an open-source email builder, alternative to Beefree/Unlayer

https://play.templatical.com
129•oahmadov•15h ago•31 comments

Show HN: Airbyte Agents – context for agents across multiple data sources

141•mtricot•1d ago•42 comments

Show HN: I Replaced React in GraphiQL with Svelte

https://code.webb.page/eol/graphiql.git/about/
5•NetOpWibby•4h ago•1 comments

Show HN: Dreamwork – a job search site I made after Indeed fired my pregnant wif

https://www.dreamworkhq.com/
5•cojj25•5h ago•2 comments

Show HN: Vanilla-scroll-sky: CSS-only modern scroll-driven storytelling sections

https://github.com/ulrischa/vanilla-scroll-sky
5•ulrischa•11h ago•0 comments

Show HN: Gpu.fund, live GPU cloud rental prices

https://gpu.fund/
4•justacatbot•8h ago•0 comments

Show HN: Mac Juice Monitor – Bluetooth battery levels in the macOS menu bar

https://github.com/p32929/mac-juice-monitor
5•heliskyr2•12h ago•3 comments

Show HN: Explore color palettes inspired by 3000 master painter artworks

https://paletteinspiration.com/
204•ouli•1d ago•77 comments

Show HN: I wrote a flight simulator in my own programming language

https://github.com/navid-m/flightsim
6•pizza_man•9h ago•2 comments

Show HN: Naval Strike – simultaneous turn-based fleet combat in the browser

https://navalstrike.app
4•pinchydev•10h ago•5 comments

Show HN: Gulugulu, an old-style client-side search engine for the old weird web

https://cbrincoveanu.github.io/gulugulu/
2•cbrincoveanu•10h ago•0 comments

Show HN: I built a game where AI agents compete to ship code

https://aion.quest/
5•xkoda•10h ago•4 comments

Show HN: TubeLens – Critical analysis of YouTube (4 dimensions, 28 signals)

https://tubelens.app/en
2•mamflux•10h ago•0 comments

Show HN: Pay.sh – Discover, access, and pay for any API autonomously

https://github.com/solana-foundation/pay
5•fmerian•10h ago•0 comments

Show HN: Vibeguard-dev/local – static AST analysis for AI-generated SQL

https://github.com/MuddySheep/vibeguard-local
3•MuddySheep•10h ago•3 comments

Show HN: Sqlflow, a SQLite back end layer for Go

https://github.com/avalonbits/sqlflow
2•iccananea•11h ago•0 comments

Show HN: Platos – like Claude Managed Agents but open-source and self-hosted

https://github.com/winsenlabs/platos
2•tejassuds•11h ago•0 comments

Show HN: Granite Switch - compose multiple LoRA adapters to one deployable model

https://github.com/generative-computing/granite-switch
3•bignet•12h ago•0 comments

Show HN: Looties – a marketplace for tech swag fans

https://looties.io/
3•quentindotpy•12h ago•0 comments

Show HN: Recursant, "Istio for agents", is now open source

https://github.com/ajensenwaud/recursant
4•hestefisk•12h ago•0 comments

Show HN: Apple's SHARP running in the browser via ONNX runtime web

https://github.com/bring-shrubbery/ml-sharp-web
182•bring-shrubbery•3d ago•46 comments

Show HN: nfsdiag – A NFS diagnostic application

https://github.com/lsferreira42/nfsdiag
82•lsferreira42•4d ago•6 comments

Show HN: Tuiql – A keyboard-driven SQL database client in the terminal

https://github.com/okira-e/tuiql
3•okira_e•13h ago•0 comments

Show HN: Upskill – skill to find skills for your AI agents

https://github.com/Autoloops/upskill
4•kushalpatil07•14h ago•8 comments

Show HN: DoodleMate: Animate Your Child's Hand Drawings Without Generative AI

https://doodlemate.com/
7•hjessmith•14h ago•8 comments
Open in hackernews

Show HN: Naval Strike – simultaneous turn-based fleet combat in the browser

https://navalstrike.app
4•pinchydev•10h ago
A few weeks ago there was a thread about using AI to finish abandoned projects, and a comment from avereveard https://news.ycombinator.com/item?id=47905088 on building their 100x100 grid battleship got my spark. I didn’t build that, but it pushed me to finally finish a combat idea I’ve been wanting to play for ages.

Introducing Naval Strike!

It’s a simultaneous turn-based fleet vs fleet on a grid played in the browser. There’s no account or signups needed. Both players plan their moves, then the turn resolves at once.

There’s three different play styles:

* Solo. Procedural maps and uses guided “AI” opponents (in the same way that 1990s games had “AI” opponents)

* Scenarios. Objective missions on procedural maps like "rescue the downed pilot" or "destroy the convoy"

* Campaigns. Historical battles on real-world maps (Sink the Bismark in the Atlantic, or escort the tankers through the strait of hormuz)

A few things I figured HN would ask:

I designed the architecture and Claude did implementation. While 90% of the decisions are mine 90% of the lines are AI-written. Lots of micro managing short bursts to get it to look/feel right. I think I consumed a week’s worth of tokens just to get the fog working how I wanted. Eventually I learned that having lots of small bursts of code with testing got me to where I wanted much faster than longer sessions. I built preview pages so I could test animations, sequencing etc without affecting the codebase so I didn’t chew through my tokens.

Stack. TypeScript/Canvas 2D, hosted on Cloudflare. The server is a tiny WebSocket relay, it pairs two players by room code and blindly forwards messages, with no game logic. So there’s no accounts and no tracking beyond default Cloudflare insights. Just open the URL and play. Opponent AI is guided scripted tactics with situational decision trees.

Art is a mix of AI/hand. I’m not artistic enough to do everything by hand, but there’s a lot of manual pixel by pixel editing on the assets. Assets are stored as JSON arrays and drawn directly to screen with a colour palette.

I ended up building a small map editor that lets me "trace" Google Maps screenshots to get the campaign maps geographically close to the real engagements. Sounds are from open source libraries - you can mute them with the little speaker button but they are on by default which might upset a few people.

Although this was largely coded by AI, I got heaps of enjoyment being able to focus on the UX, style, gameplay and UI to be just how I wanted. Being able to test (and throw away many!) ideas so quickly was awesome fun.

Feedback welcome. Especially on balance and the campaign design and gameplay, it’s hard to play-test every variable!

Comments

vunderba•6h ago
Nice job. As someone who spends an inordinate amount of time on pixel art, I immediately noticed that something was off on the logo [1]. When I brought the PNG down, it looks like when you were trying to clean the asset (probably a background removal tool that was too aggressive), you accidentally made part of the hull alpha-transparent.

Also, consider adjusting the sprite assets for the frigate and cruiser. Right now they look very similar, which could be frustrating if a player wanted to do a quick visual scan and identify which ships are which.

[1] - https://navalstrike.app/assets/naval-strike-logo-xIcrDNQX.pn...

pinchydev•6h ago
Thank you - you're right, it must have been when I removed the background surrounding the logo, I did it on a colour not the area and missed that the hull was the same shade. I'll fix that :)

I'll play with cruiser sprite too, if you're curious this is how I save them:

  frigate: [
    "................",
    "................",
    "................",
    "...kkkkkkkk.....",
    "..kHHHHHHHHkk...",
    ".kHgGGGGGGGgDkk.",
    "kHHgwGttGttwgDkk",
    "kHHgGGGppGGttgDk",
    "kHHgGGGppGGttgDk",
    "kHHgwGttGttwgDkk",
    ".kHgGGGGGGGgDkk.",
    "..kHHHHHHHHkk...",
    "...kkkkkkkk.....",
    "................",
    "................",
    "................",
  ],
vunderba•6h ago
Nice~ I used to do something similar back when I made little games in BASIC using blocks of sequential DATA keywords to visually represent on/off pixels for the various sprites.
pinchydev•6h ago
that brings back painful memories of typing lines and lines of DATA keywords from library books into GW BASIC.....

I'm an embedded engineer, so it's how I would encode a sprite for displaying an LCD character, it seemed natural to do it this way!

ETA: I've fixed the image transparency and the frigate sprite is less fat, thanks!

vunderba•5h ago
Very cool. It’s been a while, but years ago I remember using a nice little tool that somebody had made that let you export BMP pictures to an array you could drop into an Arduino C program for displaying on an RGB LED matrix.