scidave's Forum Posts

  • I'm interested in learning some debugging skills and figured fixing bugs in Construct Classic might be a good idea.

    Problem is there are no instructions on building the Construct Runtime (that I've found)...also no information on debugging plugins. For example, I built plugins in debug mode and then executed them, when they crashed I selected Visual Studio to debug but it didn't have source level debugging so it was too hard to determine what caused the crash.

    Rojohound or Ashley, can somebody write out a short how to on how to fix bugs?

    If so then I might take some "simple" bug fix requests as I learn about troubleshooting C++ code. This would mean fairly simple .caps that crash construct regularly. Odd memory leaks are probably outside my skillset right now.

    Questions for users...are there simple bugs you want fixed?

    Question for community devs...are you still fixing bugs?

  • For the second question...it is a typo on my part. You only need one variable. I need to remove that second text from the tut, but just been so busy with stuff lately.

  • Minor update...

    Added expression "RoundTripTime" to get ping from client to server and back. Also, added a "On connect" condition to the client (only the server had support before).

    Readme and example .cap update to show new additions.

  • Was just poking around at enet.bespin.org, and didn't see anything about multicasting. So I guess that's not possible?

    True, Enet by itself doesn't support it. But I could probably implement it separate from Enet if only a simple server discovery was required..

    Are you looking to just discover which servers are on the LAN without knowing the IP address? So basically, the client could send out a broadcast and the server would constantly be listening and then respond with its own broadcast to tell the client (and anybody else) that it is ready for a game (IP, port).

    Where would multicast come into play?

  • BTW I think MD5 is better described as a hash than encryption - I think encryption is supposed to be reversible.

    Yes, please call this Hash as it is easily reversible. You don't want to give folks the wrong idea about the plugin's purpose. The goal of the hash algorithm (MD5) is to verify that the data hasn't been changed.

    Also, why not do SHA-1 if you are going to do a cryptographic hash algorithm.. MD5 has already been broken. <img src="smileys/smiley19.gif" border="0" align="middle" />

  • Hi!

    My recommendations for learning the plugin:

    1. Read the README file.

    2. Do the regular Ghost SHooter tutorial (if you are newer to Construct).

    3. Read through the Net Shooter .cap I posted.

    Since the plugin is still in Alpha..I don't want to write any tutorials just yet just in case I make any breaking changes.

    If you get stuck, just post with any questions!

  • GsP   >>> Maybe CC is all I will ever be able to do since money is not an option for me (or ever was).

    I don't understand people that say this. Unless you are a 12 year old kid on an allowance or a poor South American native living in the jungle and eating/hunting your meals you probably do have the money.

    I'd recommend you continue to make your shooter in CC. Don't make your project too ambitious, finish it, and have something nice to show for yourself. Then you can try making another type of game in C2. By then maybe you will have even saved up the money to buy C2.

    Don't talk about it.. just start writing a game.. is the best advice.

  • lucid - Yes, I'll add adding the RoundTripTime to first thing for 0.2 build.

    Urled - To host a server you simply click "Host Server". After the server starts it will show you what IP it is listening on in the chat box. If you are on a Lan that is the IP you need to connect to ( if on local machine you can just use 127.0.0.1). If not see below.

    You need two client instances to play the game. Put in the IP address of the server and your name and click "connect client" button. You should see the client "waiting for other player to join".

    NOTE:   If you are playing over the internet then you need to enable port forwarding to port 5000 on that same server IP on your router. The router IP is then the one that the clients connect to.

    Are you playing on LAN, local computer, or Internet?

  • WOW! I played about 5-6 songs and always something unique. It would be nice to incorporate this into a game where the monsters/game actions change based on the music.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Looking very polished!

  • Is there any kind of prediction in this?

    Nope. It does keep track of ping RoundTripTime (although I haven't exposed that yet) so I could add prediction, but I have no plans to. There is no lag compensation built into the plugin.

    If you are wondering if you should finish the Online plugin..I'd say definitely yes! That plugin is much different than mine with player tracking, uses parameter actions to push new parameters, and with your plan to add lag compensation would make online much better.

    I see my plugin being more for really simple games/turn based games or users who know how to add prediction/lag compensation to their games.

    Phobos and all   Thanks! I don't know how many hours I put into this plugin so it feels good to have released it. :-) The readme combined with the net shooter.cap should serve as the tutorial. It is super simple to use.

    Edit: Although, I probably will due a tut once the final plugin is released.. but who knows when that will be. ;-)

  • Here it is folks...I think I've worked out enough bugs to be comfortable posting an Alpha.

    <img src="http://i52.tinypic.com/2yxljx2.png" border="0">

    I implemented the plugin on top of ENET (a very fast lightweight UDP library). ENET was specifically designed for fast online multiplayer gaming. enet.bespin.org It can be used for free or commercial games w/o cost just reference me and the ENET license enet.bespin.org/License.html.

    The plugin uses UDP (both a fast unreliable (e.g. position updates) and a slower reliable (e.g. chats)) for communication. It also supports virtual channels so you should never put reliable and unreliable comms on same channel.

    I built an example net shooter game w/ CC v1.1 to show you how it works and also included a short README.

    <img src="http://i51.tinypic.com/5fpwkw.png" border="0">

    Network Plugin - Download

    Updated v0.3a - Aug 14th to add condition "On connect failed" for the client and fixed chat bug (you can type any characters now).

    Enjoy!

  • I think I fixed the sound/lag problem...please try to download again!

    Edit: Ok, all bugs fixed so far (including mouse control) and new version uploaded. Waiting to hear on anything else...I'll start typing up a readme. <img src="smileys/smiley1.gif" border="0" align="middle" />

  • Hey,

    PixelRebirth was having problem with freezing during shooting as well. The plugin only uses UDP, but I put bullets and bullet's sounds over a reliable layer on top of UDP which runs slower.. I switched that to fast unreliable. I think the bug was with the sound though.

    I hardcoded the game to port 5000 for simplicity. I added note to intro screen.

    Once the bugs have been worked out/people have tested it I'll write a short readme and post link to plugin.

    I updated link to new version! I'll be on beta chat for about an hour if folks want to test it out over internet:

    box.net/shared/hnspzy7nsityi76fdxsn

  • Tried a game with high lag so I quickly implemented some lag compensation. Now if you download again there is a button when playing as client you click to enable lag compensation for online play. I also moved bullets and chat to a separate channel.

    If anybody wants to try it out with me I'll be checking beta chat for a few minutes.. If not, please give me a before and after of how it affected your gameplay!

    box.net/shared/hnspzy7nsityi76fdxsn