Hot answers tagged

58

Provide visible goals for the player to achieve. For example: Levels: If you click enough rockets, the game becomes more difficult. When you are lazy on a tight budget, then you can just tune some variables. Like Tetris, for example, where the only difference between levels is speed and score multiplier. This is easy to do, but requires a lose-condition so ...


40

What you want is to constrain the camera viewport on portrait or landscape(depending on your needs), by computing camera.orthographicSize property, so you can build your 2d scene regardless of aspect ratio and resolution: // Attach this script on your main ortohgraphic camera: /* The MIT License (MIT) Copyright (c) 2014, Marcel Căşvan Permission is hereby ...


27

I would suggest adding a mechanic that encourages emergent gameplay. Often emergent gameplay can be introduced by adding physics into your game. For example, if a rocket explodes, it could launch fragments of itself across the screen, and if those come into contact with another rocket, it would also explode. Then the player could try to get the biggest ...


22

Myself, I'd approach this by keeping the mesh fixed and unchanging, and using a texture to shave away the edge. You can make a signed distance field of your nail shape, and use this in your shader to get a smooth, crisp edge on it, even if the texture you're working with is quite low-resolution. I didn't have a nail mesh handy, so here I'm using this SDF ...


17

The standard which you will find on most platforms is: Analog directional input left thumb Digital directional input left thumb Analog directional input right thumb 4 buttons right thumb 2 shoulder buttons left hand 2 shoulder buttons right hand 2 buttons in the center of the gamepad which are awkward to reach and should be used for special actions like ...


17

One thing we do is use "mediators". Supersonic is a mediator. You install their plugin plus, let's say two others for simplicity, Vungle and AdColony. When an ad is requested, Supersonic figures out whether a Vungle or AdColony ad will pay better. Another reason to use mediators is that most ad providers only allow a single client to play a certain number ...


10

Problem analysis Real-time communication over a high-latency connection is obviously impossible. You can of course attempt an illusion (as you're doing by making the remote player appear to have passed an obstacle when it's not yet known). When that illusion fails (as yours does when the remote player didn't actually pass the obstacle, but died instead) ...


9

While using only one ad network is fine for some projects, there are several problems that can arise. Using multiple ad networks can help resolve them. However, managing multiple ad networks can sometimes be a chore and require significant manpower to keep at optimum efficiency. I'm not sure what this community's idiom for backing up answers is, but this ...


9

You need to have something that keeps changing. Interest will be replaced by boredom if it is the exact same game over and over. But it doesn't have to be. Many classic games are the same game, but you play them with different people. Chess or Go, for example, have zero randomness except for the people playing. That makes it interesting to keep playing the ...


8

Some geolocation games like Pokemon Go had quite a lot of bad press due to people getting injured while playing them. There were also cases of people trespassing on private property or entering restricted areas because the game they played encouraged them to do so. When a company needs to defend itself against allegations that they put their players in ...


8

A user will not play a game where they do the same thing over and over. It will get boring and they will leave. As such, you need to make it feel like they're doing something new, even if the underlying mechanic doesn't change. The ultimate example of this is probably Candy Crush. The mechanics introduced in level 1 are basically the same mechanics you ...


7

IANAL, and it would potentially be different in different countries, but some guidelines: Anything that references trademarked and/or copyrighted content (and everything is copyrighted at the moment of creation by its creator) should not be used without explicit permission from the trademark/copyright owner. When in doubt about trademark or copyright ...


7

Either one. Consider that even if the game world is in 3D, you can still use 2D for rendering. This is primarily a design decision. If you're more comfortable with 2D, then use 2D. See these related questions about making a similar style of game: Best technique to create oldschool (fake 3D) racing game? How would I implement an endless road the player ...


6

The lowest framerate you can get away with depends on the game. In chess, a still image is just fine until someone makes a move! In a fast-paced FPS, you'll typically want >30 frames per second. This comparison of an animation at 15, 30 and 60 frames/second should give you a rough idea, but it's best just to try it out -- every game is different.


6

You typically don't need different sizes of assets - imported textures and sprites with automatically-generated mip maps will look nice when rendered at any size less than or equal to the original pixel size of the image. The scene layout is the challenge. One good approach is as follows (and FYI I use a 3D camera looking at 2D content positioned at z=0): ...


6

You may find my answer to a similar question here to be helpful. You may also find it helpful to look into the source code of other solutions. The Godot Engine for example is a cross platform open source game engine so you never need to pay anything. As I mention in my other answer you don't need to (and likely can't) rely on one IDE to do the work for you....


5

Sure. Take your camera matrix and unproject it (or invert it). This can be done in libgdx like so: Vector3 worldCoordinates = new Vector3(screenX, screenY, 0); camera.unproject(worldCoordinates); The documenation can be found here.


5

There are several reasons why to use a backend. Without backend, you can't really have states in your game. That means players start all over when they refresh the web page. The facebook API stuff that you mentioned also comes from backend. You can do lots with facebook API, but it's not even pretending to cover all the cases. Facebook recommends Parse.com ...


5

In Unity, navigate to Edit -> Project Settings -> Player and choose the platform on the right. Android should be the 4th tab if you're using one of the latest versions of Unity. Open the dropdown menu Resoultion and Presentation, you can set it there.


5

This is a square grid shown using an isometric projection: Note how it's wider than it's tall. In fact, even if the grid was a rectangle with unequal sides, it still will be wider than taller, due to the nature of isometric projection. If you use a different projection, you can reduce the width-to-height ratio but you'll never get it taller than wide. The ...


5

In a typical isometric-style projection, tiles are roughly twice as wide as they are tall (depending on whether you're using true isometric or its close cousin often used in games, the 2:1 dimetric projection). So, as you move around the tile grid, measuring out from the player's current focus, you eat up horizontal space about twice as fast as vertical. ...


4

Both the question and the accepted answer were published in 2011, and the times have quite changed since :) Websockets is quite prevalent, but an even better technology is WebRTC which allows for unreliable UDP streams. These are much, much better for games. Other than communication, there are many other obstacles to overcome when writing multiplayer games ...


4

To complement Anko's answer, you can change a bit your game design by adding the consequence of the failed obstacle after the failure, for instance, a failed jump results in landing in a puddle of mud which disqualifies the player. This way the other player notices the failure by seeing the other fall in the mud, while the player who fails sees it right away....


4

Game rules and mechanics cannot be copyrighted. Specific implementations, writings of the rules, names, and associated art CAN be copyrighted. So if you don't call it Risk, and don't use any of Risk's art, I think you're fine. The company I work for has had serious problems with dealing with the versions of our games people make for free thinking that ...


4

Option 3 sounds like a good idea, but! Don't prompt the user in a way that they have to perform an action to get past the reviewing. I find this highly annoying. Instead, create a button somewhere in the score screen which they can click when they feel like it.


4

3G is optimized for stuff like streaming video. It's terrible with regard to latency when talking about small bits of data. There's a reason multiplayer mobile games over 3G with split-second timing don't exist.


4

Yes, generally, games are a single main loop. Games in Java may have a separate main loop for each menu/screen/mode due to Java's idioms, but that of course does not solve your animation wait problem. For things like the problem you are running into, consider using events. e.g., when your animation system finishes playing an animation, it can send out an ...


4

Before you read this, I'm not a lawyer. As far as I understand, the "Designed for Children" refers to apps that primarily target children, like educational apps, or cartoon-games. They do not affect apps that target a wider audience that includes them. Having a wider audience that includes children is handled when you get a rating for your app, in which ...


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