• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

153 Neutral

About JeffL

  • Rank
  1. Hi guys.  There's a new game coming out sometime in the future with an apparently huge crowd funding effort, Star Citizen, and it's sporting a logo that seems very similar to that of our game, Star Sonata / Star Sonata 2.  Both games are space games, both are MMO's, both have "Star" as the first word, and both have a 4 point starburst inside a circle with the tips sticking out.  The difference in the logos is their starburst is skinnier, and they have multiple circles and some laurels.   We've been using our logo for almost 10 years now, and while not wildly successful, we've had somewhere in the neighborhood of 80,000 accounts played over the years.  With all the publicity and fundraising that this new game is getting, I'd hate for them to come along later with expensive lawyers and threaten to sue us.  Or possibly also bad would be if people thought that we were copying them.    Does anyone have advice or an opinion on if the similar logo is something to be worried about?   Thanks.   (Logos are visible on each of the above links.)    
  2. How do i run my server?

    Agree with everything hplus0603 said. After you've run your server like this, if you want to watch the output in real time, you can use: tail -f log_file_name Also, not sure if this applies to Java or not, but the other thing you'll want to do is set your system up to generate core files in a specific directory, so when your server *does* crash, you can go and debug the core file with gdb (or whatever you do with Java).
  3. MMO/Multiplayer Movement

    I would think that if you're doing a non-twitch RPG like MMO, then you could probably get away with sending position as seldom as 2-3 times per second. It would depend on how important exactly positioning is to your game. Sending updates on movement vectors also works. That's pretty much how we do it in my game. You have to be prepared to deal with the case where you send the vector to the clients, then the guy stops and it takes a bit for that stop info to get to the other clients so that they might have to back the character up since they extrapolated too far. But you could deal with most of that by delaying the actual movement on other clients by some amount. If people give move orders via mouse clicks, then, yes, I think you'd want each client to do their own pathfinding. This is how multiplayer RTS games do it. I suspect that will be way less of a bottleneck for a MMO than sending a detailed path or more detailed movement info. I would think any of these schemes could work. It really depends on what your game is like to determine what the best one would be.
  4. Solutions To Weapon Inflation

    If you have a durability system, then you could salvage new weapons for parts to repair the weapons you're actually using.
  5. I think unless you are directly making a computer version of an existing non-computer game that uses dice (like Yahtzee) where the dice are really the center of the game, then simulating dice roll is kind of an anachronism. You roll dice in real life to generate random numbers, which a computer can do a lot faster and more easily. You wouldn't also simulate sharpening your pencil every once in a while in your crpg. Another thing to consider is that I've played Risk-clones on the computer that make you sit there and watch the dice roll every time, which is cool the first dozen or so times, but becomes extremely tedious after the novelty has worn off.
  6. I would say from a business perspective, it's a good idea. If you control the server, then you can always monetize your game, whether it's through subscriptions or some kind of freemium. With single player, you have to worry about piracy and also have to worry a lot more about distribution. There's no guarantee you can get onto Steam. Also, multiplayer has much more replay value, so it's good to concentrate on that anyway. Having done both multiplayer and single-player games myself, I don't think I would ever make a single player game again unless I had some amazing idea.
  7. Realtime basics

    I think it depends on your game. If you were going to be talking about launching missiles, for example, then you could make the missile take half a second or more to "arm" before actually firing, which could soak up a lot of the lag you might encounter. Players would get used to that arming time and time their shots accordingly. In my game, we don't send a message for each bullet fired, we send messages for "start firing" and "stop firing" including the rate of fire, so while you may perceive some lag for when the firing starts, everything is synced up pretty perfectly after that. I think the key is to figure out exactly how you want your game to play, and then pick the best networking scheme to fit that. The more twitchy your game is, the more involved the networking will have to be, I think.
  8. Realtime basics

    Yes, but if you send the client info on objects in terms of start position, start time, velocity, and acceleration (or in the case of planetary objects, start position, thing they orbit, and orbit speed), then you don't even need to have the clients use the same simulation rate. At least that's how we do it in our game.
  9. Realtime basics

    Another way you can handle laggy information, is instead of insist that all clients start everything at exactly the same time and then increment objects position every frame by their velocity, send a starting position, starting time, and velocity for each object, then the update loop would just multiply the velocity time the current time minus the start time, so even if you get the info on that object late, it will still show up in the correct place when it does show up. The other advantage of moving object this way is that it's framerate independent.
  10. Random fly movement

    I've had a lot of success with swarming AI. You don't need very sophisticated individual AI if you can have multiples of them in a "swarm". The swarm looks absolutely great and very real in an eerie kind of way. What I've done in my game is when a group of enemies is in swarm mode, they just steer towards the center point which is calculated from the average of all the individuals positions with the addition of an additional anchor point which can be moved around. Each individual has a heading, a velocity, and can either be thrusting or not. If they are within a certain radius of the current swarm point, then they stop thrusting and just keep coasting according to their current velocity, but when they leave that threshold radius, they start thrusting again and turn to face the swarm point. tl;dr If you want to show a convincing fly, you might try having several flies swarming together.
  11. Gaming Inventories

    I think when you talk about space-based systems, you are really talking about slot based systems, where you have a certain amount of slots that you can fill. In Star Sonata, items have both space and weight. You can hold a certain amount of space in your ship, and each item has a certain amount of weight. You can fill your ship up with all kind of little odds and ends that only take 1 space, while real weapons and useful gear tends to be in the 20-100 space range. The total weight of all the items affects the performance of your ship, but all the little knick-knacks tend to have near-zero weight as well, so in practice you kind of have a two tier system where you can carry lots of random stuff around, but are more limited in terms of how many real items you can carry. I think it works quite well.
  12. Since it looks like Comcast is sending the forged resets to disrupt the connection, would switching to UDP, for example, using RakNet fix the problem? Or do they screw with UDP also? I would think that enough people use RakNet that either it would solve the problem or else they will have to solve the problem in the near future as more and more online games run into these shaping problems.
  13. I send a packet every 100ms - 200ms, depending on which server and what the current load is. It is always the same people that have this problem in any given month, though once when I changed the max packet size that I was sending out down to about 500 bytes, a bunch of people who were having the problem stopped having the problem. Now in recent week, a different bunch of Comcast users are getting the problem including myself. Making a log of everyone who gets disconnected is a good idea. I will add that and see what it comes up with.
  14. Yes, what I'm seeing is the server is getting the "Connection reset by peer" error when it tries to send, then the server closes the socket (our code) since it can't send to the client, and after the server closes it, that's the first the client knows that anything is wrong. So I think they are inserting these reset packets only from client to server and not the other way. Today I tried using all sorts of different ports, including the ones WoW uses and 8080, but all the same effect. I also talked to Comcast's technical support and they denied doing anything and said unless my Internet connection was completely broken, they could not give me support. I'm still not sure what to do.
  15. I'm running a small MMORPG that's been going for about 3+ years now and recently we've been having problems with players who use Comcast or Comcast subsidiaries getting disconnected. Basically the TCP port is still seen as open on both ends, but the packets stop getting through, after a certain amount of time, our server assumes they've gone away and closes the port, at which point the client reports that the port's been closed and then reconnects. I have read about the recent packet shaping and I'm wondering if this might be it. The problem seems to come and go with different people at different times of the day. I was combining packets and sending 800b - 900b packets and after a bunch of people (maybe 10% of the user base) reported that they were getting disconnected, I tried everything I could think of until I reduced the max packet size to 500b, and almost all of them said the problem was fixed. Now a few weeks ago a bunch of different players started reporting the same problem and as of yesterday I also started getting that problem, though no networking code was changed in either our server or the client in this time. My question is how to tell if it's really something that Comcast is doing and if so, does anyone have suggestions on what we could do about it? Or might it be some other thing we did wrong that causes packets to stop getting through? Thanks for any advice.
  • Advertisement