Jump to content

[Phaser] RangerSteve.io - Ranger Steve: Buffalo Invasion


michaelcalkins
 Share

Recommended Posts

Ranger Steve is a web (phaser) based realtime 2d shooter that let's you have instant lan parties with your friends.

Ranger Steve: Buffalo Invasion

YouTube Teaser Trailer

Fast paced, intense shooter, explosions 
This is a realtime, "shoot em up", explosive multiplayer game that makes playing with your friends as simple as sharing a link.

Made with: Phaser.io, ReactJS, NodeJS, Socket.io, and Redux.

Screen Shot 2016-05-27 at 8.55.24 AM.png

Screen Shot 2016-05-31 at 4.59.55 PM.png

Screen Shot 2016-08-21 at 2.16.33 PM.png

share.png

Link to comment
Share on other sites

  • 2 weeks later...
9 minutes ago, drhayes said:

Can you talk about the server-side stuff? I see you're emitting messages for shooting and jumping from the client. How is that reconciled on the server? How are you accounting for lag? How do I cheat so I don't keep getting killed by better players? ( ;

Excellent questions :P
Please remember this game is 3ish months old and very Alpha.

Quote

Shooting and jumping from the client. How is that reconciled on the server?

I have to implement a throttle so a user can't move more than X per frame hopefully preventing cheating.  (Not there yet)

Quote

How are you accounting for lag?

To account for lag, I rely on the information sent from the you the client. (There are a lot of problems here)

Quote

How do I cheat so I don't keep getting killed by better players?

Download an in browser script editor, figure out how to get into the Phaser game variable and make the bullets you shoot have a damage value of 100.

Also a non hacker strategy that works well against good players is P90(M4A1?) + RPG weapon selection.  Fly up in the air and drop down on your enemies, they never see it coming and the RPG one shots them.  Otherwise the P90 shoots fast enough to kill them.

In the attached screenshot someone did this by editing the size of their bullets for the RPG.

Screen Shot 2016-05-21 at 6.16.24 PM.png

Link to comment
Share on other sites

Game looks great and plays great, one thing I have noticed though is your developing on the live version. A few times I've jumped on I've seen black boxes around my character, then I refreshed and it went away.

Link to comment
Share on other sites

46 minutes ago, rgk said:

Game looks great and plays great, one thing I have noticed though is your developing on the live version. A few times I've jumped on I've seen black boxes around my character, then I refreshed and it went away.

I develop locally and push to the server.  There are some race conditions happening that I haven't nailed down yet.  Likely a sprite didn't load in time when I "started" the game.

Link to comment
Share on other sites

  • 3 months later...
  • 2 weeks later...
3 hours ago, GAME.WTF said:

Hi Michael,

I mean the waiting time for respawn was too long, waiting everytime you die is painful, you could just add a button "Respawn now" to respawn without waiting the whole timer

I've had a few people mention this now.  We'll definitely take it into consideration, thanks for the heads up!

Link to comment
Share on other sites

  • 3 weeks later...

@Nicolai

I'll do my best to explain clearly, I'm new to this MMO game dev.

Networking

  1. Player pushes button and the game reflects their player's position immediately
  2. Every frame we send the player's current position to the server (60 times per second)
  3. Our server validates that data and then updates that player internally
  4. Our server has a loop that sends an update of all players 20 times per seconds
  5. When you receive the game loop event your local game now knows about new and disconnected players, creating and destroying sprites (ideally would be reusable sprites)
  6. It then updates all player positions by tweening them to their new x,y

Loading levels and changing levels

  1. We use Phaser's game state manager
  2. You load the game and start in "Boot" which loads basic game stuff that will never change depending on map or game mode (sounds, guns, etc.)
  3. You move on to the "Preloader" state which loads the map
  4. You move to the "Deathmatch" or "TeamDeathmatch" state which loads the gamemode and logic for the rules of play

Fair warning we are changing our methodology all the time and are open to suggestions.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...