jayderyu's Forum Posts

  • I find the questions and help requests that get "ignored" are the ones that have been asked within the last week or questions that come up so often that even the simplest search would fine.

    I have seen on a few occasions where the same question was in fact on the first page. There is a certain point where if an individual can't be bothered to do simple research. However as many point out this is an active forum. Research is a programmers best friend is a big chunk. If a question is that simple that there is no research done... well...

  • This is a small post. One of the major designs for DOL is run on mobiles. Including being playable on my A500(Tegra2) for now. I may not hold to this in the future. However one of the simple eye candy was a simple rotating background. For anyone who has tried the demo you will have seen this.

    Well this was achieved by a large sprite with the Rotation behaviour. And I am kinda surprised, but I shouldn't have been. Doing trig mathematics is expensive, doing trig every tick hurts performance. We can just ignore this on PC. However weaker devices are another matter. We need to avoid trig or use trig only at required intervals. Rotation uses a lot of trig.

    So here are the tests on performance. Control where nothing is rotated, Rotation Behaviour(1angle/sec), EveryTick and TimerBehaviour.

    Control(Nothing): 60FPS, 10%CPU

    Rotation: 30FPS, 45%CPU

    EveryTick(0.033): 60FPS, 22%-30%(25)

    Timer(0.033): 60FPS, 22%-30%(25)

    Rotation calculates everytick doing trig mathematics. It's too expensive. Best to avoid Rotation if you plan on hardware from -2012. Lesson. Don't use Rotation Behaviour for mobile. It's too expensive.

  • Ashley beat me to a reply... again

    As a rule of guide most games don't do object syncing for networking. They work by instructions which is the more common way for non player entities. You best bet is to use a controller that gives physics objects instructions. however I would be concered with latency and Fixed Time step. You may need to tinker with a network timestep. This would be modifying the two main physics simulation values on certain perodical increments.

    The other method is to do Ashley suggestion. Where Physics are controller on one computer and the position state are then mimiced to the others.

    In Roblox which is amazing engineering for network physics. Roblox uses a model where the nearest player to objects has authority of the physics and handles the simulation. They send the results to other players who then follow suit of the simulation. Then the simulation is updated by the authority every x period of time and updates the others who are not the authority. This model however will require you develop spacial tree's of objects.

  • I would love an Ejecta test platform. However it really only is a bridge interpreter. Some one may have done a mod, but not in it's base code can it pull and show games. So for now your going to have to Export, build, test. Rather than Push/Pull testing.

  • Ejecta is not a browser at it's heart. All Ejecta is, is an api wrapper and JS interpreter. Ejecta is no where near a browser.

  • Hell yeah. C2 is sooo easy to make games in I'm so glad they started MP.

  • I knew about Indiegogo and I consider that a backup. However Kickstarter so far has seemed better results for games. Indiegogo so far seems better for everything but. However I'm not claiming that as absolute.

  • I want to include it into another app I create. Its a normal windows app and it contains a browser object. I want the C2 game to run inside the browser object in the windows application. It will be used to show some images/banners moving along the screen and its much easier to animate objects with bullet behaviour and wrap (+ effects like particles) with C2.

    Your custom app. Does it contain a FULL browser object or does it contain an HTML View?

    These are hugely different. Java has an object that supports HTMLView, however that's it. It does not support JS interpreter. let alone tons of other browser features that C2 uses.

    Unless your core app is about 20mb, then I suspect your app your making has an object that only handles HTML5 display. There is no way that is going to work. I found in my prior experience of wanting to use HTML5 and JS as an embded UI instead of standards uis. Was that most embeddable HTML5/JS objects were not full browsers.

    Can you provide a link to the source for your Browser Object?

  • Disagree with you...

    A) Never said C2 would be included in subscription. That is a pay once, get liftetime updates

    b) According to the blog post, the multiplayer plugin will be an additional subscription fee.

    Call it a paid extension.

    c) It makes no mention of signalling server. It clearly states it will be for he plugin itself.

    [quote:qhbn1a41]a low-cost subscription for the full version of the multiplayer feature upon its final release. This is planned to support extended features, including player logins and data storage (e.g. for players to accumulate inventory, achievements, ranks or experience points in a multiplayer game), leaderboards, location-based matchmaking, and possibly relay servers to help connect users who are behind extremely restrictive NAT and would otherwise be unable to connect

    The subscription for the multiplayer plugin will support developmental costs (past and future).

    And I'm totally good with that. As for A) I didn't specifically say you were saying that the cost would be part of C2 and thus C2 subscription. I was saying that the grammatical implication indicated as such.

    Thanks for quoting Ashley's comment. However as I previously mentioned. The subscription charge will be for the signalling server. As your quote points out "Inventory, Achievements, ranks, XP...." must be stored on a dedicated server. This dedicated server will be Scirra's server and not MP functionality accessible to personal dedicated servers. If you could host your own server then there would be no need for the cost. However I'm pretty sure there would be no access to inventory, achievements, ranks, xp.

    However and this is a big point. It seems that the plan for the MP Plugin has changed. Where as in the original posts that Ashley made; the MP Plugin will allow us to write our own signalling server to use. This however seems to have changed. Instead Scirra aims to provide the server for us at cost(which I'm ok with). We can technically reverse engineer the messages, but eh I'm not up for it. Paying tiered connection scale is fine by me. Saves me a lot of hassle.

    So if MP is built to only interact with the Scirra servers. Then for the most part they are one in the same. However as Ashley points out in the last post. Scirra is in there rights to maintain and make money off hosting hardware for us to use. So At this point I get the feeling that your seeing the cost is on the Plugin, where I see it as the cost for the Scirra servers.

  • Well an update. Part 4 is on the dev log. This post is an overview of of what I did for Part 4. The good news is that this is also the release that now lets players jump in. It's simple, bug filled, still using ripped art from the internet and the chat is missing. The next step will be to add local room chat and cross room chat along with the chat bubbles. FYI I have not done exterior testing, the dedicated server is running from my computer. So I have no idea at this time when my screen saver kicks in if the server will still be accessible.

    Part 4 Devlog: http://c2.studioryu.net/?p=127&preview=true

  • I've had the same problem. AS of the current build I have been unable to send direct peer messages. I can send to the host by leaving it blank. But once I put in another peer, they just never get it.

  • Hello. I am seeking an artist who can do vector based cartoon style art for a Kickstarter campaign. The purpose of the campaign is to put the game into the few months of development to finish the game. The game is 90% complete but needs a large graphic's overhaul, custom music, sound and some last code tweaking for polish, performance...

    For the Composer

    I'm seeking 1 piece of music apx 1 minute long that loops well. The music will act as both the games title music and the Kickstarter video music. If the KS is funded I'm offering $120. If the kickstarter is funded then the composer will have first choice to finish the game music. At this time all music is is royalty free sources.

    For the Artist

    If the KS is funded $500 of the funding goes to you the artist. However on successful funding the artist will get first option to be the artist for the game.

    If you are also a tween based animator who can use Spriter. I will add an additional $100 for some animations.

    Needed assets

    * Title banner

    * Banners and text depicting each category of the campaign

    * New player Spriter parts to show what a better art quality player will look like animated

    * Stretch goal table

    * Different unique coloured dragon icons to depict the standard colours, but unusual colours like neon black.

    * Logo

    * reward box to put icons in

    * icons depicting goals and rewards

    * couple of other bits I'm likely over looking

    For both

    If it's not funded then I do not have the finances to pay out. This is not a profit share in the sense of percentage of game sales; it just a simple on funded pay. All assets belong to the creator and will not be used in the game unless specifically allowed. Although if the KS is short only by a little another attempt can be made on Indiegogo which would re-use the assets.

  • Arima suggestions works. However I also have a suggestion

    reverse it.

    Panel over Panel Part

    PanelPart.pin to panel

    Also it ***** that we don't have open families. Because you will need to do this for every object type(Sprites, Txt, Spritefont...)

    I already have this panel gui system working.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If your using a single master controller. You should not be using object syncing. Even if you followed Ashley's suggestion of not rendering by making layers invisible. You are still going to be stuck with the fact that all your players will be sharing the same game area. So that means collisions with each other. It's not viable to use 1 Room to host 1000 players among different game zones. Clients can't cope with the massive data in and out and the server will probably buckle too.

    So if your going to use a single room server you shouldn't use object sync. My suggestion is to go ahead and create 1 server host per room/zone. If your planning to have 100 player per zone that's only 1 software app running per room to be a server host and that isn't so bad. Of course you will need to figure another tech to have each room server talk to each other.

    I've started a project based on a similar principles to an MMO although more like Phantasy Start Online rather than WoW. I have a thread running in the WIP and I also have a devlog(my sig). It's a slow burn project for me as I have other priority projects. However I will be putting up the first online stage of development soon.

    The thread is here

  • "Memory management

    This one was interesting. Apparently C2 is the only engine they have trouble with in this manner, and they have quite a few problems with the C2 implementation of memory management. They are convinced that C2 is doing this wrong, and making it difficult for them to do anything. Nevertheless, they did say that they had some workarounds in the works."

    I just wanted to address this. As to why this is so.

    The standard form of memory management is to just release any reference to a variable. This allows for JS engine to garbage collect and clear out the memory. However by letting an automated GC run often produces the in game stutter effect; as often GC is done in batches. To get around stuttering and to better efficient memory use to reduce slow down from memory allocation or deallocation; Ashley implemente a custom objects holder. That way when an object isn't needed any more it sits in back for when it's needed again. Thus no slow down for destroying and creating new objects. The GC is avoided and performance remains pretty steady. An element you wouldn't get if we used auto GC. If you wanted steady performance you would as the developer(not C2/Ashley) would need pre-allocate all your objects and never destroy them during the course of the level and manage them yourself.... more annoying than you want to really delve into.

    Ok. So Ashley implemented an advanced memory manager. However the memory manager requires JS selected memory deallocation commands like "delete". This is because most of C2 plugins run on prototype objects and delete is better fore removing them. So let's see what they do in the next while.