Tag Info

Hot answers tagged

34

I initialize my services in my main application class and then pass them as pointers to whatever needs to use them either through the constructors or functions. This is useful for two reasons. One, the order of initialization and cleanup is simple and clear. There is no way to accidentally initialize one service somewhere else like you can with a ...


22

One thing I liked about the backtracking in Super Metroid is how your new powers allowed you to get through the areas faster, but in a more challenging way. Another way is to place items such as health upgrades (or obvious switches/breakable blocks) in plain sight but out of reach until you come back in possession of another item. The best example of this ...


16

Some suggestions to bring more cards into the game: When a player wins a match, reward them with two cards: One from the losers deck and one newly created one. You might also consider giving a generated card to the loser to compensate for the loss, otherwise they would progress backwards, which is a real motivation breaker. Reward players for playing by ...


12

I won't discuss about the evilness behind singletons because Internet can do that better than me. In my games I use the Service Locator pattern to avoid having tons of Singletons/Managers. The concept is pretty simple. You only have one Singleton that acts like the only interface to reach what you used to use as Singleton. Instead of having several ...


11

You said that modifying the level beyond recognition is out of the question, but what about only small, randomized modifications to levels? This can be in form of events which only have a certain chance of happening whenever the player traverses the area. When there are multiple such events which also interact with each other, it will result in a slightly ...


10

Your assumption that question difficulty is subjective and is itself a hard question is absolutely correct! From a professional assessment standpoint it's a known issue, and while there are techniques to assist, it is best considered "an ongoing process" that requires testing and adjustment - like trying to figure out what just the right amount of salt to ...


9

One thing I hated about backtracking in Metroid Prime was how when I first came across something new and interesting, I couldn't tell if I had the tools to interact with it or not. I'd leave, hoping I'd get the tools later. But then I'd hit a dead end. Then I'd wonder if I had the tools to navigate the dead end, if I was missing something, or if I had to go ...


8

Reading all these answers, comments and articles pointed out, especially these two brilliant articles, http://gameprogrammingpatterns.com/singleton.html http://gameprogrammingpatterns.com/service-locator.html eventually, I have come to the following conclusion, which is kind of an answer to my own question. The best approach is not to be lazy and pass ...


5

In Portal, the developers intentionally introduced back tracking into the game. They did this for a couple of reasons: Player Immersion: It happens after you have broken out of the initial portion of the game and have been running around 'behind the scenes'. Bringing you back reminds you that you are still stuck in the facility, still 'in' the game. It ...


5

This is my first post on this stack, so bear with me! This is just my simple opinion. Hidden I am a huge believer in hiding certain mechanics in a game. This is mainly to add some mystery to the game where I--as the developer--am not showing my entire hand to the player. When I say hand, I'm referring to the game of poker. It's me against you, you ...


4

What you are talking about is not easy to do. If you are going to send the player back through an area then you can still make a lot more game experience there by making new things happen on their journey back. Consider the original Halo where the second half of the game was effectively a fight back through the locations of the first half, but confronted by ...


4

The "difficulty" of a question is certainly hard to classify. There is a large amount of subjectivity to the issue -- for example, a question about mathematics will likely seem harder to a person with no mathematics background in their education. You can't classify the "difficultly" of questions in general with an algorithm; you'll have to do it yourself. ...


4

Both of those pieces of code appear to pick a random location (xx,yy in the first example and x,y in the second), then try to change grass to something else near that location. There are lots of other algorithms, although most are more complicated than the ones you posted. I can't answer whether they're over your head; I don't know what's in your head ;-) ...


4

The very first thing you need to determine is what is your target audience. Your target audience will help you determine the range of what is considered common versus uncommon type questions. The broader the audience, the more generalized common becomes because the questions will have to span larger age groups of where educational boundaries vary ...


3

It isn't uncommon for parts of a code base to be considered cornerstone objects or a foundation class, but that doesn't justify it's life cycle to be dictated as a Singleton. Programmers often rely on the Singleton pattern as a means of convenience and pure laziness rather than taking the alternate approach and being a tad more verbose and imposing object ...


3

Are you randomly creating waves, or would they be set. If the enemy waves were set, I would suggest figuring out what enemies are worth what points, and if there is a diffuculty, figure out what the modifier in points would be. Once you have your set waves with enemies of set points, total up the points, and make each star be an even portion of the total. ...


3

There has been a lot of suggestions in terms of powerups, time decay and ETC. My opinion is a mixture of all of these elements to form a living breathing world that can be both cheap and expensive for development depending on the level of complexity and scale. However, there has been too much emphasis on going backwards. It's not just about going back, but ...


3

Time! Let the environment develop over time. Time is a resource that's missed by pretty much all games throughout time and genres. Small, random, changes to the environment, over time, can lead to massive changes. Letting time and some randomness guide the development of the games environment also increases replay value and it can do so quite a lot, ...


2

The best approach to backtracking to make the player feel like the area they are backtracking through has progressed slightly timewise. Were there two NPCs arguing in the village? Have them in a fistfight when the player backtracks. Did the player destroy a wall? Crumble some of the infrastructure around to show the damage they did. Did they summon a ...


2

Two approaches I think help were used in 1996's Duke Nukem 3D. Provide multiple routes to get to a key location. In the first level of the shareware episode, you need to get into the projection room of the cinema to get the red keycard. You can get there either by going up the stairs from a door in the lobby, or by going through the air vent in the ...


2

There are several techniques that can help improve player experience. Rule 1 - Inaccessible areas: Make it impossible for the player to explore all of the area first time round. If backtracking is an intentional part of the game, making sub-areas of a location inaccessible first time round is an excellent way to stretch out the interest in the area. When ...


2

Hexagons as a grid type are not uncommon in games, particularly games involving tactical elements. In a 4-way movement scheme, in order to move diagonally you have to expend two moves. In a 8-way movement scheme, you either have to make the diagonal moves have a cost of two, one, or a fractional sqrt(2) cost in resources. Hexagonal grids allow movement ...


1

Is your game online? Then you could use a crowdsourcing approach. Just check how many players answer a question correctly and rate the questions accordingly. This can be made completely automatic. A simple solution would be to have every question start with a score of 0. When a player answers it correctly, you subtract 1 from the score. When a player ...


1

Actually there's a simple formula for it but its based on how many people on average would get the right answer in a population. difficulty = correct - wrong where correct is the number of people that got it right and wrong is the number of poeple that didn't when asked to a large group of people. The real question is ... how do you figure out how many ...


1

I like shroeder answer. It's very logical. There could be a lot more to the scoring system as well. When should you score? I would score when you kill a enemy from the wave. You could even fill the stars as they reach the score needed to fill X% of the star. It would be a good way for them to see before all of the bonuses are added at the end (if ...


1

The error indicates that if you are using textures that are not powers of 2 (128x128, 256x256, etc), that you must set the SamplerState parameter of SpriteBatch.Begin to SamplerState.LinearClamp instead of SamplerState.LinearWrap. Judging from your code it looks like Grass and Stone are powers of 2, but the Person is not. To fix the problem you'll need to ...


1

Singleton is a famous pattern, but it's good to know the purposes it serves, and its pros and cons. It really makes sense if there is no relationship at all. If you can handle your component with a totally different object (no strong dependency) and expect having the same behavior, the singleton may be a good choice. On the other hand, if you need a small ...


1

Long story short you have several free options to let kids make games. My favorites are: Scratch: Everything is made using logic blocks. Perfect your young kids. They can do simple things easily. Algoid: Perfect for kids wanting to really "code". Easier than usual engine / langage. Adapted for teenagers. First of all that's a great initiative. I was ...


1

You don't necessarily have to change the rooms themselves if you can change what objects are in the room when the player backtracks. As a quick example, one of the lairs in Neverwinter Online has a room that's basically empty (although it has two locked doors). As you advance through the lair, you encounter a boss that drops a key, and the door behind the ...


1

If you have design space for platformer elements, you could create topology that makes moving backwards a different problem than forwards. For example, lots of jumps and tricks to get to the top of a cliff such that getting back down without falling to death is distinctly different. You might try doing this passively via gravity (ex. jumping to platform ...



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