Planned Features - Zugamifk/Garden GitHub Wiki

Table of Contents

General

  • A Tutorial will be required. This needs to be quick and intuitive, more to get the player rolling as far as accumulating knowledge of the game alone goes. This could end up being an interesting experiment in education, so I look forward to it. The key is having simple controls and concepts. The difficult part is managing this without breaking depth. My current idea is to use WASD + mouse controls, and simple mouse-based interaction with the world. The plan is to litter the world with objects, so the challenge is making the task of being precise easy and fast. This is usually based on context. For example, if your hands are full, you will not be able to directly interact with most objects, except to use the items you're holding on them. If you're in the middle of a fight with a monster, it's important you know you're aiming your weapon at them, and not at the tree ten feet away from them.
For dealing with different interaction contexts, I've come up with an idea. Essentially, your character will be aware of their surroundings. The context of your interactions will be based on how they feel. If your character feels like they are in danger, you will enter the combat context. If your character has stealing tenancies and is near something valuable, you might enter some kind of thief context. Each context is just a guide for the engine to try and guess at what your are trying to do, and give you your likely target in a given mouse position.

This is not a limiting factor. You can force your character into different contexts at any time. You can also build your own contexts to set yourself to when you are doing different types of jobs. For example, if you decide to create your own combat style, you might create a context with several different kinds of attacks mapped to custom key combinations. This context could be set to replace your usual combat context, or simply set to a key for easy switching.

However, being in a context is is usually only a guide. At any time, you can do any action you want with context menus. The suggested actions will appear near the top, with all other kinds appearing in submenus, or in one menu if there are very few.

The goal is to create enough contexts related to your character that it will be more helpful than irritating. If your character is hungry, they would enter a context which prefers actions like "cook", "eat", or even "kill" if you're hungry enough. A relaxed character would enter a thinking context where they might discover new knowledge and find ways to use items with other items in unique ways. In this sense, maintaining a happy character will be far more productive.

By creating these contexts, the player is also eventually exposed to a vast array to different ways to interact with the world, and should soon get a sense of how to do most things.

Core

Interface

  • I want to keep the HUD and menus as minimal as possible, ideally with only the game world and player visible most of the time. In order to this, I'll have to find a way to convey all the important information a HUD usually gives, but without it.
Lots of current generation games come close to this, and some do it very well. Dead Space uses a hologram project from your suit for inventory management, and metres on the suit to track health and other information.

For an RPG, many things are usually on screen. Health, experience, a portait of the character, mana, an item belt of some kind, and often lots of other animation. I can deal with the main ones fairly easily. There won't be any experience counted, so I don't need that. A portrait isn't necessary, but might be implemented later. I'm a terrible artist. I also won't use mana, but there's something akin to it which I'll get to later. Belt, actions, and health are the things I'm worried about. For actions, they will be mapped based on context. Knowing what actions are mapped in that context is something that can be reached via a help screen of some sort.

For health, inventory, and a variety of other things, I have a bit of a crazy idea. The idea is, your character's thoughts will heavily influence how you play the game. Having overwhelming thoughts of some kinds might force you into a certain context to fulfill those thoughts' needs. These should be rare except for the cases of survival needs such as escaping a losing fight or starvation. Trying to find ways to display these thought in a way that is not intrusive is the difficult part, as it's possible your character will have quite frequent thoughts.

My first idea is to have a sort of aura surrounding your character. This aura can be viewed by pressing a certain button, and in certain other contexts. The aura would be radiating colours, with different colours representing different kinds of ideas. Strong ideas would radiate more energy than small ideas, and some idea might lead to others which could create a chain of ideas. The location, color and size of the ideas should give a seasoned player quick information on how their character feels and let them know what they should be trying to do. A new player should be able to get information quickly by putting their mouse over any part of the aura to find out what the idea is.

With auras and contexts, I think learning how the game works should be very quick and easy, and hopefully will never require a wiki.

Drawing

Animations

  • Basically, each character and some animals or objects will have custom sprite sheets built during loading or during play. As an example for a player sprite sheet, there would be a separate one for the legs, the arms, the torso and the head. Each of these sheets has a space for each different required animation for a player. Any equippable item will also have an animation sheet, although it will generally be more limited. When a sprite sheet is constructed, the game takes each of the parts of the player it its animation sheet and stacks them appropriately for each animation, into one large file. It then stacks any equipped items, such as clothing, weapons, bags, hates, whatever, on top of that image. In memory we end up with a file that is custom built for the player. Depending on the speed with which LOVE creates new images this way, I might not be able to create a new file in memory every time the player updates their appearance somehow.
  • The require animations for a player, currently needed: idle, walk, run, sit, lie down, open, swing, thrust, block, gestures

Lore

Magic

  • Magic can be properly separated into three forms: Divine, Arcane and Inherent. Each of the three is learned and used in entirely different ways, and the general attitude towards each is also very different.
Divine magic practitioners are the followers, prophets and avatars of gods. This kind of magic is really an act of a god, performed as reward or recognition by a deity. Those who are able to perform these acts are extremely rare, but highly praised and gain many followers, often entering legend. The vast majourity of its practices are done indirectly by everyday folk via prayers, curses and blessings. While the effect of these acts aren't immediately noticeable, the blessings of the truly pious will often have a profound effect on the blessed's day.

Arcane magic is derived from the presence of other planes in a given location. Some of these planes merely touch on parts of the world, while others coexist with it. For the most part, this kind of magic is entirely unheard of. It is the stuff of myths and legends, and declaring yourself a believer in it will get you laughed at. Nevertheless, common magic practices, folk cures that don't involve herbal medicine, witchcraft and all other kinds of superstition are based on arcane magic, though most don't know it. The main idea behind Arcane magic is that by aligning objects charged with a certain plane's energy in a way that matches the state of objects in its coexisting plane will charge that area with that plane's energy. Very distant planes are far more difficult to connect to, or even find items charged by it, but they also have far more untapped energy. Obviously, common everyday magic taps onto the same planes of energy, and so they are not nearly as strong. Objects charged with a kind of energy react to objects charged with different kinds of energy, and finding out what kind of energy an object is charged with can be found quite easily. Finding the right items to cast spells with is simply a process of trial and error and personal research, and will not be something scripted in.

The method by which objects get charged is simple. Wizardry is not the only way for planes to collide, the gods have done it for eons. Because of this, it is frequent for sites where gods fought to be absolutely saturated with arcane energy, as well as objects in those areas. Also, energy transfers through generations, so plants, animals and humans will carry some of the magic of their ancestors. Knowledge can be gained of the names of planes, what their behaviour is, how they react to other planes and other such things, to help with research on controlling it.

Magic items can be created by combining objects charged with energy from different plains and constructing them in such positions that they react with each other in a desired way. Learning how this works would, again, require personal research or reading of some kind. As objects get used, they lose charge and would need to be recharged.

The last magic, Inherent magic, is the kind that exists in the material planes. Its stuff is physical energy, but manipulating it requires a certain unique kind of divine and arcane magic. As far as world history goes, it is enough to say that humans are descended from divine creations, and so they have inherited a very small amount of it. Through cultural belief changes and religious following, exercising inherent magic has fallen largely out of common knowledge. This kind of magic is usually the kind that comes from "willing" things to be a certain way, such as the placebo effect. It is something monks pursue unlocking within themselves.

Practised often enough, it is possible to users to influence their surrounding energy enough as to focus it in different ways. Manipulating external energy requires a lot of mental discipline and utter concentration, which makes it very difficult. It can not be used to fabricate things, but it can be used to manipulate objects mentally via telekinesis, if honed well enough.

Magic overall is not believed in by most city people, and feared or respected by those who live in the remote places magic users are usually driven to by societal pressures. It is not easy to learn, but is extremely powerful. Balancing it isn't something that needs to be done, because balancing magic would pretty much make it less magical.

Gameplay

  • Game controls will be kept to a minimum for easy learning. Movement will be done using WASD instead of the typical clicking, to free up world exploration with the mouse. It should make exploring feel much more immersive.
In a typical exploration context without special needs attached, mousing over objects will given a minimal tooltip, probably just the name of the object and any special noticeable features. As you approach the object, the tooltip will give more and more information. Clicking an object in normal exploration mode will give a default action on Examine, which will cause you to move up and gain information from the objects until it has been identified or the maximum possible information about the object has been reached. Right clicking will send a "use" command to the object, which will return either its default action or something special based on context.

Other reserved keys will be the numbers, which will be reserved for forcing contexts. These can be changed, swapped, or removed at any time in a menu. The space key will a shortcut to the "escape" context in which your character dodges attacks when blocking and jumps or climbs over obstacles, amongst other things. Shift will be reserved for aggressive or careless actions. With weapons in hand, it will default to a combat stance, otherwise it will simply make you be rude to people and try to break things in your way. Control will be a shortcut to a "discrete" context, where you will attempt to go entirely unnoticed. You will tread lightly, move slowly through bushes and quiet places and generally have thoughts about who sees you and who doesn't. Alt will be the last hard-coded shortcut, it being a detailed examine context key. In ALT mode, mousing over a map tile will display all of the items in that tile and a brief summary on them. This is a useful way to quickly get an idea of what is in your surroundings. ALT mode will also highlight objects on the map, based on your character's wants or needs.

Doing actions in a given context depends on the context. Generally speaking, they are all the same, with a few unique changes depending on the specific purpose of the context. In combat contexts, most of the actions are mapped to combinations of movement and mouse inputs, with the rest being the usual ones. In need based contexts, the only real changes are in what ALT-mode displays and how you act in Shift or CTRL mode. Item construction contexts are something I'll describe in a different section, but for the most part, the majourity of the keyboard can be mapped to force custom contexts if desired.

  • Further going for the HUD-less style of game, visual cues will be necessary. There will be two kinds of visual cues: the aforementioned auras, and general screen effects.
Auras will vary in colour, darkness and size depending on your current mental focus. The more disoriented or out of focus you are, the smaller your aura will be. Relaxed and fully awake, the aura will be full size, and a lot more information will be displayed. The colours in the aura will reflect the colour system used for chakras in hinduism. I won't list them here, but they all represent different kinds of personal needs. The darker a colour is, less "healthy" it is. A well maintained character should have a bright aura, while a character who neglects themselves will have a darker aura. The size of a given colour is based on your character's thoughts. Each thought will have an assigned colour based on how it applies to your character. The more you think about something, the more that colour appears in your aura, and the large the presence of that colour gets. A large bright colour generally means you are excited about an idea, perhaps by having discovered an idea or simply by finding something that your character needs or wants. A small bright area usually reflects a thought about a particular thing, such as a piece of art or a newly created item. On the other hand, A large dark area usually reflects something your character is very unhappy about, hates, or is terrified by. This can be things that offend your god, grave wounds on yourself or a loved one, or even spiders. If these thoughts dominate, a character can go berserk, panic or even faint, so it's often a good idea to take care of these things. A small dark area can grow into a large one if not taken care of, and usually only notes a minor irritation or need, such as hunger or a fly bite.

When a part of your aura grows large enough, it will begin to tint your screen a bit. The overall shade of your aura will also be reflected in your screen, lightening or darkening it based on your mood. These changes will be minor, but noticeable. The darkness will not only darken your screen, but desaturate it slightly too.

Now, the key part about screen effects is making them seem like they reflect the sight of your character. Aside from aura colours, this is what screen effects will do. Some things, like a sudden change in aura caused by a surprise event, or an otherwise sudden change in surroundings that creates a new flood of ideas, will cause the screen to blur. Being struck by blows in combat will also cause large changes in your aura's colour, in this case, darkening it significantly. As a character feels they are nearing death, their aura will darken. A perfectly black aura is one only a dead person can have, but usually you'll be unconscious or otherwise disabled long before you die.

The one reason I like on screen effects is that I can really play with the character's view of the world. With dreams, explained elsewhere, there will be far more strange effects playing, although I don't know exactly what. Most of these effects will block out chunks of the screen, fill them with patchy colouring or otherwise make things look totally wonky.

Misc

⚠️ **GitHub.com Fallback** ⚠️