Tag Info

Hot answers tagged

34

*Edit: Fixed error in javascript that caused error on firefox * Edit: just added ability to scale hexes to the PHP source code. Tiny 1/2 sized ones or 2x jumbo, it's all up to you :) I wasn't quite sure how to put this all into writing, but found it was easier to just write the code for a full live example. The page (link and source below) dynamically ...


18

Would a noSQL database be suitable for a web-based game? Absolutely! Generally speaking, non-relational databases (such as MongoDB) are much better for games, as they are more flexible in how they model data, while being more performant than relational databases (such as SQL) - making them a "win-win" choice. What are the issues that might arise using a ...


17

Couple of words do defend SQL databases. 1 - If you have SQL database you can work with your data not only by primary key. Most of queries in MMO goes by PK but when you need to find all users with level > 30 what will you do in NoSQL world? 2 - If you have SQL language you may create "hotfixes" to repair broken data. For example: "update player_items ...


14

Don't worry about your concept getting copied wholesale. It's much more work implementing a concept than coming up with one, and anyone who can put together a finished product will either have ideas of their own, or will change the game enough that it becomes different. If your game is awesome, then it'll be really hard to copy it and make a version that's ...


13

There are a few different ways to handle this, and many solutions have their own merits. I will give my opinion of the ideal way to handle this. First, it's important to understand that no matter how complicated your system is, someone who is sufficiently invested in gaming the system (with appropriate knowledge) will figure out a way to game it. To ...


13

There is a lot of hype around HTML5 but to say that Flash is largely being replaced by it is an overstatement. While video and audio tags may gain traction, gaming will be one area that holds out for a long time, not just because of better tooling and performance, but also because there is a business infrastructure built around distributing Swf files, that ...


12

Unity3d Game Engine I guess someone had to say it. :) Seriously, it's a great cross-platform (browsers and OS's and iPhone, etc), multi-scripting language 3D game engine. And it has both a free and Professional version.


12

Adobe Flash Flash is still the best choice for a lot of types of games. OpenSource The SDK is opensource, and there are some great opensource development tools out there. I believe FlashDevelop is the best ActionScript IDE out there. FlashPlayer is everywhere Almost all computers have Flash Player installed, and the upgrade process is fairly streamlined ...


12

App development for Google+ looks to be similar to app development for Facebook. That is to say, you will likely be able to use any language or platform that allows the game to be played in a browser, and you will interface with the API via RESTful style requests (basically making an HTTP call to something like api.plus.google.com) My guess is that this ...


11

In the interest of exploring just how far you can take the newest crop of browsers, I and some colleagues cross-compiled the open-source Java port of Quake II to Safari/Chrome (it ought to work on Firefox at some point as well, though it didn't initially, largely for performance reasons). The project is here: http://code.google.com/p/quake2-gwt-port/ It ...


11

You should write a small javascript tile layout engine that maps the database tile coordinates into a view on the web page, because this lets you outsource the cpu processing time to the players computer. It's not hard to do and you can do it in few pages of code. So essentially you'll be writing a thin layer of PHP of which only purpose is to deliver ...


10

The technology I find interesting for games on the web is JavaScript + Canvas. This has the advantage that the user does not need a plugin at all to play your game. The upcoming IE will also support canvas, including hardware acceleration. The best choice for 3D would be WebGL, but it is not even part of the more innovative browsers yet. You already find a ...


10

I'm going to mildly disagree with everyone and say that the relational approach is reasonable here. What's interesting here is that items can have multiple roles. The main issue will be that the mapping between this relational layout and an OO layout in the code won't feel “natural”, but I think on the database side multiple roles can be expressed cleanly ...


9

You should be aware of the Audio and Video tags. Web Storage is pretty critical if you need to save a lot of data for saved games etc. There are already a few Javascript html5 game frameworks, Akihabara is rather popular. As far as other libraries, Jquery and Functional Javascript are 2 of my favorites.


9

They are obviously not unsuited for it, as demonstrated by RuneScape and Minecraft and other smaller Java applet games. There are also libraries for hardware-accelerated 3D graphics (LWJGL, JOGL). It's just not a popular language in the game development community. You do have to consider your supported platforms though. Windows and Linux have great Java ...


8

The internal system we used for Moblox (later replaced with OpenFeint) worked like this: Send a JSON message over plain HTTP (not HTTPS). Include a MD5-hash of all fields plus a magic string. On the server, check the integrity of the message with the same operation. To crack the system, you'd have to find this magic string. It is possible with reverse ...


8

There is no "one-way-to-rule-them-all" to handle combat resolution and damage. The most important thing is that the resolution is understandable by the player. In general you want to separate three elements. Chance to Hit Damage Applied Attack Rate This gives you the ability to make a wide range of weapons. Chance to Hit - tends to be calculated ...


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) ...


7

You could award points based on the difference between the opponents' point totals. Very good players would earn few points for defeating newbies, and newbies would earn many points for defeating experienced players. Likewise, losers would lose points proportional to the same scale. This wouldn't completely solve your problem, but it would eliminate the ...


7

The simplest and most effective way to counter 'farming' of scores is to adjust the score received based on the disparity between the players. Bear in mind it's not just one player creating multiple accounts you need to worry about: imagine two friends, one deliberately losing so the others ranking is artificially boosted. Chess and other games avoid this ...


7

You can limit the most flagrant of abuses by monitoring the highest results in the top score table. Depending on your game, you may have a "perfect score," above which any score must be fraudulent. If not, you can calculate the lowest "impossible score;" can the player shoot 10 shots per second, the game lasts 1 minute, and each killed enemy is worth 100 ...


6

There are a couple of frameworks already: GameQuery and Akihabara, which is a plugin for jQuery to do some game-related activities, like animations, grouping sprites, detect collisions and read player input.


6

Java Web Start is a better choice over java applets. JNLP allows you to access native level resources like OpenGL. You can have the full power of the graphics card, while at the same time have your game launch from the browser without need the user to install any plugins(so long as they have java run time on their pc). The jMonkeyEngine is a great 3D ...


6

Just because Java applets aren't popular doesn't mean they aren't powerful or worthy of gaming. In fact I am focused on Java game development at the moment; I like the high-level nature of the language, its cross-platform-ness (as compared to C#), the JOGL library which provides a very C-like OpenGL experience for the Java platform (or its alternative, ...


6

While it isn't mature yet, Google is working a technology called Native Client, or NaCl for short. NaCl is a sandbox that allows safe, secure, fast execution of native binary code. It supports OpenGLES for 3d accelerated output and OpenAL for an audio layer. In summary, you'll be able to play high-end locally-installed games in your web browser, with only ...


6

It seems to me that you could just store the production rates, the base resource level, and a last-updated timestamp. Then, whenever you need to know the actual resource level, you could just multiply the production rate by the elapsed time. Whenever the actual resource level changes - simply update the base level. Whenever the production rate changes, ...



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