The ASCII Project
|The ASCII Project|
|Theme||Fantasy, Modern, and Futuristic|
|Influences||Dwarf Fortress Minecraft Noble Ape|
|Updated||2012 Nov 23 (v.0.0.1e)|
|P. Language||C++, C, Custom Built|
|Platforms||Binaries available for Linux and Mac OS, Windows In Development|
|Game Length||Unlimited - Until Player Death|
|Official site of The ASCII Project|
The ASCII Project is an attempt to bring sandbox multiplayer gaming into a roguelike world.
The overall goal is to accomplish this through collaborative building, as well as city/state management involving not only real-world players but NPC's driven by an advanced AI engine. Taking in many design goals and features of The Noble Ape Project, the NPC's will not only be able to be scripted, but will allow for the self-modification of underlying behaviors so that in a sense they continue to "evolve" on their own for as long as they survive in the game world. See Genetic Programming
When restricting world resources and relying on a Permadeath based system, players will have to work together not only amongst each other, but also with the NPC's that inhabit the game world. Thus is the driving philosophical motivation behind the development of The ASCII Project, that players should not "own" the game world, but should "share" it with the other entities that inhabit it.
The current latest stable release is 0.0.1e. We ask that if you intend on testing this release, that you please visit our IRC for guidance on the rather unique control scheme.
- Both a multi-platform client and server
- Asynchronous network protocol
- Linefeed mode for the Server
- Unicode graphics - The ASCII Project is a graphic-less game, aside from the text-based interface. It's graphics are represented by Unicode characters however, thus allowing for around 65k unique characters. Potentially, when taking into account the HSV coloring scheme used by the libtcod engine, the maximum unique characters is well over a trillion.
- Randomized Map Creation
- An open API (ongoing) - The entire project is 100% GPLv3 licensed, allowing for custom clients to be built using (almost) any language.
- Fully documented code - Making it easier for new developers to add features they want.
- PostgreSQL Database integration - Allowing for account creation and custom character creation, as well as a secure token passing system for API interaction.
- Proper Client Input - A realtime method of communicating with the server console via a "command-line"-like interface.
- Binary Savefiles – Player entity data is serialized (via Boost::Serialization) and stored as a binary (.dat) file within data/ents under the current run time directory of the server.
- Unique Characters – Each player is now represented on the map by their own character instead of sharing one character tile across all connections (which was previously used that way for testing purposes).
- Server Console Interface – The client now has the ability to send text commands directly to the server, which are preceded by the “/” character.
- Mouse Support – The Client now has an improved streamlined interface, so as to allow the mouse to be used to navigate through menus.
Planned for 8/26/2012 - 8/30/2012
- Chat - Allowing for players to communicate with each other in the game world.
- World Interaction - Allowing players to destroy and place tiles on the map
- Starting the "3d" (multi z-level) environment.
- Bug Fixes
- Updates to Server - A more robust command/API list.
- An extremely advanced real-time physics engine (ie, from Windmills to Nuclear Power)
- A custom built scripting language for creating NPC types with specific Behaviors and Abilities (functions).
- A real-time game world, wherein players are restricted only by their stamina/health/etc rather than an arbitrary turn-by-turn movement clock.
- Collaborative building, from a simple house to villages and possibly cities (assuming one survives that long).
- In-game politics, both with warring player nations and NPC nations, with diplomatic consequences.
- Real-time trading mechanics, i.e. a village will have to run or a hire a caravan to move their goods to neighboring markets. Thus, a caravan will have to be protected or else risk losing their goods to bandits or players that "pirate".
- A wide variety of "vehicles": small ships to galleons and beyond, wagons to trucks, horses/etc.
- Real-time persistent game engine. The game will continue to operate, and the NPC's will continue to go about their daily lives even when no players are logged in. If a goblin comes and raids a players town while they're logged off, when they come back in their farmers might be dead and because of Permadeath they won't respawn. Their families will react accordingly, and perhaps the lowered food production will affect everyone in the village. The player could, however, track down the goblins and retrieve the items that were stolen - because of full persistence.
- Large World - With limited world resources. This will likely be user-configurable on a per-server basis, but the total resources in a given world will be limited by the size of that respective world.
- Full Crafting System - Everything that an NPC can sell, a player can also choose to build on their own - provided they have the appropriate skills. However there may still be some rare yet-discovered item types that only exist once in the world. i.e. your super-powerful rare sword you discovered at the bottom of a dungeon is literally one-of-a-kind.
- Please see the project wiki for more information.