Software Project Ideas

If I had the time, the energy, the money and a good staff, here are some projects I would wish I could produce, instead of the boring commercially viable projects I would have to produce, if I had those resources. Unless I was filthy rich.

Because I’m a Mac OS X developer by inclination, my preference is to develop using the OS X frameworks: specifically, the Cocoa frameworks, written in Objective-C. Unless otherwise specified, take it for granted that I want to develope all of the following software in that context.

  • Modesty MUD (Multi-User Dungeon)

    A text-only adventure game and social scene.

    One of many collaborative creative and exploratory environments, all thrown under the “Modesty” rubrick. (Modesty being ironic vis a vis Hubris.) This one would be solely text-based, however, so would not bother with any kindo of cartesian co-ordinate system, unlike other Modesty environments (which might also have text interfaces in addition to graphical ones).

  • Ambition: Castle Builder

    A virtual blocks toy.

    I’d actually like to make a number of different versions of castle builders. Why castles? I like them, and they are well suited for building out fo blocks. Edition I would be use varieties of square blocks and a simple interface. It wouldn’t require building castles. Edition II would add more specialized block shapes, more stringent building rules and simulation (gravity, materials), and perhaps some characters to live in the castle and comment on what they thought about it. Edition III would be the prestige version, with much more sophisticated designs, life-like terrain and weather, support for buliding and customizing weapons, and an add-on to support simulated siege battles between two players over the Internet.

  • Eloquence

    A software framework for decoupled inter-module communication.

    Eloquence is an idea to take the protocols-based communication used on the Internet between clients and servers and put it inside applications proper. It involves using a simple, virtual network made of directories, couriers, responsibility roles, and message-based communication protocols to enforce separation of modules at a more granular level than that between objects in OOP designs. It would work between modules inside a single application, and between applications on the same or different hosts (via the Internet).

    The purpose is to increase software reliability by reducing interactions between discrete functional software units to implementation-neutral protocols which are specializations of the generic Eloquence protocol. Formulated properly, it could be possible to enable/disable Eloquence reliance for intra-application communication when switching between output of development and deployment versions.

    Planned for use in the development of the Modesty Simulation Architecture.

  • Hailstone

    A tank combat game.

    Hailstone is a wish to bring back classic arcade tank games, in a new and contemporary guise. The player pilots a futuristic combat tank through varied environments populated with diverse robotic enemies run by a sinister military Artificial Intelligence, utilizing force, stealth and tactics. The urban environment is destructible, and its deformability is essential to a winning strategy. The player can request a certain amount of support in the form of air drops, which have to be located. There is a multi-player version, in which either both players can play tank pilots, or one can take the role of a AI enemy and deploy an army of combat robots (none of which look humanoid). Play style elements similar to those of the Descent games.

  • Maze of Daedalus

    A multi-player action/adventure game.

    The world is a maze, full of traps and treasures. And it changes. A sort of meta-game, where players decide for themselves what it means to progress. The world is self-consciously artificial; the immersion is only in the size and detail of the mazes. Mazes can have an unlimited variety in styles and appearances. They are made of corridors and rooms. Corridors can change their shapes. Rooms can change their locations. Rooms hold terrors and delights of all sorts. Some things are portable.

    What there are in abundance are triggers and traps, and many of them. Traps are decidedly non-fatal: it’s a virtual world, so there is no death, though perhaps there might be some kind of virtual death. Mostly, though, traps are simply small punishments: lose time, lose freedom, lose items. There are also some wandering simulacra—artificial creatures which can help or hinder the players, or merely add environmental colour to the maze.

    In action-oriented mazes, players can define games for themselves to play, and these games are supported by the meta-game itself. Games have contestants and goals. Goals are made up of triggers, sequences, time limits, and points. Triggers must be discovered by a game designer before they can be used in a game.

    To make the meta-game truly endless, various mazes can be connected to one another via way-points. These are intermediary places full of portals, in which players may meet up and socialize before travelling to mazes. Way-points may connect to one another. Whereas mazes would have strict player limits, way-points could support many more players who may be simply relaxing. Way-points may offer simple entertainments, mostly in-game trade and gambling. All trade and gambling is performed using intermediaries. There is no special currency, only the items discovered in the mazes. Not all items can be removed from the mazes, however. Gambling involves betting on other players’ performance in geames.

  • Modesty Simulation Architecture

    Forthcoming. (Yeah, right.)