My projects

Hi. My name is Dušan Halický and I am programmer. Here is some of my work, mostly web games, electronics software, android apps, and some extensions for Chrome browser. You can contact me on my email dusan.halicky@gmail.com or on twitter or github. This page is also available as RSS feed. I also have a blog now. And you can support me on Patreon.

Web games

Alien invasion

Alien invasion

2D space shooter, web game, canvas

Alien invasion is a 2D space shooter web game. You control small spaceship and shoot aliens. Each new level introduce new kind of alien. Some aliens drop gold which can be used to improve ship. Some aliens can shoot back. Use on screen arrows to move ship and press fire button to shoot nearest alien. Game is best playable in landscape mode. When you collect enough gold you can buy ship improvements in the shop. Aliens cause damage to ship when they are too close or when they shoot at your ship. Life indicator is at upper left corner. Source code is available on github.

Balloon mountains

Balloon mountains

Fly over mountains and pop balloons, web game, canvas

Fly over misty mountains and pop balloons. Avoid black balloons. There are many different levels. You receive stars for completing levels and for completing achievements. Many different balloons affect game play. Red balloon makes you go faster, brown balloon slower, yellow balloon confuses, gray balloon will make you lose color vision and and black balloon kills you. Source code is available on github.

Ghost car challenge

Ghost car challenge

Compete against other drivers, web game, WebGL

First you drive one lap to qualify. Then you can choose your opponent. You compete on the same track and you see how your opponent drove. When you are too slow, you just drive another lap until you beat your opponent. When you drive faster you move up in the table. The goal is to get to the top. You can choose from 10 different cars and 7 different tracks. It's real fun shaving off milliseconds of your time each lap to beat the opponent. Source code is available on github.

Ghost

Ghost chat bot

Chat with simple AI, web game

Ghost is simple chat bot app, it predates LLMs but it's still ok. You write something, Ghost reply back. You can modify answers if you don't like them, this is how Ghost learns new stuff. Source code is available on github.

Ghosttown

Ghosttown

Non-action walk & talk adventure, web game, canvas

Ghosttown is a town populated entirely by chat bots. Each with different personality. They live and work in various places within town. You can walk around and talk to them. There are also some quests where you can do more complex stuff. Source code is available on github.

Ghost town 2: monster survival

Ghost town 2: monster survival

Action sequel to Ghosttown, web game, canvas

Action sequel to the Ghosttown game. Magic book got stolen from Ghost town library. Then monsters started appearing all over the town. Mayor needs your help to defeat those monsters, find out who summoned them and find the magic book. Source code is available on github.

Robot puzzle

Robot puzzle

Control robot using simple instructions to solve puzzles, web game, canvas

You control robot using simple instructions (forward, left, right, repeat, pick, drop, ...) and your goal is to solve logical puzzles, each puzzle have different goal. There are multiple solutions to each puzzle, the less instructions and less steps you use the more stars you receive. Source code is available on github.

Word puzzle

Word puzzle

Crossword like puzzle, web game

Place letters that appears on the top of the screen anywhere, when you create English word you get one point, otherwise you lose one point. Source code is available on github.

Virtual boyfriend

Virtual boyfriend

Talk with Sebastian, web game

Virtual boyfriend is your virtual boyfriend companion. You can talk to him and he will reply in English. It uses speech synthesis for talking and microphone for voice recognition. You can go on a date on a beach or to the restaurant or visit his room or you can try different clothes and have fun. There are 6 different clothes in 23 different colors. Source code is available on github.

Beach volleyball

Beach volleyball

web game, canvas

Simple 2D web game where you play beach volleyball against opponent, swipe up (or use a mouse) to hit and direct the ball. Source code is available on github.

Hide and seek

Hide and seek

web game, canvas

Simple web game where you look for a ghost in a pixel art forest using flashlight. Source code is available on github.

Trash everything

Trash everything

web game, canvas

Pixelart web game where you destroy (almost) everything in every level. Different objects explode and produce unique sounds. Source code is available on github.

Callisto space simulator

Callisto space simulator

web game, canvas

Realistic Newtonian visual and instrumental space flight simulator. You are a pilot of a small space ship on Jupiter's moon Callisto. First you will go through few training missions and then you can start completing various missions: Refueling, finding lost equipment, checking for damages, using radio to find pirates, checking ships, docking and many more. All objects behaves according to Newtonian physics and ships use realistic current day rocket technology. Instruments are in sort of 80's space tech style with lot of analog gauges and only bare minimum of computers. This game is quite hard and missions are quite long. There are 24 missions, each lasts from 10 minutes to few hours or more. Source code is available on github.

Electronics software

Spice diode model

Spice diode model

web app, electronics software

Web app that finds SPICE diode model (IS, N, RS parameters) from measured AV curve. Simply paste CSV data, click start and in few minutes you will have very accurate diode model. This tool runs in browser. Source code is available on github.

Find similar diode

Find similar diode

web app, electronics software

Web app that finds similar diode from your measured AV curve by comparing it to known and previously measured diode curves. Simply paste your diode CSV data, click "Similar 3" and 3 most similar diode curves will be shown. This tool runs in browser. Source code is available on github.

stripboard2schematic

stripboard2schematic

web app, electronics software

Web app that converts stripboard layouts back to schematics, either for checks or if schematic was lost. This tool runs in browser. Source code is available on github.

stripboard2schematic

switched-reluctance-motor-configurator

web app, electronics software

Web app that helps you explore various combinations of coils and poles of switched reluctance motors. For example with combination of up to 12 coils and poles, there is 144 combinations, out of which only 92 produce valid motors. This tool runs in browser. Source code is available on github.

what-can-i-build

what-can-i-build

web app, electronics software

This web app allows you to find circuits (mostly guitar pedals) that you can build with parts you have. Fill in parts you have and it will show you what you can build. This tool runs in browser. Source code is available on github.

ngspicejs

ngspicejs

linux, electronics software

JS frontend to ngspice electronics simulation software. Unlinke ngspice which uses weird mid-80s scripting language, ngspicejs uses JavaScript as scripting language. It has better error messages and built in linter. Search-friendly documentation (simple examples instead of one 723-page long PDF file). And over all less frustrating experience. It supports sixel graphics in terminal and can create animated gifs (for example how blending pot affects output of octaver circuit). This tool runs only in Linux (tested on Ubuntu 22.04). Source code is available on github.

JFET model maker

jfet-model-maker

linux, electronics software

A ngspicejs script that helps you create super accurate JFET level 2 spice models from measured transistor curves. It usually takes between 10 minutes and 10 hours to find good model. This tool runs only in Linux (tested on Ubuntu 22.04). Source code is available on github.

LC oscillator finder

lc-oscillator-finder

linux, electronics software

A ngspicejs script that finds novel LC oscillator topologies. In config file you define how many components to use, the script will then generate random topologies and test if they are oscillating. If so it prints the result. Using this tool I found hundreds of different oscillators. This tool runs only in Linux (tested on Ubuntu 22.04). Source code is available on github.

pedalgen

pedalgen

linux, electronics software

Pedalgen is a ngspicejs script that generates random network of components (resistors, capacitors, inductors, diodes, NPN and PNP transistors) and then simulates them in ngspicejs. Then it performs Transient analysis, measures AC characteristic and FFT and compare the results with user-specified requirements. If the pedal matches the requirements it is saved, all charts are saved as gif images and wav file with 3s long chord is passed through the pedal and output is saved as wav file. Then new pedal is generated and cycle continues. After few minutes you can have tens of pedals generated which you can then review and build the ones you like. This tool runs only in Linux (tested on Ubuntu 22.04). Source code is available on github.

Android apps

Euro mince

Euro mince

Android app, offline, Slovak only

This simple app will help you collect Euro coins. Did you know there are over 800 different Euro coins you can collect. Each coin has image and description. App is only available in Slovak language. It works on most Android phones and APK has approx 40 MB and works completely offline.

Furigana browser

Furigana browser

Android app, web browser

This android app converts Japanese text (kanji, kana) to Latin (roumaji) as a text with small hints above each word how to pronounce it. For known words it also displays English meaning of the word when you tap on the word. It also contains adblocking. It works on most Android phones and APK has approx 5.5 MB.

RSS reader

RSS reader

Android app, online

RSS reader allows you to subscribe to RSS, RDF or ATOM feeds of your favorite websites. Once you hit the refresh all feeds are downloaded and then can be read offline (not articles itself just the summaries). You can star articles to read them later. Articles can be downloaded. It works on most Android phones and APK has approx 5 MB.

Bills

Bills

Android app, offline

Bills is simple app for tracking your expenses. You can add all your expenses and see various charts and statistics that will help you save money. You can also create groceries lists. App does not require any permissions.

Chrome extensions

Domain whitelist

Domain whitelist

World's smallest ad blocker

This extension only allow requests from user-defined list of domains. By default it blocks all HTTP requests. If you want to see some website, you must explicitly allow its domain (in popup window displayed when you click on DW button). After you install DW, first few hours will be very intense! It's not for everybody. DW is extremely small, the source code has only 5 kB. This is extremely important because now anybody can read the source and understand it.

Furigana

Furigana

Kanji to Roumaji converter

This chrome extension converts Japanese text (kanji, kana) to Latin (roumaji) as a text with small hints above each word how to pronounce it. For known words it also displays English meaning of the word when you hover the mouse. Unlike similar extensions (e.g. IPA Furigana), this one converts all kanji, not just the hard ones. It also converts hiragana and katakana.

Improvements extension

Inject-JS

Inject custom JS to any website

It allows you to define JS code to be executed on sites you specify. It requires knowledge of JS, intended audience are programmers.

RSS reader

RSS reader

Replacement for Google Reader

RSS Reader (RR) is chrome extension for reading news feeds. It is my attempt to recreate Google Reader which was discontinued some time ago. Because Chrome extension can make AJAX request to any domains, it is possible to create RSS reader completely without any server backend. This is interesting fact because no matter how many people will use it, there would be no need for more server resources. The downside is that storage is somewhat limited, currently to 5 MB so that RR does not actually store the feeds data.

Tc Chrome app

Tc calculator

JS clone of BC calculator

Simple offline BC-like calculator for programmers with support for user defined functions and history. There are no buttons (unlike XCalc) but you simply type expression you want to evaluate. Tc use plain JS for evaluation so you can use almost any valid JS code. There are over 60 built in functions, very extensive help.