TheRealDannyyy's Recent Forum Activity

    Guys please stop right now, this topic is really important and I would like to keep it!

    "Flamewars" get topics closed, Ashley did already proof that a few days ago and this looks like the start of one.

    Don't get too personal and if you still have any concerns or things that you want others to know about,

    create a new topic in either THIS C2 related general forum or in THIS open topic for pretty much anything else.

  • Hi guys

    Would it be possible to wrap (using Cocoon JS or another wrapper) an entire website (including C2 games) as an app for mobile?

    ...

    I think it would and you should have a variety of options if they still work:

    The 1st option would be the use of THIS plugin called "IFrame".

    With that you can load webpages and do other neat things, you should watch out for limitations though.

    The 2nd option would be to use the browser plugin or run javascript code to go to a website at the start of a layout,

    you might have to include the "webbrowser" cordova plugin (easier than it sounds, trust me on that regard).

    I remember these working for me about ~2 years ago, so there might have been made breaking changes.

  • Ashley has now stoop so low as to use other people accounts to defend himself and Tom. Ashley uses a 2 year old account to defend himself look

    I responded like this...

    I'm begging you to stop spreading content from other topics.

    Moderators might see this as spam, so please stop for your own good before you get banned.

  • Honestly start learning unreal with blueprints or unity with play maker. The ship is sinking here fast. Tons of bugs with no resolutions.

    You seem to change your opinions rather quickly, I remember a few days ago you were full on defending C2.

    Anyway let's not start talking about that mess again please, just continue in the polite and normal way like we do right now.

    I would like to not trash this topic with a lot of posts, so we can still have some sort of clean overview of the topics main concerns.

    I hope you and the other guys here understand that.

  • We should get a guy from Intel in here that should investigate this bug shall we.

    xmnboy any idea what's wrong or the cause for this issue?

  • That's why I meant by custom loading screen - the one made of sprite, spritefonts, text, or whatever you need... just to show that something is still going on at the background.

    I get it, so you mean something like a "fake" loading screen. Well it's better than nothing I guess.

    Thanks for the idea.

  • For the new people who just joined , us veteran developers already figured out developer "Cranberry" is really Tom and Ashley in disguise a long time ago.

    Yep, there are a lot of amazing JS devs out here that save the C2 developers lives on an almost daily basis.

  • You could do your own custom loading screens. Remember you don't have to load everything right on the start of the layout. You can make it in stages.

    Maybe one day in C3 we would get an option to stream levels

    I have a startup loading screen but that is not my problem.

    My problem would be the "rendering" into a layout which also takes quite a while on PC's with low/medium-end hardware.

    So this "rendering" into a layout would require a loading screen that C2 doesn't offer I guess?

  • I've also made this as a comparison.

    Browser : http://img4.hostingpics.net/pics/941245 ... rowser.png

    NWjs : http://img4.hostingpics.net/pics/318128profilenwjs.png

    Electron : http://img4.hostingpics.net/pics/784276 ... ectron.png

    This is not very relevant, but it's a small test.

    That's good, always nice to do measurements, I'm sure that Ashley will like this one too.

    I recommend to provide everything, from the source code to detailed debug information.

  • Hi guys I know most of you have had many problems with NW.js and are getting fustrated. I was wondering if anyone has used alternatives like this Electron ...

    Don't get me started with NWjs issues, I constantly hope for updates that fix bugs and don't add new ones.

    Any bug that I experience mostly gets blamed on chromium/nwjs by Ashley and in return they are blaming it on the game engine, leaving me in an endless loop with nothing but frustration and literally no progress being made. (I end up with dropping the feature for 90% of those cases...)

    I think for 2016, Electron beats NWjs in a lot of different factors but see and judge by yourself HERE.

  • We have a method to help with bottlenecks on large layouts with many static objects.

    I believe you mean "render cells" right? In any case I guess I will use that on my static background layers, I have 3 layers in total with different parallaxes for the illusion of dept. I hope that parallaxing doesn't turn the essentially static layers into a dynamic one or does it?

    This is kind of pointless cause everything that is not visible on screen is not rendered, so setting a layer to invisible for objects that are not rendered have no point at all.

    What exactly does this mean though?

    For my understanding this would mean that C2 games load content like the old Super Mario games did?

    For this one i think you are over complicating things a bit. All you have to do is store important stuff in arrays, dictionaries or whatever - which are global objects

    There are a ton of instances and things that I have to consider though, besides the fact that I also have to sync it up on the connected peer.

    I think for me this would be a pain to do, I'm not really good with "predictive" eventing that contains content from a lot of different instances.

    My game can only use solution 3, as it is a big game world with an emergent "ecology".

    There are some "persistent" objects which are destroyed / recreated based on camera position (happens on a timer, i carefully tested the trade-offs).

    All in all, if you know how to use timers and don't exceed with webgl effects, the main issue is number of objects, as we all know...

    quote]

    #2 is the safest method but you lose your "world reference" - you have no idea where each layout is connected so you'll have to draw out your map beforehand.

    Sounds like #1 and #3 are just dynamically loading portions of the layout based on zones. This is what I do in the Metroidvania Game Kit and other projects. This works fairly well and performance is nearly identical to having each zone a separate layout. Managing all the objects can be troublesome later on but I'll take that over managing 100+ layouts with independent layers and properties any day. Only drawback is like you said - the layout sizes will be pretty big. Loading times could blow up on larger maps or games with large graphics. Also you'll probably want to destroy objects and use "recreate initial objects" for unloading/loading instead of just setting their opacity to 0 or whatever like you mentioned.

    My background layers are static as mentioned before and I'm also not using 100 different building/tree sprites, I'm rather re-using existing ones and randomize the frames. So my background does always look different but I'm going a little off topic with this. Also the only weblgl effects that I'm using are bound to a layer that is on top of all others, "outline" and a bit of "noise". I think this was the recommended method, instead of applying the effects to each sprite individually.

    From a gameplay standpoint I would also chose to use system #3, not only because it's easy for me to do but also because I think that gameplay wise it would be better to have a giant game world instead of multiple smaller ones. I think that my player base would complain about the 5-10 sec. loading times, if I would use separated layouts.

    My question is, how could I handle the loading times well? As far as I know C2 doesn't offer any "loading screen" feature, so this would mean that each time when such a giant layout has to be loaded in, it would display a black screen for about 10 seconds or even longer. I believe that a lot of players would think that the game crashed when waiting over 10 seconds for a layout to load it.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Introduction + Minor Request

    Hello there, before fully going into this, I would like to advise everyone that doesn't know anything about this, not to post on this topic!

    I don't mean this in an offensive way, I just want to avoid posts like "I want to know this too!", which tend to make topics like this unnecessarily big.

    Reason + Short Explanation

    This topic is meant for opinions on how to handle large "game worlds" (also knows as "game maps") and their impact on performance.

    For this purpose I've made a poorly drawn example of a typical game world.

    Game World Example (with sections named as "layers")

    Game World System #1 (Layer Based Loading)

    This system would be based on the current players position on the world.

    The layers would have world borders, which would detect on what part of the world the player currently is

    and unload* all other layers that are not next to the current layer.

    *with "unload" I mean setting the layer invisible/opacity 0%.

    Here are some scenarios that should make it clearer:

    Player is on

    Layer#1 = Load Layer #2 + Unload Layer #3

    Player is on

    Layer #3 = Load Layer #2 + Unload Layer#1

    Game World System #2 (Layout Based Loading)

    This system would separate each layer into its own layout.

    That means when the player has reached the edge of one layout, it will have to change to the next layout.

    Using this system also means that the game has to load a whole new layout and pass all the data

    from the previous layout over to the newly loaded one (e.g. last enemy positions, player state and many more).

    Here are some scenarios again:

    Player is on the

    right edge of the layout named Layer #2 = Go to the separated layout named Layer #3

    Player is on the

    left edge of the layout named Layer #2 = Go to the separated layout named Layer#1

    Game World System #3 (Full One-Time Layout Loading)

    This system would be the easiest to setup and basically have every layer loaded as a whole, inside one single layout.

    This also means that the layout will have a giant size of 100.000 or more.

    You could take this system as a lazy version of System #1 but without changing any visibility/opacity and only one layer.

    Conclusion

    Please note that my game is a multiplayer game, if that matters in any kind of way.

    The game also uses HD sprites which could drastically increase layout loading times.

    Which system would be the best performance wise and why?

    Please share your opinion or suggest better systems below.

TheRealDannyyy's avatar

TheRealDannyyy

Member since 30 Sep, 2014

Twitter
TheRealDannyyy has 18 followers

Trophy Case

  • 10-Year Club
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

18/44
How to earn trophies

Blogs