grossd's Forum Posts

  • Does this below make sense:

    In the meantime I went back one version, and redid all changes and now it seems to work. No idea why ...

    Graphics Feature Status

    Canvas: Hardware accelerated

    Flash: Hardware accelerated

    Flash Stage3D: Hardware accelerated

    Flash Stage3D Baseline profile: Hardware accelerated

    Compositing: Hardware accelerated and threaded

    Rasterization: Software only, hardware acceleration unavailable

    Threaded Rasterization: Disabled

    Video Decode: Hardware accelerated

    Video Encode: Hardware accelerated

    WebGL: Hardware accelerated

    Driver Bug Workarounds

    clear_uniforms_before_first_program_use

    disable_d3d11

    exit_on_context_lost

    texsubimage2d_faster_than_teximage2d

    Problems Detected

    GPU rasterization is whitelisted on N4, N5, N7 and Moto X: 362779

    Disabled Features: gpu_rasterization

    Additional GPU rasterization whitelist for field trial: 380694

    Disabled Features: gpu_rasterization_field_trial

    Some drivers are unable to reset the D3D device in the GPU process sandbox

    Applied Workarounds: exit_on_context_lost

    TexSubImage2D() is faster for full uploads on ANGLE

    Applied Workarounds: texsubimage2d_faster_than_teximage2d

    Clear uniforms before first program use on all platforms: 124764, 349137

    Applied Workarounds: clear_uniforms_before_first_program_use

    Using D3D11 causes browser crashes on certain Intel GPUs: 310808

    Applied Workarounds: disable_d3d11

    Threaded rasterization has not been enabled or is not supported by the current system.

    Disabled Features: threaded_rasterization

    Version Information

    Data exported 10/1/2014 1:26:22 PM

    Chrome version Chrome/37.0.2062.124

    Operating system Windows NT 6.1 SP1

    Software rendering list version 8.8

    Driver bug list version 7.2

    ANGLE commit id f4126d2b9eb0

    2D graphics backend Skia

    Command Line Args

  • Hi,

    I ran into a strange problem. I have a large quiz game. When I export it to node webkit, some UI elements don't show up. When I run the same within C2, and withi node webkit browser selected, it works file -- everything shows up.

    Is it possible that the exported node webkit game ran out of memory? While within C2 there is more memory allocated within the launched node webkit browser window?

    I have 8GB of memory on the computer and about 4GB is free ...

    Dan

  • "well, at the beginning of this very thread, you asked for advice on production quality code, and that's what I'm giving you. "

    Indeed, and your advice is very sound!

    thank you,

    Dan

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thank you for your parameterization example:

    There are indeed different kinds of parameterization. The kind that I am referring to are those that act as preconditions in events, and/or use data structures (such as dictionaries and arrays) to allow flexible processing of contents. In such cases, code typically becomes less understandable, since the code deals with exceptional cases, that have to be treated in a generalized manner, and with acting upon datastructures that store relevant data rather than the data itself (it adds indirection).

    To give a simple example,

    Suppose you have an language dictionary set up to deal with multiple languages. So your code "knows" (is designed) how to map the current language setting, say "en", and a unique string identifier, #Game1Greeting, to a language string. All works well for languages until you notice that you have to specifically deal with the gender of the player -- in Hebrew, for example. So now you need to think how to add this additional detail into your code and datastructure -- and it doesn't fit as neatly to the mapping before.

    Its clearly doable but its unanticipated changes you encounter as you learn more about the structures of the game add key complexities.

  • re: "Not possible"

    I agree. With the right parameterization it can be done, but it would involve other tradeoffs, such as larger event sheets and more parameterization -- which makes the code less understandable.

    re: duplicate code

    I surely understand the "evil" of code duplication. However, during prototyping, code duplication can save significant time and cost -- even if i systematically need to make changes across several event sheets -- and I have to do this rather frequently. These event sheets are btw easy to spot since code duplication is only needed for very similar layouts -- such as when "AB" testing layouts ...

  • Many thanks for the feedback.

    re: "You should try to have all of your quiz layouts using the same event sheet, with any differences that are needed specified in the layout in some way. "

    Since the quiz I am constructing has layouts that are significantly different its not possible to have a common event sheet for all. Instead, I turned it around, extracting commonalities to sheets included in all layouts.

    re: prototyping

    There is a key decision that I have made early on during prototyping, which is to focus on prototyping the game rather than optimizing code, including code reuse, unless absolutely necessary. I rather duplicate code than write parameterized code.

    The reason is simple, debugging parameterized code is hard and one spends a lot of time on this, while at the same time, what really counts early on is working out game ideas that work. Also, as I add new game ideas, new flexibility are identified that are needed in parameterized code -- which further complicate matters.

    What is your experience when trying out new game ideas?

  • Thanks Indie,

    Here are some examples of what i am thinking about:

    1. Internationalization

    My quiz needs to work in more than one language. At this stage I developed a simple but not too efficient solution for that. What do professionals do in cases like this.

    2. Dealing with common pre- and post- processing during each game segment.

    In the quiz there is code that needs to run before and after every quiz screen, example, to start and end timing the quiz length of time. I am currently using a call back feature and include sheets, and a guideline how to construct a main event sheet (always e,g, include eventsheet pre-post). Are there better ways to do this

    3. Global variables

    It turned out that I have a lot of global variables. I am not sure this is good practice. Do professionals avoid global variables, if yes are there different techniques for that (i know of static local ones, is this used extensively)?

    4. etc.

    there could be all kind of additional issues that professional C2 developers know about and deal with in a production environment -- i wonder what those are ... what makes product code different to prototype code ... thats my question

  • Thank you Indie.

    Although I mentioned database, my concern is also C2. How does production code in C2 look like. What are the issues professionals deal with when creating production code.

    In terms of database, i am thinking about linking the game to Wakanda backend, a javascript based NoSQL database -- possibly by creating a plugin for database services. The database would store game behavior data of each user, as well as user profile details.

  • Hi,

    I have been using C2 so far for prototyping quiz game ideas. I am now wondering, what does it take to develop production quality C2 code / application in general, and a quiz game that includes a centralized database, in particular?

    More specifically, what are the issues that one needs to take care of?

    thank you,

    Dan

  • I was hoping there was a way to include a library from with C2, without need for plugin dev.

  • Hello,

    I'd like to try out TaffyDB javascript based DB. To use TaffyDB I need to add a link to the library in the header tag. Is there a standard way in C2 to add js library links in the header?

    thanks,

    Dan

  • Great! thanks.

  • Hi,

    I am using Tiledbackground to create a sold background color, and am setting text color to contrast well with the background.

    I'd like to allow the user to configure the color pallete for the game. This means that the user can choose a different background color and text color. I couldnt see a way to change color for tiled background only to load an image from a URL. I tried to load an image using the image name only, like in AJAX file load, but this failed.

    Is there a way to change colors programmatically both background and text.

    thanks,

    Dan

  • getting it mixed up all the time

    With your correction my little hack will be even more easily found with google ...

  • Indeed. Working with families allow creating a level of "indirection" - i.e. avoiding the "hard coding" of object types in event and action code. Like this object types can be exchanged, without needing to change any code