161

This is the type of game where the same move performed twice reverses the board to its previous state. So to ensure a board is solvable, generate it by playing in reverse. Start with a solved (blank) board, then start programmatically "clicking" randomly either a certain number of times, or until the board has the desired number of white squares. One ...


92

While the above answers are clever (and probably how I would do it anyway), this particular game is very well known. It's called Lights Out, and has been mathematically solved. There is a solution if and only if two sums of various elements (given on the wikipedia page) add to zero mod 2 (i.e. an even number). In general a little linear algebra should give ...


19

It certainly depends on the type of game, and as always, there are no foolproof ways to increase difficulty, but in my experience, I have found that making difficult games/levels is much, much more difficult than making easy games/levels. Some reasons that come to mind are: It is very easy to cross the line between difficult and plain impossible. I really ...


16

You can't be objective in playtesting your own game. Do play your own game frequently to make sure features work, but to test "fun" you should be recruiting new people. I don't have the resources to find and use third party testers You are probably stuck thinking that playtesting requires some elaborate setup (eg. a testing lab with a two-way mirror and ...


13

Go the other way around when generating your puzzle. Instead of randomly selecting the tiles and turning them from white to black, start from a blank slate, then select the tiles but instead of turning that tile to black, make it as if the user selected it, resulting in flipping all of the other tiles around it. This way you'll be guaranteed to have at ...


8

Best advice I could give is to put what you have up, making it clear that it is still a beta and that you want people to play test it and link to it everywhere. This includes every game site you can think of include gamedev.net, moddb, here, facebook, twitter. There is nothing wrong with advertising mate. How else are you going to get people to play your ...


8

Go to where your audience is. You have a chess app, so I would recommend to find some online communities of chess players. Read their community guidelines, FAQs and a bit of their content to make sure that discussing your app is on-topic in the community. Read it carefully: unwelcome advertising is annoying and creates more damage than value. For example, ...


7

In my experience, such integrated cutscenes (that is, using the in-game render) tend to use camera angles & perspectives that differ from the game play. For instance, if the game is played in 1st person mode, the camera shifts to a 3rd person view for the cut-scene. You could adjust the display to use letterboxing, pillarboxing or windowboxing during ...


7

Ed and Alexandre have the right of it. But if you do want to know if every solution is possible, there are ways. There are a finite number of possible puzzles Clicking on the same square twice produces the same result as not clicking on it at all, no matter how many clicks were made between them. That means that every solution can be described by giving ...


6

Get as many as you can reasonably manage. The more prepared and organized you are for testers, the more you'll be able to manage. If you have an automated system set up for collecting data and deploying your game for testing, you'll be able to manage more testers than if you were attempting to manage them manually. It's also important to get the correct ...


6

You can't, not because you ain't honest to yourself, but because your experience playing the game is completely different from everyone else's. By the time you can do gameplay testing you are an expert in your own, nothing is going to surprise you or amuse you, 'cause you know everything that is going to happen, you know how to beat every part of it, and you ...


6

Sign in to your Google Play Developer Console. Select an app. On the left menu, select APK > Beta testing. If you see Choose a testing method, select the drop-down arrow. Select Set up Closed Beta Testing > Create list. Type a name to identify your list of testers ... ?. PROFIT This way only invited people will be able to install and test your game :3 ...


5

Is it possible for your cut scenes to end at a place/time in which the player feels a sense of urgency or need to move, shoot/block/defend? One of the things I liked about the Last of Us is that it was really good at integrating cut scenes pretty seamlessly into the game. Generally they would all end at a time when you needed to run, shoot, duck, or ...


5

There's a lot of ways to do that. Change the title so that it gently says BETA Put a nice popup or message at the very start saying that this isn't the final version and will be changed, or anything like that. Watermark a corner of the window with the message "beta version"


5

The only real thing that is different is the amount of devices, Apple just sell 1-2-3 new product each year, Android offers 1 new product every day/week. The emulator it's not buggy, it's just not intended for profiling, if you want to profile an Android application you have to do the same thing that you have done for iOS: consider the lowest profile device ...


5

You could ask them to record their play sessions with a video capture software like Fraps or GameCam. Additionally, you could also ask them to wear a headset with microphone and comment verbally on their game experience (the results would be similar to a "Let's play" video). The advantage of verbal commenting is that it is more spontaneous and honest than ...


5

Seeing as javamonk has already linked some good technical articles, I'll try to approach this from more of a theoretical angle. Arcade game difficulty... From my own personal experience (not sure there are many or even any articles to back this up but I'll keep looking), arcade games are almost always consistently incremental. Every level the enemies get a ...


5

Why worry about piracy at all in this case? If it is a beta version, then it will give players an idea how the finished game is going to look and play, but it would be buggy and incomplete. The game experience will be suboptimal, and the player will understand that this is because they are playing an incomplete version of the game. If they like the game, ...


4

A modern example of generating infinite maps is the Mario AI contest. See http://www.marioai.org/LevelGeneration A good approach to take for generating levels/maps would be a markov chain, http://en.wikipedia.org/wiki/Markov_chain. You can create a model for the kind of level you are looking for, then generate much larger ones (possibly infinite) using ...


4

Having a good understanding of your game mechanics is essential to balancing a game properly. Modeling your game as a set of equations and graphs is a great way to obtain that understanding. Regarding randomness: Many random events balance out over time (law of large numbers), so when there is a 50% chance that X happens and a 50% chance that Y happens, ...


4

First of all, I would challenge the assumption that TDD and game development don't mix. While there are some things in game development which are hard to unit-test (How do you write a proper unit test for a graphic effect where the only formal requirement is "looks cool"?) there are several other areas where it does make sense. Your core game rules, for ...


4

Generalized answer: Create a matrix of size (# moves) x (# lights). Put a 1 in a cell if making the move corresponding to that row toggles that light corresponding to that column, 0 otherwise. Perform Gauss-Jordan elimination (modulo 2) on the matrix. If the matrix that results has a single 1 in each column, and every row has at most a single 1, then every ...


4

At a very high level, a possible cycle for finding users goes something like this: Identify your target audience. (Note this step is not trivial & can be much more difficult to do than it sounds). List places &/or communication channels where you expect a worthwhile amount of your target audience to be. Look for options that either have a high % of ...


3

On Steam you do it by creating a branch in SteamWorks (under SteamPipe) which you set a password for. You then upload your build and push it live in that branch (again it's under SteamPipe). Anybody who has access to that branch (you've generated a key for + has the password) can opt in to the beta and will be given that build.


3

If your cutscenes are skippable, have the key to do so on-screen during the cutscene. Then, remove the key (and option!) to do so several seconds before the cutscene ends. The prompt disappearing is the cue for the cutscene nearly ending.


3

Platformer difficulty is about perfect timing of player actions. I would use 3 main approaches: Playtesting Let you level be played by players and adjust the difficulty appropriately. Simulating That will work for simple levels and parts of levels. Make a simulation with all the moves required to pass the level part and see how much they are allowed to ...


3

Google Play allows you to upload an alpha or beta version of your app and lets you choose a group of testers. The group can be a Google Group or Google+ Community. I highly recommend using social media to spread the word and involving (or hiring) interested people in beta testing. You can also hire people for few bucks on websites like Fiverr.com. ...


3

It's always a good time to get feedback. Earlier feedback can help avoid spending a lot of time developing something you end up not using or changing later on. It's particularly good in your case to discover things that you as the lone developer may not notice. Maybe the game doesn't run well on other platforms. Maybe you hadn't considered how to build? ...


3

Fail Faster! Game development is an iterative process. Playtest early, playtest often. Playtest with many different people. Never be afraid of feedback. Test stuff before you polish it, so you don't waste as much work when you throw it away and rebuild it from scratch. I made that mistake before. I once spent months building a game around a specific ...


2

I find the other answers odd, not because they are necessarily wrong, but that they ignore that any developer is (or at least should be) playtesting their own game far more than they would ever have the time or resources to find testers. Clearly, finding individuals completely unfamiliar with the game is necessary, and should never be overlooked. However, ...


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