Programming projects come in all shapes and sizes, each with their own set of challenges and requirements... Though sometimes, projects come along with oddly specific requirements, unusual ways of operating, or even just unusual areas of functionality...
My first example comes in the form of SBTCVM. SBTCVM is a project to develop balanced ternary Virtual machines and related tools and utilities.
So how unusual is it? well. Its not like you can just buy a balanced ternary microprocessor... And that's partly why i wanted to start working on such a project as SBTCVM, so i could experiment with balanced ternary computer logic without using a soldering iron, the other reason sums up to me having read a Wikipedia article or two, and writing a balanced ternary calculator in python, and a balanced ternary integer mathematics library to power it with.
Many of SBTCVM's oddities are not unique to it, but also can be found in balanced ternary computers in general. For example: Balanced base numbers like Balanced Ternary have an equal number of negative digits as they do positive, centered around zero.
What this means is it turns quite a few digital computer concepts on their heads. The address buses all start at negative. Zero is in the center. (technical term: MNI or Max negative integer) The same is true for everything from RGB colorspaces, to SBTCVM's own text encoding...
Another example of mine would be Desutezeoid: a point and click game engine i wrote, complete with scripted events, driven entirely by small string "keyids" that either exist in a list or don't, and XML tags... It works to create a crude system of states of values, and special XML tags called "forks" that react to them.
Naturally the specific "operations" that can be preformed, are related to point and click games, such as showing or hiding a particular screen object, or reacting to a mouse click on a specific screen object.
I can't stress this enough: One of the most important parts of programming is knowing what you are working with, and having an idea of what you are going to make your project do, and ways it can do that.
Its very important to ensure the core ideas of a project first. For example: SBTCVM's predecessor was far more limited and strewn with test code, but it did do one important thing: Show that it was possible to virtualize a balanced ternary computer in python at the instruction level.
New ideas are a natural part of programming, and computing in general. The most important thing about starting a programming project is that you enjoy working on it, and have fun.
Programming projects can be quite Unusual at times, and do even more unusual things... What are Some Odd, obscure, unusual, and unique programming projects you've worked on/used?