HotGod's Forum Posts

  • Arima, In the case of 5,000 events you prefer this:

    3012

    -3013

    --3014

    ---3015

    ---3016

    ----3017

    Over this?

    32

    -32.1

    --32.1.1

    ---32.1.1.1

    ---32.1.1.2

    ----32.1.1.2.1

    The first has no meaning beside counting events. It has no purpose too beside telling someone he/she has an error on event #40,321.

    Your highlight idea is a good start/direction but it lacks the point I was trying to make - a mechanism which will show you how deep your current event is.

    You also forgot my prediction - events will be able to fold in the future. With my suggestion you won't see the mess you mentioned in the 1.2.3.4.5.6.7.8.9 scenario (have you really gone so deep?)

  • I came across this idea when I found myself in a long chain of events.

    When I wanted to check in which sub event I'm currently in I looked at the numbers which revealed nothing.

    I was not in the "main" chain of events but rather deep inside.

    The indentation didn't help much so I had to scroll back up and compare the spaces between the event I was working on and an event which belonged to the "main" events.

    If the enumeration was there I would have know I'm working on even number 14.3 (or 14.c) which than was pushed with the mouse to the main events place.

    In the future when you'll click on event #14 all the 14.1 and 14.2... will be folded into event #14 leaving the next event at #15 (and not #32 for example).

    Makes sense?

  • Would it be possible to change the current Event enumeration of:

    1

    2

    --3

    --4

    5

    6

    --7

    8

    Into something more useful like:

    1

    2

    --2.1

    --2.2

    3

    4

    --4.1

    5

    Or even this:

    1

    2

    --2.a

    --2.b

    3

    Hope it's not just me that see it more organized/logical/useful.

  • Thanks Ashley.

    After writing this (before reading your post) I made the name-change "trick". After it failed I used this program "DiskInternals ZIP Repair" to fix the file. So far it seems it fixed the issue.

    I didn't think the BSOD was C2 fault. My PC works on the (poor) internal graphic "card". One day I'll replace it.

    I think I'll stop using the CapX option. Putting all eggs in one basket is too risky. I wasn't cool to feel as if all the work I've done vanished.

    As far as I understand the other option works with text files. If I'm not wrong here it's much safer when things go wrong (BSOD, electric failure, Meteor strike, EMP).

    As for backups I agree with you completely but I'm sure you know the Murphy law about backups.

  • I worked on a card game for few days now. Everything worked perfectly till I just added the sound object + added a short sound to the game. It's a sound of a card being flipped which I used before with no issues.

    I also added a .m4a format cause this game is aimed to the iPad environment.

    When I wished to preview the game (as done many times before without problems) I got a blue screen of death saying an error occurred with igxpdx32.dll

    After a restart I can't open the .capx file. It says it can't be open for zipping.

    Can I extract something from this file or does this whole project lost?

    I work with XP.

  • How about Conditioning? :)

    Use in a sentence:

    • I'm conditioning a game
    • The game you've just conditioned looks great
  • Fimbul: You're right of course. the Distance example you wrote about does look cleaner and it will be great to have such Function.

    But I was talking about a less specific solution. When you wish to compare the locations of two objects you won't ask:

    Does (ThisObject == ThatObject). such question doesn't make sense. What atribute of these Object you wish to compare?

    Instead you want to ask:

    Does (ThisObject.Location == ThatObject.Location)

    The same goes with other C2 activities. Removing the .Point or .Location is cool but does present a too specific solution.

    The solution I offered will simply add more flexibility and simplicity to most cases. Cases in which you wish to refer to the (x,y) as one unit.

    newt: This would be great. My point was to offer Self.Point or Self.Location as a more elegant way of referring to (x,y) as 1 entity (In addition to x and y as we have today)

    Hope I made my Point clear... :)

  • I have two important points for reducing formulas sizes.

    In 90% of the time I find myself treating the X and the Y of objects in the same manner. In 90% of the time both parts of the formula (X and Y) get the same treatment.

    When calculating the distance, for example, I get this:

    Distance(ThisObject.X, ThisObeject.Y, ThatObject.X, ThatObject.Y)

    I was wondering whether an introduction of a special word will help the code look more simple/clean/nice. The word can be one of these:

    • Point
    • Location
    • Position

    This will turn the previous line to something like this:

    Distance(ThisObject.Point, ThatObject.Point)

    In more complicated formulas this idea make them even cleaner.

    This:

    Angle(Touch.X,Touch.Y, Head.X,Head.Y)-Angle(StartX,StartY,Head.X, Head.Y)

    Will turn into this:

    Angle(Touch.Point, Head.Point)-Angle(Start.Point,Head.Point)

    It looks more elegant.

    This addition will also show the attribute "Point" in Object Expression. Instead of just X and Y, we'll have "Point". Wish to set position of one object to follow another? Simply set it to follow Object.Point or Object.Position

    People who still need the inner X,Y separation can always use the regular X,Y reference as we do these days.

    The second point I wish to bring up is - Function library. I was thinking it would be cool if people can share their functions with the community by saving/loading functions. This will help bring more power to current creations by using other's functions.

    I already suggested this for objects so why not for functions.

    Such Functions library will reduce formulas and turn the code into something fun.

    The families (Great feature!) made the code cleaner. Hopefully these two points will contribute as well.

  • How about implementing the use of these reserved words:

    • This
    • Other

    These words will help us refer to the object we're examining and the other/s object/s the "This" object had activity with.

    Here's a sample of a semi-code using the This/Other idea:

    cPen On collision with cPen

         Draw a line between (This.X,This.Y) and (Other.X,Other.Y)

    If the Other includes more than 1 object than maybe it can be referred to as an array of Objects - Other[2].X for example.

    This can be shown here:

    cPen On collision with cPen

        For counter 1 to Other.Count

         Draw a line between (This.X,This.Y) and (Other[counter].X,Other[counter].Y)

    This will draw a line between the object and all objects which tocuh it.

  • Have you tried the bullet behavior on the ball?

  • Hi Ashley,

    Yes, I know about the random. This is how I implemented this. I didn't know about the "Open" thing.

    A sprite approach to sound/s can be a cool thing. Imagine each sound as a "Frame" in the SoundSprite. This will solve so many issues like:

    • Play random "Frame" in a soundSprite
    • Play next "Frame" in a soundSprite

    It will introduce more sound logic into game creation. (No pun intended)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • As I work more and more with C2 I get the feeling the graphics is winning most of the attention over sound in the graphics/sound battle.

    Here're some point I think deserve some attention to make the sound side stronger in this everlasting battle between graphics and sound:

    • "Reload all sounds" is a must. It will save tons of time and keep the event sheet cleaner. Currently after 12 sounds the first page of the event sheet looks bad. 12 lines with the same "Preload this" and "Preload that". A single "Preload all sounds" line will make everything look and feel super professional.
    • I got some messages complaining about he sounds being neglected in the iOS environment. A sound can only be played when the user touches something. This is bad for game creation and from what I read can be bypassed by some sort of sound fonts. If this issue is not solved the iOS games are out of C2 reach. One can't create a space invaders where the alien explodes and a message appears "1 alien has exploded. Would you like to heat it?"
    • A play button should be added next to sounds in the projects window. When I click on a sprite, for example, I do see the graphics. To hear a sound I uploaded I need to go to the directory, find the specific sound file and upload it into a media player. A simple "play" rectangle will solve this issue
    • Play random sound from X. I didn't check this issue but it would be great if sound could be defined into families of their own. This way an action can be added "Play Random - Shoot" which will play a random sound from the "Shoot" family. Play Random "Explosion" - will sound a random explosion from the list the user defined as explosions
    • Is there a reason for showing the ogg/wav duplication in the projects window? I don't see the same happening with the jpg/png case. If I upload a sprite named "Shell" I only see the word "Shell". I don't care much if it's a jpg a Gif or a Png. If I want to see which file format it is I simply go to the sprite editor

    Ok, that's it for now. Next week I'll have an iPad2 under my control so I guess I'll have more to add.

    From my looong lists people might get the impression I don't like C2. For those who get this notion I have to emphasis I love C2 and I'm very pleased with the rate of changes/enhancements/upgrades this great tool gets.

    Keep up the great work!

  • Tom, I assume that people who purchased a license, created a game and uploaded it to the arcade belong to the "good" people. The percentage of evil dowers among them would be very low (if not zero).

    If you're afraid of malicious AJAX code than the best way to go is create a separate DB for the arcade or even put it on a different IP/Server/Domain.

    This way if the evil dower succeeds in doing something only the arcade part will "suffer". This will be fixed easily by simply restoring a backup.

    I really think the AJAX is an important part of web oriented games.

  • Ok Tom. Thanks!

  • Kb...

    C2 is more stable than I wish for. I never mentioned stability in my list.