scidave's Recent Forum Activity

  • The video was encoded in Mpeg-4.

    You may run into issues with Python since the AAC (Mpeg-4) codec is not supported well. For example, your best bets are Pyglet, Pymedia, or Pygame. However, what what I can tell they do not support Mpeg-4. http://www.pyglet.org/doc/programming_g ... types.html

    If you go the Python route, you would have to convert the video to a different supported type. The other issue is that you can't display the video to Construct's window, it would be the Pygame or Pyglet surface/window. You could work around this by setting the Python surface to that of Construct and making it borderless. Then with Python you would destroy the surface you created once the video is done.

    So this isn't a simple process.

  • So but now to my questions:

    Thanks for the feedback and finding bugs in the docs. Once I get some more free time I plan on going through all of the tuts and fixing bugs and typos. I'll make sure to add your stuff to the list!

  • i'd love to upload the .cap but i dont see any way to do it and its pretty big(15MB)

    Get a dropbox or box.net account, both are free and you can upload there.

    Also, have you tried your .cap in Construct .99.84 to see if it works any better.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It isn't clear that your example could achieve similar results. For example, how would you do something like this?

    Assume you have 100 instances of Sprite each representing a networked client's player. Each player gets a global variable "myNumber". Assume that for one player, his myNumber = 88.

    In Python, to set his sprite to a new position:

    Sprite[System.globalvar('myNumber')].SetPosition(x,y)

    Your method in events has to directly access the right sprite instance, you can't loop through instances up to 88 or pick based on private variable. If you can, then many people including myself would be very interested!!

  • So that makes me wonder how many people here already have a server ready to test things on?

    This is not a big deal since any player can host a game. Unless we are talking about large persistent worlds then a player can host any online multiplayer game by doing:

    1. Enable NAT passthrough on their router. This is really easy to setup. You then run the "server" on an internal IP on your home network and the router forwards traffic from a particular port to your system.

    2. Use a free networking tool like Hamachi. https://secure.logmein.com/products/hamachi2/ Now everybody is on a virtual LAN and you host the server on your Hamachi IP address. Added benefit of this is you get lower lantency and more reliable connections.

    I DO recall that someone was working on a networking plugin.

    Dataflashbot mentioned a few weeks ago that he was, but he didn't want anybody to hold him to it so I'm not sure if he will end up making one or not.

    but this can cause issues with players behind routers

    This will only be an issue for all players if the plugin is a peer-to-peer type. Even in that case the best solution is to have everybody use Hamachi or as secondary solution all players would have to enable NAT passthrough. An alternative is to have the online plugin itself use NAT punch-through like what Raknet uses.

    Edit: If someone starts making a plugin definitely DON'T write from scratch using sockets. Like Ashley mentioned there are libraries out there. For example, Sun99 pointed out the Zig library which wraps HawkNL. Take a look at this thread before starting out on making a plugin.

    http://www.gamedevid.org/forum/archive/ ... -3577.html Some of the libraries are old and haven't been updated but it's better than starting from scratch!

  • Thanks everyone! I really hope this will get more people to try Python and Construct.

    sooo ... when is this going to become a plug in? =P

    I recognize the humor. This functionality would make for a sweet plugin. As crazy as it sounds Python is actually BETTER than a plugin (assuming the PV and behavior access is fixed in Python). The reason is that Construct does not have access to sprite indexing (the ability to reference a sprite instance by index), but Python does. For example, sprite[0].X would access the first instance's X location. If you can't do that then multiplayer games are impractical for anything more than a 2-4 person game. If someone writes an online plugin, they also need to add support for sprite indexing.

    It is Python. It cannot be made into a plugin like this.

    Technically, you could make a plugin based on this library by using Python embedded in C++. Now, would someone actually want to do that? Probably not, they would just write it all in C.

  • This tutorial shows how to make network programs, and online and LAN multiplayer games using Python and the PodSixNet (http://mccormick.cx/projects/PodSixNet/) library.

    The tutorial walks through setting up your environment,distributing your game, using the PodSixNet library, and then reviews the .cap files of several example network programs. The games include a chat program, network pong, and a 2-10 player dungeon escape game. Latency is briefly addressed and some techniques to reduce lag are mentioned.

    Download link (need Construct .99.84 or later)

    http://www.box.net/shared/1ukq09e6e1

    <img src="http://i43.tinypic.com/153ma2p.jpg">

    <img src="http://i42.tinypic.com/657hbc.jpg">

    Users are assumed to know a little bit about Construct and should already have done the Ghost Shooter tutorials at the minimum. Only minimal prior knowledge of Python is necessary. Enjoy!

  • New version uploaded. Increased speed of players, and added interpolation to the beast. There is no noticeable lag on the beast even after a 600ms roundtrip latency is added. I think it is safe to say that this takes care of *most* internet latency issues, at least for slower action and RTS games. Unfortunately, I can't interpolate the other player's positions because of the broken Python access to private variables. This will probably be fixed in the next Construct release so it is not that big of a deal.

    http://www.box.net/shared/ypq6pdj0mf

    Good progress is being made on the tutorial front as well.

    p.s. I never got any feedback that people couldn't get this to run (besides Tulamide). My guess is that most people testing already had either Python or Visual Studio installed. If you could not get it to run then try running the VC redistributable installer and that should take care of the problem.

  • Everything that Newt said.

    I did a really simple example of what you are talking about in the Adventure tutorial part 4 using global arrays.

    Look at that example and perhaps you will get some ideas for an approach that might work for you.

  • I was thinking about accounts that could be sent to email to be "activated" or what-ever.

    Seems reasonable. I would recommend using a globally accessible email relay like gmail then. Be sure to let us know if you run into any roadblocks. Good luck!

  • This would be straightforward to do with Python:

    http://docs.python.org/library/email-examples.html

    I don't quite understand how sending emails is going to get you closer to making an MMO though.

  • Excellent work! Just downloaded it and it worked well. I like how you in-lined the library code so folks don't have to mess with custom Python builds.

    Used Constructed 0.99.86.

    I think this should be .99.84.

    btw.. I stumbled upon pysage today which is a Python tool on top of pyraknet. May be worth a look.

    http://code.google.com/p/pysage/

scidave's avatar

scidave

Member since 4 Jul, 2009

Twitter
scidave has 1 followers

Trophy Case

  • 15-Year Club
  • Email Verified

Progress

16/44
How to earn trophies