RSS Amplifier

Blog

geon

geon.github.ioRSS feed ↗15 posts

Latest posts

Fixing The C64 Bubble Bobble Continue Bug

The c64 version of Bubble Bobble has a credit system. When you lose all your lives you can press fire to use a credit and get 3 new lives. Just like if you dumped another coin in the arcade machine. But that never worked right. If both players are out of lives, the game immediately exits to the home screen. The only workaround was to hold down the fire button while the death animation is playing,…

I wrote the worlds worst emulator

to reverse engineer the c64 Bubble Bobble RNG Weirdly elegant in its own broken way. - ChatGPT Background After my Bubble Bobble Wind Currents post , I was contacted by Davide Bottino , who remasters c64 arcade ports by redrawing the graphics to match the original arcade versions as closely as possible. He had just wrapped up the graphics for Toki and was looking for a new project. Bubble Bobble…

Parsing the c64 Bubble Bobble Wind Currents

Background A while ago , I managed to rip the level data and graphics from the c64 version of Bubble Bobble. All 100 levels from the c64 version of Bubble Bobble. I wrote a tool in typescript that reads the data from the actual game. It was fun to see all the levels I had played so many times, but I wanted to see if I could get more of the related data. Platform graphics and colors are stored as…

Dsxyliea

A friend who has dyslexia described to me how she experiences reading. She can read, but it takes a lot of concentration, and the letters seems to “jump around”. I remembered reading about typoglycemia . Wouldn’t it be possible to do it interactively on a website with Javascript? Sure it would. Feel like making a bookmarklet of this or something? Fork it on github. Dyslexia is characterized by…

Flexbox Full Page Web App Layout

I was working on a web app layout, and since we require a modern browser (ie10+), I had the chance to use Flexbox. Yay! The layout was designed by someone who apparently don’t like the way the web tend to work, with unlimited page height. Instead the app is supposed to cover the entire window without scrolling, and have a footer stuck to the bottom of the screen. There are also sidebars with…

A Clean Slate Web

This is going to be a bit of a rant. Sorry. The Rant TL;DR: Crufty layers sucks. Let’s talk about it. I have thought a lot about the horribly byzantine state of the modern web. Early bad decisions are still hurting us, as backwards compatibility have become so holy that it would be inconceivable to fix them. It doesn’t help that the web has grown organically, driven by culture, technology and…

Git Push Deploy

Disclaimer I am a Git/shell noob. Everything I write in this article is likely wrong, stupid and/or harmful. That being said… “git push deploy”? Updating files on a server through FTP sucks. You need to get the exactly right files moved, unless you just replace the entire project, clients are buggy and cumbersome, and you can’t automate it very much. And God forbid you have more than one person…

A Small iPhone

The Android fanboys have been toting their phablets for years now, while Apple have stubbornly stayed with their 5 cm wide screen at 320 points, claiming it is the perfect fit. I agreed, and honestly thought the status quo would continue. That Apple left the established form factor for two larger devices made a lot of people –like me– surprised and disappointed. I feel the size-race is little more…

Restructured Code And Glossy Reflections

The last week or so, I have been hacking away on my bidirectional path tracer Gloss . After porting some old C++ code to C and cleaning it up, I wanted to add support for materials. I had already tried to structure the code in an object oriented way and I used polymorphism to handle the diffrent renderable object types. But the object model was a clunky, quickly thrown together mess, so I decided…

Object Oriented C

Disclaimer I am a C noob. Everything I write in this article is likely wrong, stupid and/or harmful. That being said… Objects in C? Just… Why? OO is just one of the tools in the toolbox. It is nice to have sometimes. That it isn’t built into the language doesn’t mean it can’t be done. You will have to rely a lot more on the programmer to follow convention, rather than having the compiler do it for…

Gloss - My Bidirectional Path Tracer

I wrote the first version of Gloss on a vacation 3 years ago. It was written in C++, and I managed to render some nice Cornell boxes before code became messy I lost interest. This summer, I decided to rewrite it in C. I have been interested in pure C lately, and I really need to level up my experience. Porting over the bulk of the code from C++ was relatively easy. Getting it to compile took some…

Client-Side Templating Breaks CSS Transitions

If you are anything like me, you just love those smooth CSS transitions. Really, they add a lot of polish to your project, and in some cases can help with usability when they prevent jerky state changes. Client-side templating is all the rage these days, and with good reason. Keeping your front-end code in the browser, and letting the server handle the backend separates things neatly. At least…

At The Receiving End Of Bad UI

I am a developer in my own startup. We pride ourselves on our strong focus on UX and good UI design. We consider this such a central concept that we all (all two of us) take part in the UX design process. This goes deeper than the professional level – we like to talk about all aspects of UX, as well as design for the sake of it. We send each other links with examples of great UI as well as the…

ASCII Art Signatures In The Wild

Fork me on GitHub or: How I Downloaded The Internet And Learned How Much One Million Is As a web developer/designer (amongst other things), I take pride in my craftsmanship and like to sign my work with an ASCII art signature in an HTML comment. I know I’m not the only one, since I was inspired by seeing others do it. So, I had this idea: Wouldn’t it be awesome to scan through a chunk of the…

Burnout

The fall of 2011 I suddenly had a lot of work to do. Being self employed in a newly started company, that’s usually a great thing. This time it was a little bit too much. As the sole developer, I had to finish a new project under a strict deadline, alongside with another long overdue project with the customer growing impatient. Low productivity caused me to try to compensate by working longer…