Jump to content

2D multiplayer engine shooter


fakeblitz
 Share

Recommended Posts

My objective is to create a multiplayer 2d shooter web based(nothing for mobile), i have some experience using phaser and got good experience on java/c#, it will have collisions, bullets physics(drop, possible ricochet etc)

Problem is i keep researching on the "best" game engine possible for me since most people want cross-platform engines and simple networking, i want more of a sophisticated system that has client side prediction, client interpolation possibly using this framework(garage.io).

Which engine suits my need?

Thank you

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Since you're looking to use phaser, node.js would be the best bet. Use a websocket implementation for the server. Since you're using JS for both client and server, you can share some parts of your logic with server and client. This isn't anything you should trust a framework to handle for you. You need to plan it out and work out the problems yourself.

Link to comment
Share on other sites

  • 4 weeks later...

Throw my 2 cents here.

My engine just only handle bullet physics calculation, not rendering, not collision,... tested on client side (Chrome ES6), but not server side (you can test it yourself if you want)

It has lots heck of math function really useful :), currently don't have any documentation cuz lazy ...

It can use for other things too, like graph drawing, multitasking (not parallel execution), ...

Demo (it use PIXI for rendering, you can modify the code snippet on the right (made by ace.c9.io))

To clear bullets press both button "Clear projectile" and "Clear task" (nasty bugs will occur if you don't press both)

My engine is currently in heavy development and update frequently so I don't guarantee it will work on your project

Any feedback is greatly appreciated :)

P.S: Just for fun, paste in this code (don't delete CreateShot01 and wait() ):

function* example(x, y) {
  x = x || Shmup.advanced.data().scene.size.x / 2;
  y = y || Shmup.advanced.data().scene.size.y / 3.75;
  var angle = 0;
  while (true) {
    for (var i = 1; i <= 8; i ++) {
      var obj = CreateShot01(x, y, 4, angle);
      Shmup.util.task(testing, [obj], {update: true, reset: false});
      angle += 91 / 4;
    }
    yield* wait(1);
  }
}
Shmup.util.task(example, [], {update: true, reset: false});

var lol = 1, lol1 = 0;
function* testing(obj) {
  yield* wait(50);
  //obj.angle += Shmup.math.angle.degree.radian(lol);
  //lol += 1.075;
  obj.angle *= 2;
  obj.angle += Shmup.math.angle.degree.radian(lol1);
  lol1 += 0.1;
}

 

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