Davioware's Forum Posts

  • ok ... is there an converter from blender file.blend to json tree .js file u know of ?

    go to file -> export -> .obj

    the "include UVs" box should be already checked. That's all you need.

    [quote:abmx14hg]i think he means that in blender internal rendering system (cause in cycles i think after 2.71 will be bake option available) you have to bake your uv textures.

    You do not need to "bake" anything in blender. The material applied in blender doesn't matter either. What I was saying about baking before was with regards to geometry. Multi-part objects which don't need to move seperately should ideally be a single mesh with a shared texture for performance reasons.

    All you need to do is make a texture, and then UV map your mesh to it, for that there are countless tutorials on youtube.

    [quote:abmx14hg]Imagine developing a 3D editor plugin for C2

    There is no need for this (although it would makes things slightly easier no doubt), anyone can code a 3d scene editor in construct for their game, and a corresponding loader to use the saved scene files. The complexity and design of the scene editor would correspond directly to your game's architecure.

  • Also, how can I use multiple textures on an object? For example, most buildings and people have textures for certain aspects of the model

    Texturing should be done at the mesh level, with UV's exported as part of the .obj file. That's the way I did it in the tiny tank demo, and the way it should be done for any game. A single .obj mesh can be comprised of many geometric primitives, all sharing the same texture.

    You need to UV unwrap your mesh, then create a texture which contains any graphics you want (all in the same image), then map the individual polygons to the respective areas on the texture map. This can be done in most 3D programs. (I recommend blender, it's free) Alternatively, you can create multi-part objects on the Q3D level (instead of the mesh level), which each have their own materials. This isn't optimal though (and should not be done in any real game): it's highly recommended to bake as much geometry as you can into single meshes, to have minimal separate objects on the Q3D level, to minimize cpu bottlenecking.

  • They'll be coming soon!

  • Hello,

    One more question, please...

    if i understaind correctly... i can chose layer for Q3D?

    eg.

    layer 0 is C2 then

    layer 1 is Q3D then

    layer 2 is C2 ?

    and Q3D is only on one layer... it can not be on two separate layers?

    Thanks!

    You can do that, but there will be a performance hit because it has to copy the Q3D canvas into the C2 canvas. The other modes are faster (putting it either in front of the C2 canvas, or behind it.)

  • This is simply a problem with your logic. Pressing a key will trigger all keypress events during that frame. It's necessary to have some understanding of the underlying engine if you want to truly understand what you're doing. For example, the event sheet runs top to bottom, executing code. If you place the event where it gets sets from 1 to 2 before the event where it sets from 0 to 1, then it won't get set to 1, check if it's 1, then set it to 2. It will check if it's 1 (it's not), skip that event, then set it from 0 to 1, and the frame will end. Then, next time you press it ( on a different frame), it will set it from 1 to 2. However, if you want it to loop back to 0 (like, 0,1,2,0), then the problem still exists, and can't be fixed by code order. The true solution to this problem is to create a new variable (call it "lock"), and set it to one every time you change your counter. Then, only allow the counter to change if the lock hasn't been set by another event in the same frame. (on keypress AND if lock equals 0). Then at the end of the code, set lock back to zero to prepare it for the next frame. With this solution, only one event can ever fire in a frame, and the variables wont cascade from a single press. But here's an even better way, don't use two events at all! Simply set the value to: (value+1)%(maxvalue+1) , where max value is the highest number you want the counter to reach. This makes it so every press increments the value, and then it returns to 0. (0,1,2,3,4,...,maxvalue,0,1,2,3 etc)

  • Art is subjective, but it can be shown that game making is analogous to painting, thus is considerable as art. The game making activity is reducible to the painting activity. Smeared paint, on a canvas, is considered art, by most people, if thought went into the final product to make it represent something (either figuratively or literally). Painting walls a single color, as a job, is not considered art by most, but painting an image is. Replace paint with text,images,sound,movement. The artist now smears text,images,sound and movement over a blank sheet (programming can be considered his brush), and the end result (the game) represents something other than the items (or medium) used, just as a painting represents something other than the colors (or paint) used. Thus, the final product (the game) is simply a more complex painting, and it is shown that an unknown artform is reducible to a known and respected artform. QED.

  • Not terrible, but a little too many FL presets (recognizable ones at that) for my liking. Also, focus more on getting instruments to play nice with each other. Right now, they're slapped one on top of each other with little regards to volume. Keep practicing and you'll understanding more as you go along.

  • Actually, a simple converter was made a long time ago. Not sure if it still works, but I'm sure it could be vastly improved now: scirra.com/forum/experimental-cap-to-c2-converter_topic42194.html

    Even a layout/graphics/animations only importer would be hugely helpful.

  • 3 seconds per frame is 0.33 fps, Vs 3 fps. That's not 100% faster; it's 10x as fast; 900% faster

    4fps VS 9fps is over twice the speed, over 100% faster.

    it's not 30-100%, it's more like 100-1000%

    That's a huge difference.

    Did you make sure to set collisions to bounding box as well in both c2 and cc?

    Also, more work CANNOT be done per frame at low fps, assuming rendering always finishes first; It just can't spit the logic out fast enough. Rendering finishes in a fraction of the time, and the cpu is just chugging, trying to finish calculating the event sheet.

  • Take care! You've been such an incredibly helpful member of this community, and like Tokinsom said, provided such helpful .caps to everyone with questions.

  • Since all the oldies are posting I thought I throw in my 2 cents.

    I love Construct. Both Classic and C2. They're both amazing projects, and it has been such a joy to watch them grow.

    C2's IDE feels so damn snappy (apart from the image editor). It's a joy to work with really, even though I've only used it for a few hours so far. The one-click expression editing that classic had is missing at the moment however.

    What bugs me about C2 is the lack of a few key features.

    -Audio: It's not C2's fault, but let's face it, the audio support is bad in HTML5. You can't change the frequency of sounds the same way that Xaudio could , and I used that feature like crazy. (last time I checked it just made a horribly crunchy noise on chrome, the browser with -supposedly- the best audio support)

    -Color filters: it requires an effect, and 3 actions to change a color filter in C2. Not the end of the world, but I really liked that color filters were an integral part of the rendering engine in Classic, with 1 action call. And with no shader performance hit, it allowed you to recolor everything, at will, effortlessly. An enormous plus. Furthermore, Since webGL on mobile is iffy atm, then color filter support in C2 is doomed to modern pcs with FF and Chrome only, perhaps an equal fate to being windows only. Since a game's design and look can depend entirely on color filters, running the game without the effect is not an option.

    -Per pixel collision: Not having this cuts out a lot of potential games.

    -Slower code performance: Sure, C2 might be able to pump more raw poly's, but what happens when each of those objects has 10 collision checks and 50 conditions per frame?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You would have to add a new event with each new sprite you want, but how is that different than adding a new entry to the array?

    If you're concerned that picking the i-th slot in an array would be marginally faster than checking a variable x amount of times you can go a bit further to "optimize it" to be more array like. Note the use of quotations to signify that it may or not be any faster. It might even be slower. Here's how:

    you can use the function object, and have calls like:

    on function "arrayslot1" -> spawn a

    on function "arrayslot2" -> spawn b

    etc.

    then, to create your random object, or object of choice, you go:

    i=random(10)

    call function "arrayslot"&i

    (& is the concatenation operator in construct)

    This eliminates the need to check a variable x amount of times.

  • You can set a variable from 0,10 then have sub-events like:

    var==0 -> spawn a

    var==1 -> spawn b

    etc.

    I just checked the manual and found this also,

    General

    Create object

    Create a new instance of an object type on a layer at a given position. If a Family is chosen, a random object type from the family is picked, and an instance created for that.

  • You'll have to make your own text system if you want to use animation frame based text. It's not that hard with monospaced fonts, but it can get tricky if you want proper wrapping. Have a "base sprite" to serve as a bounding box, then give it a few text variables. Have one var for the text, and one for the currently drawn text. When the draw variable is different to the "text" variable, get the first letter of "text", draw a letter sprite with frame equal to text value, increment the counter, and link the letter sprite to the base object by uid. The wrapping is a bit more involved, but it's simpler if you don't want active wrapping (which means you can resize the bounding box after the text is drawn, and have the words wrap as you resize.). Bonus with this is that the letters can do individual animations like wobbling and stuff.

  • That sounds strange, and seems unlikely to be the cause. Are you sure it's not a kongregate thing?