gumshoe2029's Forum Posts

  • We are looking at using Spine:

    http://esotericsoftware.com/

  • what is the best strategy to use database and which database is most suitable to use with multiplayer plugin ?

    In my case I used I used MP with Ajax + php + mysql (it was server intensive game) , so is there is way I can use mp to do communication with server like websocket or Ajax , so it will reduce my overhead of using either with MP.

    I might thing to use mongodb or rethinkdb to use as backend with websocket to make multiplayer for better support instead using MP for my next project, so it is a bet for me.

    Tom Ashley any suggestion ?

    We use PostgreSQL, a custom in-house data cache in memory on the server, and AJAX all driven by Java servlets. Java was selected for concurrency capability and durability.

    In order to reduce overhead between server and client, we use a stripped down version of JSON to communicate data, where we replaced all of the tags with data keys.

    So our data coming from the server looks like this:

    {"0":["494.146","505.616","2"],"1":["504.685","496.818","3"],"2":["499.400","503.440","1"],"3":["498.211","504.608","2"],"4":["495.308","499.463","0"],"5":["496.505","490.680","3"],"6":["498.858","492.868","2"],"7":["505.334","490.110","0"],"8":["496.857","493.231","0"],"9":["505.773","488.897","0"],"10":["504.614","492.411","1"],"11":["513.358","492.846","2"],"12":["508.307","497.187","1"],"13":["512.842","504.548","1"],"14":["504.119","504.817","1"],"15":["510.334","502.565","2"],"16":["505.632","504.527","0"],"17":["507.403","505.337","0"],"18":["508.531","507.744","0"],"19":["509.322","508.887","3"],"20":["502.126","510.670","0"],"21":["503.625","509.856","0"],"22":["499.366","511.583","0"],"23":["501.102","507.602","2"],"24":["509.805","513.852","1"],"25":["503.473","519.109","3"],"26":["502.520","509.122","4"],"27":["500.128","518.697","0"],"28":["502.275","512.740","1"],"29":["496.815","513.783","2"],"30":["490.549","514.874","1"],"31":["495.223","513.865","3"],"32":["492.194","513.550","0"],"33":["489.541","513.698","0"],"34":["492.471","509.486","1"],"35":["496.760","511.117","0"],"36":["493.857","518.666","1"],...[/code:2labvb3b]
    Then we have metadata standards on both ends (in the API document) that interpret the data.  This helps to reduce the number of characters being transferred between client and server, and allows us to ship huge amounts of data for very little space.  We also make full use of the gzip protocol between the Apache gateway webserver and the client browsers.
    
    The risk in doing it this way is increased ambiguity and errors associated with that.  On the whole though, this strategy has worked for us.
  • Lol! This is what a lot of my days look like... debugging other people's insane work. It helps if you can find good open-source libraries.

    I am like you though... finished with that nonsensical school thing and now teaching myself how to do what I love.

    My time spent reading forums/StackOverflow/blogs, I claim is to let my subconscious mind chew on the problems that I have to solve. I like this forum because it feeds my ego/sense of altruism.

    What program is that you are using to record your time spent?

  • can we learn more easily a standard languaga like c, c++ or java if we are good with the construct 2 logic? is that the same logic?

    I am actually testing this theory right now. Our client developer has very little experience in formal programming languages, and so far he seems better able to understand the server-side logic (written in Java) than before his experience with C2.

    So, I would say yes.

    There are some major differences between Java and JavaScript (C2 is based on JavaScript; which is a sub-piece of HTML5) though.

    Firstly, is the asynchronous nature of JavaScript, e.g.

    line 1;
    line 2;
    line 3;
    [/code:lph4dudg]
    
    As you execute JavaScript code, it may execute in the order 1, 2, 3; or 2, 1, 3; or 3, 1, 2.  There is no guarantees on the ordering of execution, so you get weird concurrency errors when you start fiddling with global data objects.  In Construct, I have found that the items in a single Action section execute synchronously, while the events themselves are all executed asynchronously.  This phenomenon is the source of probably 20-40% of the posts on the questions in the "How Do I?" section.
    
    [url=http://rowanmanning.com/posts/javascript-for-beginners-async/]This post describes it further.[/url]
    
    Java (and most other formal languages) are synchronous by default, and you have to jump through hoops to make things run in parallel.  But in the code example above in Java, it will always execute 1, 2, 3.
  • I will second the customizability and the game's ability to respond to and accommodate user styles. That is the holy grail of gaming, imho.

  • Some of my bookmarks:

  • I borrow from the best. FATES is amalgamation of Master of Orion II and Lord of Ultima with a bunch of new features added to both ends.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • No, it should be a config thing in Google play, because the timeout is controlled by a server setting, not the HTML.

  • > The next question is, how to retrieve the date time in an easy to calculate way that allows me to easily calculate how many 24hours have passed since last launch ?

    >

    Do you care if your date and time can be manipulated by users? And do you need to translate these times between users or do you only care that a given user can see his own time played/last time the client was updated?

  • I don't think you can avoid hacking in a local HTML game, even if you store it in memory.

  • You need to have a server system that stores and manages the variables for all of your games. Like something in PHP/Python/Java Servlets.

  • Maybe use an invisible "lineOfSight" sprite and do an overlap check?

  • I think you are as close to efficient as you can be... assuming I understand your description completely.

  • Construct is designed to prevent exactly that. Especially if you used obfuscation of the raw JavaScript.

  • It does not run randomly in the field. It bounces at very specific angles based on the horizontal position that it strikes the vane at.