Hot answers tagged

8

I have little experience about this topic but by logic and knowledge I can give a few pointers that might be worth a few pennies. First of all: those two markets are big, I mean really big, maybe, just maybe, too big for you. This is good as you have a large target audience, but the size already has attracted many many many (you are not the only one, no) ...


8

You might think it's hard, but the way you came up with is the way to do it: send not the points, but e.g. all the moves of the game, and then the server recomputes the game and calculates the gained points (this is just one of a million reasons why developing multiplayer online games is harder than developing single-player games)


6

Server-side web languages such as Ruby on Rails are used to generate/serve HTML, JavaScript and CSS. They receive a request from the browser, act on it to make the HTML response, and then send it to the browser and the transaction is done. With the exception of tricks like long polling, they don't do anything dynamic in the browser; that responsibility is ...


6

There are two sets of gibberish: aSpriteData and aFont. The former is passed to the loadSpriteData function and this is the only place it's used. The latter is used in the writeChar function and that's the only place it's used. Both are decoded by the base128ToBitString function. So: they're base-128 encoded strings which store font and image data. Source:...


6

This is pretty much what normal betting is about, so checking out what bookmakers do is certainly good research. Stating percentages One game that force players to consider the chances of the underdog is having them state the chance of each possible outcome instead of just choosing one. So if GreatTeam is playing against NotSoGreatTeam a player might put 95%...


6

If you need realtime push you will probably end-up using some sort of TCP mechanism for your client. If you use flash have a look at flash.net.Socket Else for HTML5/javascript you could use the WebSocket API for modern browsers. To add support for the older ones you could get inspired by this answer. It suggests using java or action script to bridge your ...


6

i don't know about Risk but i had developed a Chinese Chess game few years ago. I think you can try Minimax which the game calculate every possible decisions and each decision will branch out a node for all the players until a certain depths within reasonable time. I think it is suitable for most turn based games. For 'difficulty' your game will randomized ...


6

I think the most effective way would be just to fake it. Rendering to some target element using your own built in sprite font as if you're rendering a normal 2D screen. This approach makes sure no strange stuff happens when people are missing fonts, or are using a very different language (Chinese, Russian). Fonts and texts are one of the most difficult ...


5

Here are some sites you can check out: http://html5games.com/ http://www.html5games.net/ http://www.canvasdemos.com/ http://www.html5gamers.com/ http://www.gameshtml5.net/ http://tophtml5games.com/ http://html5gamer.net/ http://html5arcade.com


5

I have actually made a character display library for the web, Unicodetiles.js, which I have not only spent some time optimizing, but it also explores different ways of presenting the text; it has three renderers: DOM, which uses a matrix of <div> elements to render each glyph with a customizable foreground and background colors. Canvas, which draws ...


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

Emscripten can be used to port C++ applications to javascript. It was able to succesfully make the Unreal 3 engine run in a web browser. It works best in browsers which support asm.js, an optimization-friendly subset of the Javascript language which can reach performance comparable to native code.


5

There are four kinds of games I could imagine where human players wouldn't get outpaced by bots. Embrace the bots. Make a game about bot programming. Let the best bot-writer win. It's not cheating when it's the point of the game :) (Ok, this is kind of a cop-out) Create a very complex strategy game with large numbers of units to control, a large number of ...


4


4

Here is how it was done in olde web-based RPGs circa 10 years ago: HTML Meta Refresh tag was used to automatically refresh the combat page (or maybe iframe) each N seconds In one of those games combat worked the following way: it consisted of rounds, and in each round the participants had limited time (say 15 seconds) to submit their turns. These turns then ...


4

The short answer: You need client-side scripting to make real-time games possible. The long answer: What is a server? A server is a computer used to run services for other computers on a network. What is a web request A web request is what web servers handle. It is a request, often created by a user from home on a home computer, netbook or a smartphone, ...


4

It's simple arithmetic and requires no loops or periodic DB updates. The player has a rate of resource gain. This is fixed until some external stimulus happens like the player buying an item to change speed. You need only know the current speed and resource counts for this to work. Take the current time. Take the last time the resource counts were ...


4

No browser supports an unlimited amount of storage space (or anywhere close to your 800MB) for arbitrary web apps out of the box, and most are limited to 5MB to 10MB. The easiest way to explicitly cache data is to use the Application Cache (manifest). You can also use LocalStorage if you want to programmatically download levels in advance rather than ...


4

pepper.js allows you to write C++ code and then deploy directly as: Machine code via PNaCl for higher performance, currently only supported by Chrome. Javascript via Emscripten for maximum reach. From the project page: pepper.js is a JavaScript library that enables the compilation of native Pepper applications into JavaScript using Emscripten. This ...


3

For best results, you'll want to create a port of your application. A quick (and probably dirty) way to do that might be using Google native client (allows running natively compiled code in the browser). Otherwise you'll have to take the long road of porting your code from C++ to Javascript Dart or pure HTML5.


3

A good game sells itself no matter if it's on app stores, facebook, kongregate or self-hosted. What you should do instead of trying to figure WHO you want to make a game for, make a great game. Then you can sort out where and how it's best marketed. But of course choosing a market with millions of users, against one with only thousands has the potential of ...


3

http://www.scirra.com/arcade Although it only accepts HTML5 games made in Construct 2. Also other links you requested: Blog: http://www.scirra.com/blog Tutorials: http://www.scirra.com/tutorials


3

i'm a HTML5 game developer working solely with the ImpactJS engine. It landed me a couple good contracts. By that definition, yes the canvas is a viable development platform.


3

What you need is a priority queue with the time of event as priority. If you create an event that will happen in 5 hours, you add it to the priority queue; it will probably be inserted somewhere in the back as in 5 hours has a low priority. Your main event-loop will constantly work on your priority queue and will check if the priority of first even is now. ...


3

While personally I use ammo.js (see schteppe's answer) through Physijs wrapper, I'd also like to mention cannon.js, which is specifically created for JavaScript, unlike ammo.js, which is automatically compiled from C++ to JS. The downside is much less features in cannon.js. JigLibJS which was mentioned by Paul Brunt appears to be unmaintained.


3

There are basically two types of web browser games from technological perspective: 1. Games that do not require server back-end (client only) These are mostly casual arcade-like games - e.g. shooters, platformers and side-scrollers - which usually require no data persistence, networking or multiplayer capabilities, or which only require client side data ...


3

To find out the number of lines and columns you need to output, you should check the window width and height and change it accordingly. Remember to listen to onResize events and modify the width and height accordingly. When you want to do this the textual way, you could do this using text with a monospaced font and a table where each cell contains one ...


3

WASD is viable because for the best player experience the client (the browser) should be simulating actions based on inputs at the same time the server is verifying inputs as valid and sends you appropriate data back. To put it in perspective, if you are playing a game and we figure on average it takes 100ms (arbitrarily picked this number - no real ...


3

Looks like we need to clarify a few things : Changing your IDE is pretty unlikely to change anything to your problem. An IDE is just a tool to help you work, once you have your final application it does not matter which IDE you used. Making your game an applet is also very unlikely to improve your performance problems as well as missing assets. Imho it will ...


3

General rule: YES. You have the copyrights of the game you made? Then you can distribute anywhere you want. Exception: if you made a contract that gives any publisher/platform the copyright or exclusivity. As of today, none of these platforms (Steam, GOG, Itch) ask for exclusivity. But publishers, if you distribute your game through one of them, usually ask ...


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