Your question can be summarized as "I got a Luck stat in my combat system, please tell me why".
Ask yourself: What game-design goal does the Luck stat fulfill? Do you have an immediate answer? If you don't then I would recommend you to just throw it out.
Now you are just down to two stats: Strength and Constitution. This doesn't seem like much. But you ...
PHP has the advantage that it is very widely supported by cheap webhosters. You can rent some shared-hosting LAMP (Linux, Apache, MySQL, PHP) webspace for peanuts. And that webspace can also host your website and the game client. The setup of most PHP applications is equally easy. Just copy the files to the webserver and you are done. This makes it very easy ...
Generally, when you start without experience you should go with the existing solution instead of inventing something new.
However, your situation is different. Neither FATE nor GURPS are frameworks that are designed for browser based RPGs. So the question is about adapting them, not about using them. Adapting an existing tabletop system for an online RPG is ...
You essentially want your crit to scale from 0% to 100% with diminishing returns. Here is a formula that is 0% at luck=0 and approaches 100% as luck goes to infinity.
f = 2.71; // you can mess with this factor to change how quickly it diminishes
crit = Math.random() > Math.pow(f, -luck); // assuming random is in the range [0.0, 1.0]
Then use a ...
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 ...
This is too broad, you need to work out some things.
What do you call a high-performance server. You can get some very powerful servers with 4 CPU sockets and such. But it is likely 4 servers with a single socket may be cheaper.
Real time (meaning each game instance must be processed all the time at some frequency) or turn based (meaning you just need to ...
A rule of thumb is that you use different classes when objects require different code and instances of the same class when the objects only require different values.
So when ShortBow, HuntingBow, CompositeBow, ElvenBow etc. all behave identical except for having different stats, then they would all be instances of the same class.
When bows have different ...
There are pros and cons to each method of synchronization you gave that depend on a couple of factors. First, is your game singleplayer or multiplayer, second, how real-time is your game? If your game is only single player, you may want to consider having a client side only game which would make things simpler. However, assuming you need a ...
The other answers are correct, but there's a historical factor that hasn't been mentioned.
When I started to search for do and donts and tips I realized that a lot of projects use PHP and I have actually not found any PBBG using C# which I find really strange.
Until a couple years ago, there was a PBBG development community that mostly existed on two ...
You could also do something similar to MineCraft so only the active blocks are loaded. For doing that, you could store each part (e. g. 32x32 tiles) in its own file and load always only the part the player is in and the surrounding. When the player enters another part, save the parts the player is two far away and load the new ones. If you use procedural ...
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.
From the project page:
Instead of completely refilling all players action points at a fixed time, you could instead give them a small amount of action points every few minutes and allow them to safe up action points up to one or a couple days worth of points.
A player who wants to do something big will have to safe their action points for about a day. Afterwards they will be ...
Websockets are a very elegant and fast way to implement asynchronous communication between client and server. But they are far from the only. When low latency isn't that important for you, you can substitute it with XmlHttpRequest (aka "AJAX").
But for a real-time action-oriented game, WebSockets are usually the superior solution.
ajax / html request
Slowpoke. Good for loading pages without navigating to another url.
No good for action games but should be fine for turn based games I imagine. That is unless it's a very fast paced turn based game (think roguelike fast).
The good thing is that the server only needs to handle one request at a time.
So the server code is serial and not ...
Do I have to use flash to be accepted on these sites?
I know these games would have ads run on them, which I assume was profitable for the developer.
Advertisement is one way to ...
D'oh! This is covered in the WebGL troubleshooting documentation (which did not come up in my web search results for 'Unity IndexedDB').
Unity does not flush changes to IndexedDB immediately when you save a file. They don't explain when they do a flush, but clearly a scene change is one event that triggers a flush.
To immediately flush the changes, we have ...
You might want to look at internet Diplomacy, which takes the simultaneous moves approach. Diplomacy assumes you will be discussing moves with other players, so you have some idea of what is going on even though you can't see actual moves (and other players may be lying to you about their plans).
I'm not sure whether this helps, but it's at least an ...
As everyone has already stated, Spatial Partitioning! I think a bare minimal 2D Grid vs. Bounding Sphere will cut it for most browser games.
Since nearly everyone has multiple processors, your game might benefit greatly from Web Workers.
This way you can let the main browser thread focus on providing a perfectly responsive interface at all times. Further, ...
That's actually not that much game related, as general programming related.
It all depends on your language and environment, but the theory relies in http://en.wikipedia.org/wiki/Background_process and http://en.wikipedia.org/wiki/Asynchronous_I/O.
There are multiple ways, some of them:
Easiest, and most friendly, easy to set up would be AJAX - you'd ...
What does Luck mean?
Luck could increase the chance of some combination of:
Crit-ing (also potentially crit damage)
Getting an item (if there are items)
Having that item be a good item
Success of any action you attempt
Any random (unambiguously) good thing happening
Any random (unambiguously) bad thing not happening
I'd suggest not ...
After further digging into Patreon material, I found a blog post from them that answers my question. It puts subscription as one of the one of the business models one can use the platform for.
6. Service/Product Model
Defined as: a specific service or product offered in exchange for
This category is closer to many ‘normal’ ...
I read somewhere that you shouldn't compare floats
Beware programming by hearsay. This is a good way to make mistakes for reasons you don't understand. Instead, ask for clarification.
The full advice here is "be careful when comparing floats for exact equality." Code like if (playerCoinBalance == 0) is safe enough with integers, but with floats the player'...
The general rule of thumb for handling multiplayer games is that any game mechanics which can be handled on the server should be handled on the server. There are two reasons for that:
The less the client is responsible for, the easier it is to develop a new client for a different platform
It makes it a lot harder to cheat
The server should be the one who ...
I think you have two concepts mixed up: A percentage multiplier and a percentage bonus.
A percentage multiplier can decrease your stats below their original value. If you have a debuff that says "attack stat reduced to 20%", then that means you'll have stat*0.2 afterwards. If, on the other hand, you have a buff that says "attack stat tripled&...
There are some differences between ASP.NET and PHP, mostly they suit different programming styles. The both use a similar request/response pattern designed for generating old school web pages. They seem about equally useful.
I think the trends have more to do with market powers than technical differences, until a few years ago you couldn't get a good free ...
For game shops dedicated to making slot machines, the manner in which a game pays out is determined by a staff of mathematicians dedicated to statistics. In my experience (a single shop of about 25 people) the mathematicians were roughly equal in number to the programmers and artists.
Of course, this is true for a company making games headed to real ...