Tag Info

Hot answers tagged

20

This is a common area of confusion amongst both game developers and players. Like many such confusions, its root cause is sloppy thinking. Video game worlds do not, in fact, attempt to mirror reality. Instead, they present their own limited worlds which are loosely based upon some facet of the reality with which you and I are familiar. When people talk ...


15

Provided you've got enough of the game finished (core feature are done, no major glaring bugs, enough content to get a feel for the game), then I would suggest releasing it to the public in the "playable but lacking" state. You'll be able to get feedback, and possibly find additional bugs from multiple users playing. The feedback is the most important. ...


15

I am going to approach this from a high-level discussion and then work towards your questions. For the sake of disclosure, I have no personal experiencing using socket.io but a lot of exposure to the problem space with regards to MMORPGs. The design of an MMORPGs engine's network architecture and/or the selection of a middle-ware or open source project to ...


15

Yes, somebody (in fact, multiple somebodies) on the team that develops any multiplayer game, regardless of scale, should have a strong working knowledge of networking security concepts at both the hardware and software level. This is especially true for games that will involve a lot of persistence of agency, since that constitutes investment on the part of ...


15

Short answer: Yes. Long answer: You almost certainly aren't ready for that, and a sole developer would be folly to undertake such an enormous project anyway. Connecting to a common server is not too big of an issue. All the devices you mention communicate with common servers on a regular basis (via HTTP anyway). The server doesn't have to know anything ...


11

Knowing something about security is a good idea before trying to write a multiplayer game, but things like port scanning and router hacking, or even cryptography, are not what you should be looking into at this stage. Rather, the things you should learn about are trust, validation and robustness. Knowing a little bit about psychology, especially about ...


11

To do this effectively without 'generating all possible options,' you're going to want to use a layering approach... at least in theory, even if in practice you eventually collapse the layered textures to a single sprite for draw-call reduction, which I think you should and will detail later. The layering approach involves having a sprite set for all your ...


10

PHP is still relevant for browser games. There are tons of companies (Gameforge, Funzio, Goodgame Studios, etc.) that use PHP for their online games. I think PHP and Java are most widely used, but learning something like Node.js and Python can be beneficial as well. It really depends on what you want to focus on. Learn new technologies/a new programming ...


10

All multiplayer games that respect themselves takes all important decisions server side. All as in All. Never trust the client if there is something in an action that might give an advantage for the player. World of Warcraft creates all loot, checks transactions etc server side but due to lag it lets the client control how the player moves (to check that ...


9

Mouselook is now supported in Chrome and Firefox via the W3C Pointer Lock specification. Essentially: document.onmousemove = function (e) { document.body.innerHTML = "<div>dx: " + (e.movementX || e.mozMovementX || e.webkitMovementX || 0); } document.body.onclick = document.body.requestPointerLock || ...


9

I have in mind a traditional MMORPG like World of Warcraft. Save after every command from each player and autonomous thing (e.g. NPC) Constant backup. The server could go down at any moment, and the state of the game is saved up to that moment (or as recent as possible, anyway). Impact to server performance; even if it's non-blocking (i.e. on another ...


9

People opt for HTML 5 because it's new and flashy. As you mention in your question "...using the new HTML5 technology." It's desirable to be producing something that's using the latest technology, and it's desirable for people to play games that are on the cutting edge. HTML5 fulfills those desires. I would use HTML5 or simply "web games" "browser games".


8

There are only two engines I know of that work on iPhone, Android, and in a browser: Unity and ShiVa 3D. Does anyone have an idea of the size of the task to migrate from one 3D engine to another? This isn't an answerable question as-is. How much code you have and what engine you're using are going to matter. I don't know about Shiva, but in Unity ...


8

The bottom line is there's no bullet-proof way to protect your HTML5/Javascript code. Obfuscation and minification will act as a deterrent. Closure Compiler is one such minifier. If you really want to prevent people from cheating, store the state of the game on the server and turn the web page into a presentation/input layer that communicates with the ...


8

Instead of realism, think immersion. The game must feel real to the player, but feeling real is not the same thing as being realistic. What's meant is that the game world and it's setup must be plausable (or at least semi-plausable), internally self-consistent, and deducable. Take an old classic for example - let's say Doom. Everybody knows Doom. OK, ...


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

Personally, I wouldn't worry about hackers yet. The rationale is simple: you won't get hackers/cheaters until you're a fairly popular game; i.e. worth the time to hack/cheat. Wait until you have a game established first and revenue coming in to fund those kinds of things. You can spend a lot (I mean, a lot) of time trying to fool proof your code to it ...


8

1) Lack of knowledge. Developing for Canvas might be well beyond some web developers who are very accustomed to manipulating DOM. 2) Lack of a scene graph. The DOM is (in game engine terms) a scene graph, permitting strong querying and manipulation of DOM nodes. Writing a game using Canvas requires the developer to "reinvent" that part of the wheel. 3) ...


8

Just ignore any actors which are far away from the player(s). Don't update them and don't allow active actors to interact with them. Most games divide the game world into zones, and only update the actors in the zones the player is in and the adjacent zones. Many even despawn the actors and respawn them at their initial positions when the zone becomes ...


8

The server should maintain all the positions to "make sure" anyway -- this is how you prevent trivial cheating. Most browsers have a "debug mode" they can be put into. It's trivial for me to hit F12 on my copy of IE, for example, and have access to a JS debugger I can use to halt execution, inspect variables, and change them. So you should be aware that a ...


7

Runescape is quite a famous online browser based MMORPG, and they provide an open source project to provide the game as a windows client. The game itself uses JOGL but any 2D framwork should be good for you, Java is maybe older than Silverlight for example, but is user friendly and well documented. There is a link here for the windows client and source ...


7

I assume since you're students, you are building this as a class project. Please let me first suggest that you scale back your ambitions. Making games is hard, making good games is harder still. I HIGHLY recommend that you and your team Greatly reduce your design. If you have a short timeframe and have to learn everything as you go, you will run into ...


7

I am going to play the devil's advocate here: but you should really be doing this on the server - even with this method you still need to have logic on the server which is arguably more complicated. One way to is calculate metrics based on what the user has done. For example (e.g. let's say we were writing Diablo 1): In the last 10 minutes he has opened 2 ...


7

Is there a point where the complexity of a game is enough for people to say "ok, I'm going to download and play that"? No. The logic of what you are suggesting is that people see simple games which are uninteresting, and then as they see progressively more complex games, they eventually think, "aha! This is complex enough for my interests - I shall ...


6

Unity web player (for windows) can use both DirectX and OpenGL in a window (however it abstracts your access to these APIs). Another approach would be to implement a DirectX plugin using ActiveX (for Internet Explorer), or NPAPI (for other browsers). If you use NPAPI, when your plugin starts up you'll receive a window handle where you can draw whatever you ...


6

The industry doesn't have these terms nailed down well yet, but I'd say your concept is pretty far from colloquial use. "Game Engine" usually refers to a piece of software that is meant to be extended by a game developer with their own specific logic to make a unique game. The Game Engine would provide all or nearly all of the generic services a game might ...


6

There are several game engines/frameworks emerging with HTML5. Here are some links that might be of interest: Impact Engine LimeJS Akihabara Rocket Engine (not available yet) Apart from the Rocket Engine, these engines just cover the client side of a game. So there's no direct communication to a database (unless you're using something like Google Gears). ...


6

I want to tell a little story, that is both relevant and educational. I'm currently working at a young company making a browser-and-mobile MMO game. We started work about a year and half ago; and the company founder asked would-be programmers the very same question: "What language should we use? Why? What are the alternatives?". We ultimately convinced him ...


6

Check out crafty.js, it has a lot of the features you're looking for and is in active development.


6

There's an important distinction to make between in the psychology of the player between free games and paid games. With a paid game, people are already invested in the product by the time they get around to installing it. Clients are willing to go through more rigmarole to get your product working because they've already made the decision to use it and ...



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