jayderyu's Forum Posts

  • I think I mentioned this is your first post about images. Yep. I agree. Assets should be based on what's imported and managed by the developer. and not managed by C2. That way editing is done in the folders. I really don't like C2 asset management. I know supposedly you can, but due to how C2 organizes and names and stuff. It's all a pain.

    I agree. There are a few key developer components that need to be tackeled. And they aren't.

    Modularity

    Asset management

    asset store

    Whatever order you want to put it in. however we have seen tile editor, multiplayer, shadows and all sorts of other additions and fixes since a poll was held about 2 years ago. And out of of all the actual productivity features wanted. only improvements to UI and the Debugger has been done. none of the others. sigh.

    In C2 until asset management is better by being more fluid. It's best to use prototype fillers. then add the finished assets at the end.

  • huh... works for me fine in CocoonJS. the problem was previously CJS didn't have XML support. However Sprite moved to JSON a while ago. Providing the wrapper has JSON it's good to go.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I think it's working as intended. I heard about non duplicate frames. But I've never seen it. I had someone give me a classical animation sprite sheet(as in all files in a directory). and that's duplicated frames... alot. I've heard of non duplicate, but I don't think it's based on image checking. I think it's somethign else.

    I wish C2 went to image atlasing and used refences for sprite images to use. Including cycles.

  • I agree on how the images are handled. I think art should be in an asset directory. Your sprites reference teh file you drop into the folder. That way it's far more intuitive for artists to just jump into the folder, edit the image and boom it's done. No need to re-import. C2 image handling is counter intuive for team design and larger games. This design leads to working on the idea of finalized assets rather than itterative. This also include audio.

    Non C2 using developers should be able to just edit files in a project folders. sigh oh well. There are few work flow features and few community features that are always going to hold C2 back from being a defacto engine.

    With all this C2 more than any other tool should have an Asset store. Considering that this is focused to include non programmers an Asset store is critical to this.

  • Ldk

    I spent about 3/4 months with Maor(on the site) to go from a fine desktop game to mobile. It was a lot of back and forth. And the first element that needed to be worked on was the fact that the memory usage was pretty much killer on the systems.

    I suggest lowering your graphical quality by half as just a start. There are many other performance enhancers after that. Use mono audio can cut audio in half. So unless your game needs stero audio, just mono it.

  • OP. You might want to do some more studying on how the MP works. It doesn't look like so much a bug, but lack of primary network development.

    The container is creating both objects. However based on our design logic there are flaws.

    1. The host only creates 1 Container set(ie both sprites)

    2. The client creates 2 Container sets. The blue sprite is covering the first one and the green sprite is -1000,-1000. This results in the look that the green sprite isn't being spawned.

    Seriously while c2 MP plugin I think is the easiest. You both might want to consider going through the tutorials of just C2 core learning tuts. Rather than jumping into the MP.

    *here are some stuff

    *You don't sync objects to peers

    *there is no peer tracking

    *don't assume that containers fall into a shape. Assume they are off screen. So always make sure to set there position.

    * since the client get's 2 instances and the host gets 1 instance of your object your not handling peer connections.

    I get the feeling there is a lot of guess work going on in this MP capx. I don't see a bug. Just not a solid logic flow and proper use of the MP plugin or C2 moderate functionality.

  • Colludium

    Your right. Unfortunatally. Your using a switch state system to create an object. However part of the problem with this design is variable association and large duplicatio of code. Since you can't reference the newly created object by it's Family UID until after the first tick. So

    OnFunction.Create(TypeX)

    if(param0)

    Create ObjectTypeA

    objectType.var1 = qwe

    objectType.var2 = asd

    objectType.var3 = zcv

    objectType.var4 = tyu

    objectType.var5 = ghj

    if(param1)

    Create ObjectTypeB

    objectType.var1 = qwe

    objectType.var2 = asd

    objectType.var3 = zcv

    objectType.var4 = tyu

    objectType.var5 = ghj

    if(param2)

    Create ObjectTypeC

    objectTypeC.var1 = qwe

    objectTypeC.var2 = asd

    objectTypeC.var3 = zcv

    objectTypeC.var4 = tyu

    objectTypeC.var5 = ghj

    if(param3)

    Create ObjectTypeD

    objectTypeD.var1 = qwe

    objectTypeD.var2 = asd

    objectTypeD.var3 = zcv

    objectTypeD.var4 = tyu

    objectTypeD.var5 = ghj

    Now imagine 20 of those. Possibly even with more customized paramater information. This is an attrocase horrible disgusting way to design a switch state creation. Why because you can't access the Family version of the object unteril after the first tick. And you might need to access by way of first tick. Instead a good design.

    OnFunction.Create("type")

    Family.Type = param0

    System.Create(Family)

    Family.var = qwer

    Family.var = asd

    .....

    and that's it. That would have 20 family objects, 30 family objects. 1000 famiy objects... ok 1000 is far past excesive.

    An alternative is to just make sure we can access the object by it's family ASAP rather than waiting a tick

    OnFunction.Create("type")

    if(param0 = type) Create Type....A

    if(param0 = type) Create Type....B

    if(param0 = type) Create Type....C

    if(param0 = type) Create Type....D

    if(param0 = type) Create Type....E

    if(param0 = type) Create Type....F

    if(param0 = type) Create Type....G

    if(param0 = type) Create Type....H

    ... and then after alll those ifstatements

    Family.var = qwer

    Family.var = asd

    .....

    As it is. It kinda sucks for dynamic object creation. However there is a plugin to do what is requested. Also in the mean time. Just avoid this kind of object family creation.

  • 1) On one you are right. Ashley says one thing("don't worry about managing sprites") but he does do good sprite batching practisies by batching images into single sprites. Often by layer to reduce overdraw on WebGL calls.

    If you can I suggest sprite batching into a single sprite object. And then use a variable and build the SOL by doing a compare on the object var... If your not sure what this is. I suggest going through the manual and some tuts

    2) Well how you presented the information has you sound like your not 100% accurate. The JPG/GIF/BMP/PNG is only a storage model. Once the system unpacks the image into RAM it's all the same. So while JPG could reduce the download size. It's not really going to be a big difference unless you need that bleeding edge download. Most people don't need it. However if you need it. Just take the PNG in the export and convert it to JPG.

  • I believe you can. What you would do is store the samples into an array. I was trying to do this for to build a tone frequency recognizer. Once you have your sample in the array there should be a way to push the data back into the audio system.

    So this is I believe you can.

  • Joannesalfa I did.

    .

    .

    .

    .

    .

    .

    .

    It's pretty meaningless at this point. Maybe in 2 more years.

    "I just got a proof of concept up and running, with enough bindings implemented to show some sprites. The sprites are updated and drawn in JS, with the code being 99% compatible with WebGL. I was used to seeing WebGL games with 10 moving sprites move at 5fps, but this demo shows 10,000 sprites animating at 60fps! More good news is that I managed to whittle down the APK size to 1,3 Mb. Note that the app crashes when it exits, due to the thread not being detached from the VM (you probably won't notice this)."

    No xml,json parsing

    no Audio

    No AJAX

    No everything but graphics OpenGLES binding.

    No standard Java Script compliance. And this is the catch. All this guy has right now is a JS executor where as the Browser API's are not JS standards they are an interface layer. Since his work is 1.3mb it's pretty clear that it's nothing but an application than runs OpenGL and basic JS. However Ejecta already does this.

    There is just not enough here. I suspect this project will dissapear in a few months after he realizes the scope involved.

    Please feel free to watch this project. If someday against the odds this could replace the open source projecta Ejecta.... then again it is open source.

  • And?

  • choose( 0,1,2,3,4,5,6) is also fantastic. Also Choose you create weighted results.

    choose( 0, 0, 0, 0, 1,1,1,2, 2, 3 )

    or

    choose( 0 , 0, 1, 2, 3, 3)

    so on etcetera. However Choose sucks if you need to get a dynamic result. Choose needs to be defined. It's too bad Choose can't be used with an array

  • Why not either do this On Object Created and/or On Startup Layout.

    If you do it on startup for created objects in the layout then it's done on start up(only once)

    For the objects created during play. Then it's on Create so only triggered once.

    If it's triggered under other criteria to do this. Then wouldn't that be criteria specific?

  • C2 supports a psuedo StateMachine naturally. you can activate and deactivate groups. If you don't need code triggered everytick you can deactivate Groups. And only activate them when the criteria is met. wala state machine.

  • The Blue Code game took me 1 month to code. It's 95% of a full Point and Click adventure engine. The quality is I think good overall. Though there are a few bugs and the story and lead was written adlib so that has a few problems. but overall you could potentially build a solid robust full scale game system in 1 month.