Progress on Metroidvania game

125 views
Skip to first unread message

Nathan McDowell

unread,
May 17, 2013, 12:38:12 AM5/17/13
to mel...@googlegroups.com
Just thought I would check in and show some of the progress we've made on our multiplayer Metroidvania game.  Many thanks to Jason and everyone else for the advice.  I've left online play off for now, but you can check the game out at:  


There are definitely bugs, but I think you can see what we're going for..

Nathan McDowell

unread,
May 17, 2013, 12:48:21 AM5/17/13
to mel...@googlegroups.com
Controls are:

x - attack
z - jump
x + up - secondary attack

melonJS

unread,
May 17, 2013, 1:06:29 AM5/17/13
to mel...@googlegroups.com
wow that's awesome, and really hard as well ;)
how do you plan the mulitplayer to fit into the game ? like a co-op mode just shooting at everything ?


I'm glad to see more games as well using the auto-scaling !

Nathan McDowell

unread,
May 17, 2013, 1:12:39 AM5/17/13
to mel...@googlegroups.com
Thanks! I'm really starting to believe I can make a full Steam-ready desktop application with your engine.  Players can be on separate screens at the same time, therefore completing different tasks (fetching items that unlock different areas ala Zelda or Metroid) and then teaming up on the same screen to take out bosses..  

I'm planning on running the game as an .hta application with its own Canvas based menu system for matchmaking (Think Terraria quality menu system).  

Haha, yes I have spent too much time programming in enemies and not enough time balancing the game.  


--
You received this message because you are subscribed to a topic in the Google Groups "melonJS - A lightweight HTML5 game engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/melonjs/nGACyn-wKag/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to melonjs+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Kris

unread,
May 17, 2013, 5:57:48 PM5/17/13
to mel...@googlegroups.com
Cool, I feel like we don't see many metroidvanias on the "-vania" side. I'm in agreeance that melonjs is looking quite viable for full blown desktop games :)  Have you looked at node-webkit as a solution to the desktop release? There's a bit of overhead with it since you are basically packaging a full blown chromium wrapper, but in my testing it got pretty good results.

Nathan McDowell

unread,
May 18, 2013, 1:07:58 AM5/18/13
to mel...@googlegroups.com
Thanks for the heads up on node web-kit.  Are there any cases where using it gives a performance boost from the GPU accessibility?  I would consider using it simply for being able to package the program as an .exe file.  

Also, does an .exe packaged from the webkit come with everything needed for a client to host a small node server or would I need to include a separate installation for node / socket.io?

Jay Oster

unread,
May 18, 2013, 2:55:25 AM5/18/13
to mel...@googlegroups.com
You want your clients to also host a server? How is that?

Nathan McDowell

unread,
May 18, 2013, 10:54:38 AM5/18/13
to mel...@googlegroups.com
If a full Node.js installation is part of the game package for the client, it should be possible to use the user's IP address as a remote connection for other players to connect to.   There might be some port-forwarding issues to work out at first, but the payoff would be not having the extra cost and maintenance of servers.   

The Wii U controller to PC mod uses Node natively through Windows:  http://bostinno.streetwise.co/2011/05/11/using-node-js-for-the-wiimote/ , so I know it is possible to install as part of a PC installation and I know that once can use node as a remote web server from onces own computer, just like any WAMP, LAMP setup.  

... or PubNub could just cut me a killer deal ;)

Jay Oster

unread,
May 18, 2013, 2:45:50 PM5/18/13
to mel...@googlegroups.com
Well ... ;) PubNub isn't exactly peer-to-peer, though. (So you don't have to deal with firewall rules; just as long as you can make outbound requests on port 80 or port 443, you'll be fine.) Also, there is a free tier, which I have been on since I started using the service last October.

If you do decide to go the peer-to-peer route, you'll have some other considerations, such as:
  • Getting the user's remote IP. You cannot rely on anything fancy for this, even in node; the only reliable way is either via SMTP to the firewall, or using a web service that replies with the endpoint IP that established the connection. (Like the "what is my ip address" Google query)
  • Actually connecting users to one another is tricky, unless you expect them to use some side-channel to communicate their IP address. (Chat, IM, SMS, etc.)
  • Port number must be configurable on both ends for two reasons:
    1. Firewall rules
    2. A running service may already be using your preferred port number
  • Sending data quickly over HTTP can be tricky due to additional protocol overhead unless your server uses one of the following headers:
    1. Connection: Keep-Alive; Keeps an established TCP connection open after all HTTP data has been received, allows reusing the connection to avoid overhead from the initial TCP handshake
    2. Transfer-Encoding: chunked; Allows "streaming" packets through a single TCP connection, avoiding the overhead of exchanging HTTP headers
My understanding is that node-webkit doesn't require any special "installation steps" to get node running; it's just included as part of the package deal. So you can run an HTTP server out of the box. So yeah, I don't see why it wouldn't work.
Reply all
Reply to author
Forward
0 new messages