Hot answers tagged

63

Though there are infinitely many ways to choose them, it is common for leveling curves to follow a power rule such as the following one: f(level) == A * exp(B * level) The major advantage of this formula can be easily explained: for a given rule, there is a fixed value N such that each level costs N percent more than the previous one. Your initial ...


34

In any game where you have character leveling, you need to decide on a power curve. This is a mathematical function which maps game progress to character strength. This curve can be linear, polynomial or even exponential. The flatter the curve, the less progress your player will feel, but the easier it is to balance because early-game content still stays ...


32

You should probably go for a data-driven design here. Make a generic Attack class which contains the parameters you want to work with - base damage, which stats affects the damage, a set of potential status effects... stuff like that: public enum AttackStat { Strength, Agility, Intellect // etc. } public class Attack { private int ...


32

I think I better understand what you are asking now. Noise is not random - it's random-looking but is completely based on a mathematical formula and is repeatable. All the information is encoded in the formula. This means that you can have a formula that potentially covers an infinite area, and just use the formula on the coordinates of the area you need. ...


31

Reduce the players sight-range. You can do that by adding an overlay mask on top of the rendered scene. This simulates the reduced sight-radius of the player-characters due to darkness. It forces the player to concentrate on a very small section of the screen giving a feeling of claustrophobia. But keep in mind that it disorients the player, so cut the ...


30

The way one would deal with this would depend on the game and what would make sense for that world. For example a sci-fi game, they could "beam up" to some space storage facility for cryo-sleep. A fantasy game could have them cast a spell on them self to fade away. Or they could be sucked into a portal. Make them turn really small and a bird or robot comes ...


28

This tutorial I wrote years ago might give you something like what you want: If you do the island modification in the last step, it tends towards a single landmass that doesn't reach the edge of the map.


26

You want to start with an asymptotic function. That is, one that starts at a number a and approaches another number b, but never actually reaches it. It's probably going to be easiest if a = 0 and b = 1. You'll take this equation, input the number of stat points (Luck points) the character has, and get the actual stat value (Crit Chance) as the output. A ...


25

Easy answer The cost of running an MMO? In United States Dollars? ITS OVER 9000 (dollars)!!!!! Useful Answer Scope of question So, dividing your question up into chunks, you seem to want to know about the costs of: Development (making the game) Marketing (making people aware of the game) Infrastructure (base cost of server hardware and supporting ...


23

Steering Behaviours in combination with a navigation data structure. There are a number of ways to do this, but that's the basic concept. It might be easier to use a navigation mesh so that you can apply pathfinding within each convex section. If you're adamant about keeping a graph, you can use a Seek behaviour to each node in the path, rather than ...


22

Playtest. No, really, just playtest your balance until you get it right, or rather mostly right (there's no such thing as perfect balance). Write automated tests and run them hundreds of times. Even very simple automated tests, like "level 2 player always hits with shortsword, goblin always hits with club, player should win" can really help, if you run ...


22

Look at one of the classic-style Zelda games. You can create the illusion of hills by using cliff faces.


21

Well, the first bullet point is easy. You simply store and manipulate the character's position in world or pixel coordinates instead of tile-based coordinates. If you were having an issue with this, it might be due to a a confusing choice of representation for your world and tile space, so perhaps you should post more details about it / ask a separate, ...


20

Use per-tile lighting to do sight-range reduction. Shadowlands (1992) - 3 light levels: Diablo (1997) - 8 light levels: You can do much more with this dynamic, such as easily having monsters only spawn on dark tiles, have light streaming out of doorways and windows, etc. To induce claustrophobia beyond just lighting, have a look at the way the Maggot ...


19

For RPGs, you might look at: Elder Scrolls: Skyrim Elder Scrolls: Oblivion Construction Wiki Elder Scrolls: Oblivion, Modding Faq Mount and Blade Mod Repository M&B is more recent than Oblivion, but both are still played (and worth playing). For MMOs, Edward83's recommendation of Lua is good, however - for World of Warcraft, you would only be using ...


19

Which Stats? First, with regards to what stats to implement, you need to work backwards from mechanics to derived stats to basic stats. Determine what effects and mechanics you want during play, and determine how you want those mechanics to work with one another. The important notion when looking at relationships between mechanics is identifying the ...


18

One problem with making enemies strength relative to players is that it can make the player feel like they aren't making progress. "What's the point of getting stronger if all the monsters also get stronger at the same rate?" I tend to prefer that enemies have static strength instead of being relative to the player for the following reasons: Players will ...


18

You could also generalize the queue into a directed acyclic graph (DAG). You can read about these on Wikipedia. Basically, each node can have one or more parent nodes that it "depends on". Cycles aren't allowed, i.e. if A depends on B, B can't depend on A (directly or via any indirect chain of other nodes). Each node is in an "active" or "inactive" ...


17

Dialogue could be provided in any form/structure you wish it depends on how you parse the information that makes the difference. I will provide you with a basic XML syntax to get you started without understanding your games structure or language I afraid i cant provide an implementation. <?xml version="1.0" encoding="UTF-8"?> <npcs> ...


16

You cannot brand your game as D&D, period. You can brand your game as being D20 System compatible provided you follow a number of stipulations, not the least of which is that you can't reproduce or include rules for character advancement (XP, gaining levels, etc.) which basically means a player of your game would need a copy of the D&D Player's ...


16

It's common for the client to implement some sort of feedback to let the player know immediately that their chosen action has been registered, eg.: interface sound (eg. button click) in-world sound (eg. a character saying, "At once, commander") animation (eg. begin swinging a sword) These can take place while the information is travelling to the server ...


16

One quick way to get key-value pairs in Unity's inspector is to define a serializable entry class, and then use an array or List<> of them. eg... public class SpellAnimationMap : ScriptableObject { [System.Serializable] public class SpellAnimationEntry { public Spell spell; public AnimationClip animation; } public ...


15

You're on the right track. The gist of the client-server networking model is that a server is that it's a central point of knowledge that clients connect to. A game server typically contains an in-memory world representation, a list of connected players, a game loop (with e.g. player control handler, a physics engine & AI). You'll also need a ...


14

To create a large island you do not need to generate it all at once. I would build regions asynchronously as you visit them. Instead of using a mask to create the island as the article describes, one thing you can do is play with the perlin noise octave wavelengths to achieve the look you are going for. Usually, the first octave describes the general shape ...


14

For a roguelike I was working on, I implemented a pretty flexible data-driven system for generating drops. I've documented it here. It's essentially a little DSL for selecting a number of randomly chosen items. A simple drop looks like: 1-10 copper coin It just says to drop a random number of copper coins between 1 and 10. Things get more flexible when ...


14

Don't forget to round the numbers after you figured out your curve. It doesn't make much sense to tell the player he needs 119,378 experience points to reach the next level — because the person would always understand it as "roughly 120,000". Thus you will be better off doing the rounding yourself, and presenting "clean" results to your players. For ...


13

Overall I would not say anything you listed should cause you to scrap the system and start over. This is something every programmer wants to do about 50-75% of the way through any project they are working on, but it leads to a never ending cycle of development and never finishing anything. So, to that end, some feed back on each section. This can be a ...


13

You wouldn't bother. Immersion (wiki) : The state of consciousness where an immersant's awareness of physical self is diminished or lost by being surrounded in an engrossing total environment. This term is often used in the wrong way ; people think that good graphics makes a game more immersive, or that a real physics simulation will do the ...


13

The best way to come to a conclusion in this regard is - like with most things in game development - to first think about how you want the game to play, and then make up the math which will result in the game playing like that. How long do you want the player to play on each level? In a story-focused single-player RPG you likely want to keep levelups as a ...



Only top voted, non community-wiki answers of a minimum length are eligible