Corrowland
This is my rouge like game. Player starts in an overworld. As they explore they can build structures, fight enemies and acquire items. There is no leveling, the skill is inherent to the player and their items. The game is pseudo real time. The world moves at 1 fps. The focus is on strategy rather than APS.
Development
In Progress
Nothing right now, I'm going to make Spacechess as a learning project in Go first. If, after completing that, I feel I'm ready to start on this I will set an in progress list. I may choose to create an intermediate project for more practice, but I hope that is not necessary.
Backlog
Basic Plans
The first version will simply be a field where you can move around and fight enemies. Enemies will spawn in a range of 3x3 screens, excluding the screen you are on. The screen is 40x30 tiles with each tile being 20x20.
Architecture
Most 'events' actually happen on the server, command line like. The gui acts to make the game convenient. I want to extend this out to include chains of actions. For instance, to make a hammer you would need to make a hammer-head and a short handle then combine them. And the tools required to make these would depend on the material. But rather than force all of that on the user, they can select "Make Hammer" and choose the material and the gui will take care of the specific commands.
Maps
Maps come in several varieties. The primary is over-world which is a torus. All maps will be limited in scope (even if very large). The first two I will implement are over-world and cave. Maps are saved as map chunks, pieces of the world that have been generated.
I have two conflicting goals here. The world should be able to grow to accommodate new players, but that growth should be centrally controlled so that players cannot simply walk for hours in one direction and cause the server to balloon out of control.
Notes
I want a focus on a massive tech tree. Building of tools to make tools to acquire items to make more tools. This is very minecraft inspired. Unlike minecraft, I want the over world separate from dungeons and fortresses. As you go deeper (or higher) into these structures the difficulty of the enemies will increase as will the rareity of the drops.
Inventory
You can only carry two items at a time (or one two-handed item). You can equip items. This includes a toolbelt and backpack. Items have a volume and weight. The size of the backpack determines how much volume it can hold and the material determines the weight. Weight will also slow you down (only relevant in battle). You can put down the pack, but that takes a turn. Equipping anything from the pack takes a turn, but anything from the toolbelt is instant. Early on, I want to be able to build wagons and push/pull them around so that you can move loads of equipment
Real-Time and Minions
Taken from Reamde, the game will happen in real time and you can never leave. So you can give your character tasks to do and even if you're logged out, they will continue to do them. This will be very Dwarf Fortress style. Also from Reamde, you can build hierarchical relationships between characters and any task given to a character can be carried out by minions. The game will have perma-death, sort of. A character can die and they will drop everything on them, all commands given to them will be forgotten and the relationships will lost. But because characters have no level, it's not a huge loss.
Valet Key
To help to protect against bad things happening when you can't get to your character, there is a valet key mode. You can issue a valet key (username and password) to a friend and limit what sort of actions they can take with your character.
MMO
Some features are necessary to make the game "mmo"ish.
Locks and Permissions
Locks on chests and doors are account based. So if a character locks a door and dies, you still have access to your stuff. You can also create groups and assign access to a whole group.
Simply using another persons things without their permission can have a fine levied against you - leaving way for debt collectors to hassle you. And if the debt gets high enough even kill you and loot your body.
Cement
A cement block can be placed and mined like a normal block, but over time it starts taking longer to destroy until it reaches a maximum. The idea is that you can build a fortress or castle (with a locked door) and it will be very difficult for other character to destroy.
Trades
Characters can trade. Possibly create contracts? Outstanding offers? Stores? This also requires currency.
There should be a fulfillment contract - I pay $100 up front for a sword meeting certain qualities. If they fail to deliver, I get $110 back. I would like to allow for more complicate contracts - I pay $100 up front and receive bread everyday for a year, and each day that I don't, I get $1 back. I could sell that contract (so could the baker). If someone goes bankrupt, then the money they owe is lost. But I could get insurance on a contract. Players don't have to disclose wealth for a contract, but they can disclose some or all of their wealth to make people feel more comfortable. This goes into the "soft limit on skills" issue - you can't spend every penny you have, you want to amass wealth to get better contracts.
Reputation and History
Players and some possessions will track reputation and history. Valued possessions (tools and weapons of a high enough quality) will track their history. Created, owned, sold, stolen and given. Players will track certain elements of their history (kills, high quality crafted items, trades) and this will be summarized into a reputation.
Factions
Initially I was against factions, but if I make it so that you cannot attack anyone in an allied faction, then some zones become safe by default.
Goals
I don't want leveling. The player levels, not the character, and they do it by learning about the game. The max level is determined by the complexity of the game.
Players should be able to have a real effect. This is the tough part - I want a structure where players can work together and build social hierarchies and the players who are most invested can have massive impact. Towns are not placed by the server, players build them.
Vehicles
I've wanted to be able to do vehicles in game (and I still want to) but looking at Minecraft, it would be possible to do some "Moving Castles" if moving a block didn't break the Redstone or the torches.
The simplest one that I think would be reasonable to implement and be a lot of fun would be boats. If people could build large sail boats, I think that would be fun.
Tools
In order to expand the tech-tree, there will be a lot of emphasis on tools. Like DF, there will be a quality aspect to everything. The quality of tools will be one of the factors in the quality of the materials they produce. Tools will also be used in a toolbench. Similar to the MC workbench, but with a few dedicated tool slots. So to make a piston, it may require a hammer and pliers. Tools can be swapped, but they can be left in the toolbench.
I do like the Terreria model where you don't have to lay things out specifically - if you have the supplies, tools and are at the right work bench, you're just shown a list of things that you can make (and what they cost). Falls in the "making the game more fun" category, while still leaving the complexity of requiring you to know what is need to produce something.
Magic
Energy
Magic is rare. It's not exactly powerful - a basic 'fireball' spell would be roughly as powerful as an arrow or bold, but would "cost" dozens of times more. The advantage of magic is the ability to infinitely compound it.
To charge a wand requires that you 'spend' a crystal - diamond, topaz, ruby. These crystals can hold energy (at different conversion and loss rates). The basic process would be to build a charging stand, place a crystal in it along with an energy source (coal, sunlight) and let the crystal absorb the energy. The crystal will charge until it's absorption rate is equal to it's loss rate. When the crystal is removed from the charging stand, it starts losing energy. When the crystal is imbued into the wand the crystal is destroyed and the wand holds the energy (at no loss).
Extensions on this may be the ability to transfer energy from several crystals into one, yielding a much higher conversion (but the curve would peak quickly then drop slowly, unlike normal charging that would peak and plane). Or you may focus light from several tiles using reflectors. There could be temporary modifiers to the change rate (change not loss, this allows a crystal to be charged then 'frozen' temporarily allowing players to reasonably work with a powerful crystal before it loses most of it's energy).
A highly complex operation may use many reflectors to focus light onto several crystals, which are then all frozen and transferred to a central location and all their energy is transferred to a single crystal. This would allow one crystal to be hundreds of times more powerful than a normally charged one.
Jeweled
Crafted items can be jeweled for additional bonuses (like D2). So a hammer might feel lighter, a decanter increase water purity, a sword increase damage against NPC enemies.
Combat
This will be one of the keys. This needs to be fun for an 'average' player. Lots of monsters with interesting techniques for fighting them - like the old SNES games, you have to learn the holes in their patterns and exploit them.
I'm not exactly a 'normal' player (I don't like most of the games other people do) so I'll need to build a test bed that people like. This seems divided into 'tactics' and 'strategy'. Not sure about the exact division, but strategy seems to be the plan and tactics the execution. One of the big challenges will be how to have player ranks with out levels so that advanced players aren't simply slaughtering less skilled players. The other half is that I don't want to ban bots but I want to keep the game fun for people. How do you design a system that is tactics heavy, strategically interesting and tuned so that people have the upper hand over computers? Look to Go.
As stated earlier, there is no leveling. So I need to make a combat system that is 'technique' heavy and equipment heavy.
Tools and Weapons
- Hand saw
- pick axe
- hand plane
- crucible (made from clay)
- brick molds
- trowel
- chisel
- pliers
- tongs (blacksmith)
- anvil
To make a table, you would have to chop down a tree (axe) process to planks (draw knife, saw) process to finished planks (hand plane) then construct a table (small hammer, saw) but that would also require nails or dowels. Branches can be converted to dowels with just a utility knife.
Components
Most tools are composed of a few components. These components can be made separately, and depending on their type, may be made at different stations. You may, for instance, make an iron hammer-head at an anvil and a wood handle at a workbench. Blades are made either full-tang, partial-tang or no-tang. Full tang takes more materials, but is stronger. You can also use a cloth handle on a full-tang blade, where a partial or no requires a rigid handle.
Hammers
- Claw
- Mallet
- Sledge
- Blacksmith
Knives
- draw knife (remove bark from wood)
- Puukko knife (utility knife)
- diamond knife (infinite durability)
- hunting knife (for skinning)
- Kukri (multi-purpose, weapon and utility)
Swords
Swords are made of a blade, handle, guard and pommel. The guard and pommel are optional. Handles are standard (same as all other one or two handed handles). Blades are as follows
- Estoc - W:1, H:0, S:3, D:1
- Khopesh - w:2, h:2, s:0, d:2
- Scimitar - w:2, h:2, s:1, d:2
- Falcata - w:2, h:3, s:1, d:3
- Gladius - w:1, h:2, s:2, d:2
- Claymore - w:3, h:3, s:1, d:2
- Claymore - w:2, h:3, s:1, d:2
- Dao - w:2, h:1, s:1, d:1
- Katana - w:2, h:3: s:3, d:3
To balance these, the material they are made with will have to come into consideration. So the material will effect the durability and the blades that can be made, but not the damage (though as wear increases, damage will decrease). So the Katana can only be made from wrought iron. Where a gladius can be made of any metal and a dao of any metal or stone. These will all need to be rebalanced at some point.
Key
- W - weight 1-3< 1=light, 3=heavy
- H - Hacking 0-3
- S - Stabbing 0-3, a stab of 3 against no armor is fatal, though not instantly
- D - Defense 1-3
Guard
- Basket
- Cross
- Dish?
Axe
- Epsilon
- Bardiche
- Francisca
- Labrys (doubles durability)
- Tomahawk
- Felling - for cutting down trees
- Broad - for cutting logs
- Hatchet - multi-purpose 1-hand wood axe
Pole Arms
Like swords, pole-arms can be used for hacking or stabbing. They are much slower than a sword but have a greater reach.
- Halberd
- Spear
Other Weapons
- Bow
- crossbow
- sling
- javelin
Future Notes
- Armor (and clothing)
- shields
- belts and bags
Metals
- copper
- bronze (copper & tin)
- brass (zinc & copper)
- zinc
- tin
- lead
- solder (tin & lead)
- pig iron
- steel
- wrought iron
- gold
- silver
Pure iron is not available because it's too hard to purify.
Gems & Crystals
- diamond
- quartz
- lapiz lazuli
- opal
- ruby
- sapphire
- topaz
- aquamarine
- emerald
- jade
- obsidian
Rocks
Just look at this page http://en.wikipedia.org/wiki/List_of_rock_types
Soil
http://en.wikipedia.org/wiki/File:SoilTexture_USDA.png
- silt
- sand
- clay
- loam
Flux
- none (carbon monoxide)
- limestone (produces quicklime)
Clock-work
I'm considering clockwork instead of redstone. The way that energy would be conveyed would be with rotating shafts. Each part in the system will have a force, resistance and dampening - dampening being a linear increase in resistance in proportion to rotational speed. I believe by setting the system up this way, it should be possible to solve the equations fairly easily for how fast each component will spin. A good basic test would be any gear-locked system.
Parts
- Gear-box
- Belts
- Wheels
- Differentials
Instead of Blocks
Something a bit more like lego - pieces fit into the world in a 3d grid, but they re-orient at angles, the pieces themselves can be curved, they can be planks or wall. By creating a wide variety of shapes, the user can create something that will look more like Fable or Skyrim but can be constructed like Minecraft (or Kerbal).
Economy
This is a crucial element. Fundamentally, players are trying to leverage their in-game, niche skills to acquire wealth.
=Bit-Coin
Actually, Satoshis, the game can use this as it's currency. Even a large drop would only be the equivalent of a few pennies, but it's like dollar poker, winning something of values makes the game more serious. Players would have access to their accounts, so they could "cash out" at any time, but they cannot transfer money into the game. Players can also use the in-game currency to pay their monthly fee, or pay in bit-coins (presumably at a discount). Bit coins acquired by the server this way (or purchased) will then be dropped as loot.
Ownership
I'm still working out some of the details in my head, but this needs to be settled for most other parts of the economy to work. High value items have owners. Commodities don't have owners, but the storage bins they're kept in do. Some land - in cities - can be owned. Damaging structures on land you don't own is vandalism. You can build a structure in the country.
Contracts
Players need to be able to create a wide variety of contracts. I'm not sure how to do this, but I believe that if we gather up enough use-cases some patterns will emerge. I'm pretty sure that writing a contract will be more like writing a program or perhaps most like sql.
Some contracts that should be available
- Daily delivery of goods
- Option to purchase
- Short sale (futures)
- Lease
My original thoughts on a lease was to allow users to define sub-volumes within spaces they own and explicitly create contracts. But, since we already have the idea of a locking door, a user could build an apartment and a lease would be adding your name to a door. This would also allow for things like shared subscription spaces. All we would have to do is allow contracts to automatically update door permissions.
10/8 Thoughts
Make the environment a classic (WOW, D3) mesh with some tools to modify it - shovels, axes. Parts snap together Lego/Kerbal style. Now, to build a building, you flatten the world mesh then lay "the first stone" and everything builds on that. Things like tools and vehicles can be in a "use" mode or a "modify" mode (perhaps not necessary).
To mix DF/MC you have a character and your control shifts between direct and command. Fundamentally everything is command, but some commands feel more like operation - so walking around could be first person and feel like Minecraft (or 3rd person). Then you could give a complex command like "build this" or "go over there" and the character would start doing that - you could switch to a second person perspective and move the camera to anywhere within a meter of your character. You can also tack commands on in this mode. So if you were building something, you could command that a part be placed and while the characters is going to get that part, you could be looking at the piece of work and figuring out the details of the part-after-that.
Most classic MMOs place hard limits on skills. But the real world places limits by having it take a LOT of time to master something. I think we can go this route. To truly master a skill will take complexity and many high-level, valuable tools. We can do some manipulation of the world to make sure only so many of these come into existence. Special items can be created by risking these tools (as opposed to wear). So to craft a master-blacksmith-hammer, you need a greater-blacksmith-hammer, and you will lose it and there's only a 50% chance that you will succeed (or perhaps a 10% chance of master-level, 40% chance of greater-level, 30% rare-level, and 20% common-level).
Everything should have purpose - and a lot of little calculations that add up. A rug may reduce fatigue when walking on it, it may help regulate temperature, provide happiness. Food and potions should overlap. A heavy meal will mean it is longer until you are hungry again, but it also means you are slower for a while. A master-baker can make bread that staves off hunger longer without the slowing effect, perhaps buffing against fatigue. But a loaf of bread of that quality requires wheat grown in well-cultivated soil. The land had to be fertile to begin with, then a high level plow needed to be used - top quality grain, harvest by a scythe (again - quality). It needs to be threshed and milled. The water needs to come from a pure source, held in a high quality and clean container (another chance to imbue the final product). Starter is mixed in, the bowl matters, the oven matters, the wood to fuel the oven - and the axe it was cut with, where it grew. All of these factors will effect a single loaf of bread. The idea being that the wealth to acquire all these things is too high, there detailed use too complicated for a single player. Instead a baker will buy high quality flour, bread and water and own top quality bowls, spoons, pans and an oven and will use these to make a high quality loaf of bread. But a loaf of bread of this quality would be valuable to players looking to get an edge in a battle, or when crafting a master-piece.
Somethings should also take a long time. Sleep, building some things - I'm not sure what else. But you queue these things up and log off. Some things your character will do by default like sleeping and eating, so if you don't log in for a few days your character will continue to eat and sleep as needed. You could do something like queue up your character to make a high level weapon that may take several hours to finish, log of and log back on when they are done.
While there are no "set classes", the game will still break down into rough specialties. Hunting, farming, gathering, blacksmith, baker, real-estate and so forth. I should focus on making inputs from each skill required by each skill. You can't live in isolation.
While it's not my cup-of-tea, I believe for the next MMO to succeed it needs a strong social component. With no extra software you should be able to talk to your friends, set up chats dynamically on the fly - even out of game (you're at work but you want to listen to your friends). This goes beyond a simple friends list - circles and such. You be able to arbitrarily divide up people and give them permissions (or deny them). You should be able to see what your friends have accomplished, set up raids (builds?) and such right in the game. That's how we build something that hook people - focus on social, creative and status.
10/9 - 1.0
I want to build a little mock of this in a Rouge Like. The world will be a series of dungeons, leaving each room small and 2D. Players move around and battle monsters. Turns are 1 second. As a mock-up of what I want to do in the long run; no leveling, equipment is king and everything can be built. I would also like to allow for some environment modifications at some point. After a little light testing, given that from any room there are 6 directions you can travel, putting a 27% probability on each of those passages means the cavern should expand infinitely.