45

Large, open areas do not work very well in top-down 2d. Putting the player in such an area just disorients them. It is much better to use more complex areas which limit the way the player can navigate. So you need some other way to communicate the scale of the world to the player. A common way to do that is by providing them with a world map they can access ...


39

In addition to the excellent existing answers, there are a couple of other ways this type mechanic can boost retention. One is by helping to keep a cohort of players on par with one another. When attempts/rewards are limited only by your play time, then players with a lot of time to invest in the game can very quickly race ahead, and players with more ...


19

It improves player retention. When you expect the player to take a lot of attempts to overcome a challenge, and you only give them a limited number of attempts per real-world timespan, then players will take a long real-world timespan to complete this bit of content. When you have a game with a monthly subscription model, or which you monetize by regular ...


18

I believe the answer lies in 2.5D If your game is a 2D sidescroller, then you may rely on parallax scrolling, shadows and lighting to convey size and scale better. If your game is a 2D topdown or isometic, your scale will benefit from assets that get drawn above the player (such as trees that extend above their own tile). Once again, shadows and lighting ...


18

Consider using a framework, like MonoGame. It is a kind of a middle ground between "nothing" and a full-blown engine like Unity or Unreal. It saves you from the really finicky implementation details (3d games are especially math heavy, both for graphics and physics), without dictating too much how things should be done. Adopt a modular system - this will ...


15

You, of course, can use a third party solution. You can develop C# games with (in decreasing complexity) Unity, Godot, Monogame, OpenTK, among other solutions. Making a game without a third party game engine is perfectly viable. You can work with a window toolkit library, a graphics library, and so on. You will have a lot of flexibility... Yet, it is a lot ...


12

Another aspect that hasn't been mentioned yet is basically a variation on "security through obscurity". In this case, it's difficulty through obscurity. The content is hard because you can't practice it. If you could grind it as much as you wanted, you'd have more chances to learn the mechanics and figure out how everything works. Because it's limited, ...


10

Conveying scale accurately can be tricky in 2D games. There are other ways of conveying that "go this way to reach this objective" feeling, but you have to think about it within the medium itself, instead of trying to translate 3D methods into a 2D world. A 2D view gives you a better awareness of all nearby objects than a 3D one - you don't need a mountain ...


10

Basically, unlike in most parts of many games where the goal is at least partly to teach you how to understand the game mechanics, the primary goal of limited tries is to cause emotional reactions. Roguelikes actually often have some kind of daily or weekly leaderboard challenge, where there's a special dungeon and you only get one attempt to beat it for ...


6

Another reason not yet listed is to increase communication. With limited attempts, what you do outside of the attempts gains value. Sharing info online, talking with guildmates, watching runs on youtube--none of those are single-person tasks. (Even youtube requires a youtuber, unless you're only watching your own replays). In other words, time-gating it, in ...


6

It seems like you initially had the veto work all the time, but then figured out that this makes the president too powerful, as she can always override the senate. You tried to nerf it to once per game, but as you found out, that's too much of a nerf, because the other players can compel the President to waste it. You might have to do another redesign of ...


5

In addition to all the great answers, here's another part in the mix that can expand the perceived scale -- content clues: A horse cart is racing by, apparently towards some grand destination A signpost points to "Castle 5 miles this way" A "Traveler's Inn" by the road has people resting from the "long road from and to Landmark" A flock of birds travel by, ...


5

A system of base spell types with a robust selection of modifiers may suit your needs. For example, a fire ball spell might normally lob a ball of fire in an arc in front of you, that explodes upon hitting a surface or enemy. At this point, modifiers can be linked to the spell. Depending on the style of the game, these can be explicit modifiers that state ...


3

What you want is something that is unpredictable yet consistent but lets the player make an educated guess, with power progression. Unpredictable The more "input" your spell system can take, the more chaotic the results can appear. Have your spells take both a mix of components as well as an incantation (arrange runes, take some text input, draw a ...


2

Now, usually in games that have really hard content you're supposed to defeat, there is no limit in how many attempts you can do, or the limit is sufficiently high that it makes no real difference. Usually, games have no interest in how long you play the game. They're interested in you buying the game, and that's where the developer and publisher's interest ...


2

Option 1: turn back now and find and tweak a ready made solution, there are tons of GUI libraries for every language and framework. Option 2: roll your own for the sake of rolling your own. Continue reading! If you intend to have anything more complex than a health/score display, you will want to do it in multiple "layers". Start with the bottom layer - ...


2

Fast travel is often used to convey scale, in both 2D and 3D games. As this answer mentions, time is an effective substitute for scale, but with a graphical game you do not want artificial delays, so make the delays the real effect of having a large world. Most games will have a smaller "intro" area, and if this area is large enough it can take some time to ...


2

One way of conveying distance in any game is to make it take a long time to get from one place to the other. One of the largest game worlds in my memory is a MUD I used to play that artificially separated provinces by sea voyages that took anywhere from a few minutes to a few hours. Within each province, it was fairly quick to walk from one place to another,...


1

When there is no downside to not sprinting, then there is no reason for the player to ever take the finger off of the sprint button. You just made the regular speed mode obsolete. Adding a stamina bar just to limit the sprint duration just adds a limitation for limitation sake. It doesn't make the game any more interesting to play, just more annoying. The ...


1

So just store the maximum seen z value, and then calculate the score with a division, a floor and then a multiplication: #include <algorithm> #include <cmath> maxZ = std::max(currentZ, maxZ) const int score = static_cast<int>(std::floor(maxZ / 10.0f)) * 10; See a graph of this here: https://www.desmos.com/calculator/39z7sfnhas


1

This code appears to be JavaScript. Since ECMA-262, JavaScript has a native BigInt class. It works with all the basic math operators +, -, *, /, % and ** (division will round to 0). It also works with the comparison operators like ==, >, <= etc. It can be expressed as a literal by using the suffix n. (const ONE_NONILLION = ...


1

Making a clone-ish game is a big risk. Please go read Clone Wars: The Five Most Important Cases Every Game Developer Should Know. I'm not a lawyer. This is not legal advice. I’m talking about Game Design. Everything is a Remix. Or if you prefer, there is nothing new under the sun. It is OK to stand on the shoulders of giants. It is extremely hard to make ...


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