PLAYERKILLERS

wip: PLAYERKILLERS.EXCHANGE

Recommended Posts

awesome start ! thank you for sharing it :)

I had troubles though running it under safari (gave me some errors while loading the audio assets), but it was running fine under Chrome and Firefox...

I'll add it to our gallery here if you wish, feel free to provide some small descriptions if you want too :)

Share this post


Link to post
Share on other sites

Thanks for the feedback. I think it is probably better to fix some of these issues before I post it too extensively. All kinds of feedback is helpful for me. Thanks again.

TODO:  

  1. mobile controls
  2. description
  3. player instructions
  4. fix Safari issues
  5. multivariate testing for content
  6. enhanced hud
  7. bots
  8. gameplay

Share this post


Link to post
Share on other sites

image.thumb.png.3cbb6d6db8c6fd444568f437d53e36e0.png

I've added NPCs, touch controls, and fixed the safari issues (ogg was not supported by safari). 

 

Description:

 The playerkillers.exchange is a free to play multiplayer deathmatch game. Players can obtain virtual currency by killing other players and NPCs. The game world contains over 200 different interconnected areas. 

Share this post


Link to post
Share on other sites

Good job ! I even managed to find someone after wandering for a little bit, but then got killed :)

did you use nipple (https://github.com/yoannmoinet/nipplejs) for the controller ?

Looks better than mine :)

http://melonjs.github.io/melonJS/examples/platformer/#debug

(#debug is required to show It up on desktop, else it won't until you are using a touch enable device) 

[EDIT] note that the online version of my controller does not work properly on chrome mobile (Android) though, but it was fixed in the repo :P

 

Share this post


Link to post
Share on other sites

I did use nipple.js!

 There are some issues with the nipple not disappearing in some corner cases. I heard something about keyboard input issues with safari in fullscreen. Hopefully multitouch input will be enough for those cases. 

A message about the distance to the nearest player should appear when you stop in front of a portal. Players are currently spawned in a random map if no players are online and in the map with the least players if someone is online. If you manage to run away, you should be able to leave your attacker surrounded by the NPCs pursuing you. Once alone, the player will heal 5hp for every 3 seconds of idle time. So there is a little room for strategy.

Right now these player distance messages are displayed on the HUD and removed by a callback. Not the best design. I am thinking that portals and portal messages should be made into game objects. The client should detect the collision and then ask the server for validation. 

Next, I want to add multilayer sprite composition. A long time ago I had it working by replacing the renderable with a container of sprites. One of the updates broke this. Not sure about how this is handled currently. Some of the weapon animations from the lpc-universal sprite sheet are over sized as well. These will be the next issues.

Also, the players deserve health bars above their heads. I've seen examples of this, so it should be easy to implement. Work continues, the project is no where near complete.

Going further off topic, I notice that some of the more popular games which have been picked up by hacker news and reddit still have relatively poor alexa rankings and 'time on site' :( How are people pushing their content & monetizing? I've some incentive ads which will pop once the player bases increases, but this kind of performance remains to be seen. You guys are the pro developers and naturally I am wondering about the $$$...  

I am still looking for the right approach for the gaming niche.

Again thanks for the feedback and thanks for melon.js!

Share this post


Link to post
Share on other sites

image.png.867e48eec8ce65bc597788835a1a62c5.png 

I added entity composition, a basic inventory system, armor values, different attack properties for weapons, health potions, and health bars. The NPCs are now less powerful and spawn differently based upon how many NPCs the player has killed.

Next I want to add some non-humanoid enemies and work on map generation. The portals I have been using need to be changed. Staircases should give the user a better indication as to when he is moving deeper into the caverns or surfacing. Other (north, east, south, west) portals should just be corridors. I may attempt some urban areas.  

Share this post


Link to post
Share on other sites

awesome, from what I can it's one hell of a work, as you did implement the UI/inventory programmatically, right ? 

 

also you really need to add additional webm or mp3 version of the audio assets, because my poor iOS & Safari a currently complaining about ogg being the only one available :)

Share this post


Link to post
Share on other sites

The audio issues should be fixed now. For some reason I had not updated me.audio.init() after converting the files. Thanks again.

Not sure if I would be happier with an 8bit sound scheme. I should also add a disable audio button to the HUD.

For the UI, I used a mix of GUI_Objects, Renderables, and a bitmap font. It would still need more work for game pad support. Touch targets seem difficult on some devices.

Share this post


Link to post
Share on other sites

I still see ogg only though... even after empty'ing the browser cache...

// Initialize the audio.
me.audio.init("ogg");

Concerning the multi touch support, we had further improvements in the latest 5.1 :

https://github.com/melonjs/melonJS/blob/master/CHANGELOG

I will release this new version at the end of this week, but if you want to give it a try, here is a link to the latest build:

https://melonjs-builds.s3.amazonaws.com/artifacts/master/2139/build/melonjs.js

only visible change compared to the 5.0.x version you use is  `isKinematic`, is now true by default except for me.Entity, me.Container and me.GUIobjects. Which means that if you use me.Renderable as a base for a custom object responding to collision or pointer event, you will need to set it back to false within the constructor to match the current behaviour.

https://github.com/melonjs/melonJS/wiki/Upgrade-Guide

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.