jayderyu's Forum Posts

  • Wink

    Thanks. I started talking to awarmenhoven by way of email. He has already started. I'm catching up on some of the tech he wants to use :D

    I would go for kickstarter or something like that. but there should be a lot to talk about. We both agree we would like to make the discussion open to the community for input.

    I totally understand where you coming from. Keep up the excellent work. I think more minds are better than one though :). Plus no matter what the route we need to use Plugin in one for or another :)

    breackzin

    sent a PM

  • But a Heart error was found. Anyone pickup a heart would receive the HP restore. A new c2runtime has been uploaded.

    Also a new problem has just been spotted with some players dying in one shot. sigh. bugs :D, changed the condition to check for HP 0 to try and fix this.

    will reply to everyone wonderful comments shortly :)

  • singular Send Object would be better.

    client.SendObject(channel, object)

    of course if you have anything that would says differentiating Chat/Command/Realtime would be better. I'll read anything in that design. But off the bat, I can't think how dividing the message structure would be better.

    It would seem that the difference is best handled by the server with channel and session. I don't see a big difference between Chat and Command especially with Channel type.

    Also if Realtime priortizizes a queue based on a threaded design. I don't think it will matter that much. if it's in a single thread design where the realtime queue needs to be empty before handling Chat/Command. Then Chat/Command could suffer at higher loads. At least that what sounds like it could happen :D

    Also a way to get SessionList by game key/name... so on etc.

    client.GetSessionList(apikey)

    Finally. Are you planning to build the routing/server infrastructure from scratch. Or use an already existing server base. Personally i think it wuld be better to build on top of an existing core engine to reduce work :P

    I think we should stop de-railing the guys thread :D

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • awarmenhoven

    What I do for a living is hold people down for nurses to restrain or look mean at drunks :D. Has nothing to do with computers :D

    I'm keen on the idea of team project to get C2 a networking framework. I'll PM you with my email address. or maybe we can start a new thread in the game design area :)

  • This is great, jayderyu!! I'm really impressed - particularly by the smoothness of motion.

    I think I'll back out of this multiplayer plugin business and leave the field to you <img src="smileys/smiley2.gif" border="0" align="middle" />

    While I appreciate the comment; very flattering. The "smooth" movement comes from motion state up dates over positional. I do brute force the position, but it's more about what direction the player is moving in when keys are pressed.

    I suggest yours is better than mine for some important reasons.

    * Support. I'm not sure photon is the best server software to go. Photon doesn't seem to allow cluster network coding that C2 developers need. The server side API is in C#. Photon can't route data by way of config, it only routes data to other C# photon servers.

    * After implementing the health spawning and trying to do a better Actor managment; I discovered something important. Advanced item and room management needs to be done with loadbalancing api.

    Lobby room lists, setting max players, room passwords, items already in a game match.... all need to go through the more advanced versions by the way of loadbalancing. as a sample

    var loadbalance = new LoadBalancing(masterServerAddress,.....)

    var roomInfoList = loadbalance.getRoomlist();

    this is the object

    roomInfo[]{ name, maxPlayers, password, isVisible, isOpen,... }

    * I got Draoust to work on. I really just wanted to get a few days away from Draoust. So I thought to throw together a simple network demo. I worked on the network code for a couple of weekends, and put the game together on Monday. I'm mostly done with it now :D except for a few niggle bits and browser issues. It seems to run pretty well for most. So now I should get back to Draoust before I lose momentum :)

    * Photoncloud... nope. mine doesn't work with Photon Cloud. I'm not even sure how to use PhotonCloud :D. I think most C2 developers would prefer to use the Photon Cloud over running there own Photon Server. I did this in hopes to cluster network POC. But when I found that rooms were isolated and can't send message to other rooms. My plan was smushed. Also I would require to use C# and Visual studio express :D... I'll pass.

    I suggest you keep up at your own work or maybe the 3 of us can team up? I can't afford my full time on networking, but I can do part time :)

    maybe you(@velotjet), awarmenhoven and I should put our heads together and come up with some kind of robust MP system for C2?

  • Well I can't say the exact random values. The behaviour seems to indicate a result mechanism similar too this layout. Also keep in mind that diablo2 uses a layered percentage. So rolling could actually result in 2 drops. on the base kill rolling 10% would drop gold AND an item.

    50% to drop gold

    10% to drop item

    on item

    90% for potion(random 50/50)

    10% for gear

    on gear

    90% vender stuff

    10% magical

    on magical(sorry, i don't recall the colour scheme)

    60% green(common)

    30% blue(rare)

    10% super(very rare)

    this results in an increase decelinitino of odds. Also in Diablo 2, items were unknown. The reason was that then they can spawn the stats when a "Identify" was used. The item had a base level(based on creature) ans the stats were pulled on the level scale.

    obviously set pieces were a little different :)

  • Probably the easier way is to mark that certain angle criteria has been met. I wouldnt say is the best way, but probably easiest. Even if some one `cheats` it would be less effective than just doing a circle.

    key anlges. There are the angles that when you analog stick is between. Then trigger a check so it doesn`t need to be done again.

    -10 - +10 : right

    -80 - -100 : up

    -170- +170 : left

    +80 - +100 : down

    * I might be mistaken with up and down :P

    I believe your also looking for

    angle(0, 0, Gamepad.Axis(0,0), gamepad.axis(0,1))

    the first xy in angle represents the center of position to determine the angle. Where the second XY represents the angle. So you want your gamepad as the second values. Since your using your controller, and not world space. The first XY would be 0/0(center of the world)

    good luck :)

  • thanks. I`ll look into that right now... I removed the offline.appcache. helps chrome to download the current version.

    I checked out the code and plugin. But I can`t find what and where the error that cropped up is. Since I`m on my local network. My game bounces out to use the WAN IP which is working.

    so maybe with the appcache removed. that will fix the problem with Chrome. Im surprised Chrome is giving me issues :(

  • ok, last updates for the for seeable future

    * Player count, I think it is working now

    yep, not idea why Chrome won`t use the new C2Runtime.js :(

    will answer questions :)

  • >

    > LucasTorres

    > Yes, You could do DDtank like game. However, that game looks like it will have a lot of server based code. So it's going to be a lot of work and at this moment. Your going to need to learn a programming language... unlsess of course some one get's a cluster network going :)

    >

    > I don't know. This wave of "is there online multiplayer" questions has a different feel to it.

    >

    I work with Web Development Web.I know PHP.

    is enough?

    Sorry for language mistakes, I'm Brazilian and beginner in English

    I'm not bothered by your English. I speak and write English as my native and only tongue, yet I am very poor at writing :D

    no, PHP will not be enough for anykind of real time game play. Not only does PHP over TCP, PHP also script handling isn't as fast. PHP is meant to serve up core data and web pages.

    However, you can use PHP for all the inventory and character management. but you will need at least Websockets for gameplay. You can use Velotjet plugin for that :)

  • some updates

    * Player Count still not working

    * Player naming added(lol, rotates with the player)

    * 1HP spawn every 30 seconds for each client

    * hopefully duplication is fixed

    * chrome users may need to do a big cache clear :(

    I think once I'm done figuring out the player room array data set. I will be done. If there is interest I will release the game's capx and plugin.

  • hhmmm. PlayerCount not working. will look at the problem again :P

  • Just made an update.

    * improved player room count(not entirely fixed)

    * added the french 'qz' keys for WASD

    * characters move a little faster

    * bullets move a little faster

    * reduncacy check to avoid player duplication

    * plugin updates

    * Health update more often

    * info on the current number of players in the match

    for those unable to connect in Chrome. I managed to get it to work, but I had to wile almost all my cache data. If there is no connection. Then that is likely due to the game running under an old c2Runtime.js :(

  • ebrar

    hmm. Well I can see why you would get a lot of teleporting :P. Istanbul, that's a long trip for data package for real time game play :)

    I can't however, figure why you had two you could control.

    StartPage

    Click to join

    on joined store local player id

    change layout

    on start of arena layout

    create player

    player.id = local player id

    repeat loop for each player already in room

    --create player

    --player.id = players already in room

    hmm, I think what might have happened. Was that due to latency. Your client recieved the roomlist BEFORE 'create room players' started. So with the updated room list with you already in the list. It created your on start, and created another... eh. i'm not sure, but I think I can block it.

    However, this strikes me a game logic bug, and not a networking problem. Which is good :)

    edit: fixed for next update

  • Actually I do, however it's a little(2 months) old. and has been commented a little on the hard side to control. It's been improved, but the current work isn't demo ready. lots of censors all over the place, and messaging texts.

    Draoust old demo