nimos100's Recent Forum Activity

  • Not really sure i understand what you mean, but the way i make UI elements such as an inventory screen, is to design it using whatever is needed and place it outside the play area, the exact way I want it to appear on the screen when the player opens it, Then ill put it on a layer normally named "Hud" as its the layer with parallax of 0,0, and then I pin all the elements to the background (A sprite or more commonly a 9-patch) of what controls the particular UI element during start of layout.

    After that I just make a simple function that will either hide or show (Move off screen / on screen) the element when needed. If I need the UI element on more layouts, I simply make all of it global and include the event sheet that controls it.

    So whenever you have to use the hud, I just make a call to a function "Show/hide inventory" for instant and it will automatically switch between showing or hiding it. Which can be done with just checking whether its "On screen" or not. And in the case that its going to show the "Inventory" in this case, I would hook it up to whatever would be needed when the inventory is shown. For instant load all the items carried, calculate weight etc etc.

  • [quote:25tdsuvr]And that would work with the expected performances ?

    You would most likely get a bit of performance increase I would guess. But still your program would have to keep track of all the objects.

    With a tilemap you are working on 1 object containing a lot of tiles, but it is still one object and the benefit of that, is that you can assign a tile graphic which can be a lot smaller than the actual tile object. Meaning that you could make a tile object be 5000px x 5000px with 500x500 tiles of 10 by 10 pixels. And still maintain a near zero performance impact, due to the graphic it self not being more than an 1024x1024 image, and reused for all the tiles.

    However the more loops you use to go through the tilemap will ofc have an impact as its still a lot of tiles. But comparing the tilemap in this case, which would be 250000 tiles all in 1 object, to have 250000 objects, which C2 would have to keep track of, the tilemap solution would work, where as the object solution would most likely kill your program performance. So I think regardless of how you organise your objects, you will never get the same performance as with a tilemap. And the more things you do that involve your objects the worse the performance, which I would guess will decrease rapidly, ofc depending on the amount of objects.

    In my game Dragonhelm I think it uses a tilemap with around 70000 tiles for the world map which I do some generating stuff for at the beginning of the game, but its almost don't instantly and have near zero performance impact on the game it self afterwards, since its just 1 object and I don't have to loop through it all the time.

  • Have seen you answer other questions on the forum, so know you are not completely new to C2, so thought you could use a little challenge, Cheers

  • I don't want to give you the exact answer, but instead give you a hint, that can help you figure out whether its possible or not.

    Right mouse click....but where?

  • Also its probably better to create it when you need it, so you don't have it around when not needed, like so:

    On collision with Enemy
           Create Object txt_Endgame at position (X,Y)
    
    On click btn_RestartGame
           Destroy txt_Endgame
    [/code:3nmhilh1]
  • I actually had this problem as well at some point, which also killed one of my games. However you can add the effect to the layer instead of the objects. That will improve performance by a lot.

  • Yeah you just have to install it to wherever it installs or where you want it. C2 will figure it out automatically I think, well at least if you use the normal install path. Then you will be able to use it as preview browser in C2 and add the nodeWebkit object to your project as you would the mouse controller.

  • Not really sure why it doesn't have an unfocus. But a way to workaround it, which is not pretty, but works is to make a button offscreen, and in the "On slider changed" you add "Set focus button " and then "Unfocus button"

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Definitely not all that much into mobile apps, but I do believe I have read that there might be problems with those UI elements, such as button and sliders etc. As they are not like a "normal" objects, but are form control elements or at least they used to be, but not sure if that's the case anymore. As you normally wouldn't be able to draw anything above such objects, but it doesn't seem to be the case anymore. But regardless I would assume it still have something to do with that anyway somehow.

    Edit:

    You cant draw above them, just me not thinking straight

    So they are still Form elements and will always go to front, which will cause problems now and then, that's why you normally don't use them for anything except testing purposes, I would say.

  • [quote:1g1acwui]Thanks for the information. It sounds like C2 would let me get something up and running faster than Unity, and is capable of everything that I want to do - it just will come down to how I choose to implement things.

    I have only tried unity a few times, so whether its faster for someone that knows how to use it, I don't know. But at least to me it a lot more confusing and so many small settings you have to change and in general I don't really like Unity user interface, think its a bit messy. But since I like making 3d, the 3d capabilities of Unity is what makes me try it once in a while...with no progress

    But you are correct that C2 is very fast to do things in. If you get a hold of just the basic idea of how it is structured, you can make things extremely fast, which at least for me is one of the reasons I enjoy using it, and also because I actually think some of the best games ever made are 2D/Isometric games, so the fancy 3D graphics are not that important. For instant Minecraft is probably the best 3d if not best game ever made I think and its graphic is not exactly top notch, but guess that's a matter of taste

  • [quote:3szfohda]3) Populating text for in-game displays (e.g. messageboxes) from a .txt/.xls/etc "master" file (rather than text being entered individually per-messagebox)

    There are several ways you can do this, some which have already been suggested. But also there are stuff like arrays, dictionaries etc. That you can use to populate message boxes and just add certain conditions to how and what to load.

    [quote:3szfohda]8) I'm putting this at 8 because it isn't about what C2 can do as much as it is about organization within C2. I saw a topic that said branching stories are a pain to create in C2 because of interface limitations....

    The tools for working on big projects are somewhat limited. Not meaning you cant do it, just that you have to be very organized yourself as things can easily get messy. And not having the best tools for navigating around loads chunk of events etc. Can make you have to spend a bit of time finding things. However improvements have been made so its getting slightly better, but at the moment I don't think its at a point where I would say that its very good for big projects, more that its possible depending on your own effort of organisation within your project.

    [quote:3szfohda]This is crucial for me, as conditional dialogue trees are the most important element of the vast majority of game concepts that I have.

    C2 is very flexible regarding how you want to do things, but there are no build-in functionality that does this for you in an easy way. But you can make one yourself by clever design of your program. At least if I understand you correctly, so you should be able to make a good system for handling such thing. I would be surprised if you couldn't, due to C2 at least.

  • You can calculate it like this.

    Since you have the Width in your array, you can use those values instead of the width of the sprites, otherwise you can store the last created sprite width in a variable, together with the total width of the boxes so far. If you need to make a dynamic solution rather than a fixed one.

nimos100's avatar

nimos100

Member since 23 Sep, 2012

None one is following nimos100 yet!

Trophy Case

  • 12-Year Club
  • Coach One of your tutorials has over 1,000 readers
  • Educator One of your tutorials has over 10,000 readers
  • RTFM Read the fabulous manual
  • Email Verified

Progress

16/44
How to earn trophies