Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Nomosoft

Pages: 1 ... 3 4 5 6 7 8
61
Game Art / Look upon my mushrooms, ye mighty, and despair.
« on: April 28, 2012, 09:53:48 pm »
I am the world's worst visual artist. No, I mean it. Every once in a while, I get it in my head to take another shot at making my own graphics. This always ends in failure, but I keep coming back to the well.

This time, I'm fooling around with Inkscape. I would appreciate any critiques and/or advice about the mushroom PNGs I've attached to this post. What should I be doing differently to make my mushrooms more attractive? What do you think of my color selections? Is one mushroom superior to the other? Am I on the right track, here?

Thanks.

62
Looks pretty good, hope you got a decent payday from the sponsor.

63
Game Art / Re: Spriting Everything
« on: April 27, 2012, 03:11:18 pm »
I just want to say, these are awesome and I hope you get all the way to a billion.

64
News / Re: Plans for Stencyl 2.1 - A Better Scene Designer
« on: April 26, 2012, 11:31:47 am »
I downloaded the nightly build, last night, and the inspector, inventory, etc, are already in there, but do not seem to be functioning. Sometimes, the inventory is blank white, even when there are tons of objects in the scene, and the Customize dropdown never has anything in it, so (as far as I can tell) I cannot customize the behaviors of an Actor instance in the scene. Is this expected, should I just roll back to a non-nightly?

65
Paid Work / Re: Artist looking for project - indie rates :)
« on: April 25, 2012, 03:50:26 pm »
What are your rates? I have a space shooter under development, and I have a platformer on hold. Generally, I prefer to partner up rather than purchase assets because this is a hobby, for me, but I occasionally farm out art and music work for cash.

Attached are screenshots from the space shooter and the platformer. The platformer also has a main character, designed by Ethan, but he dropped out of the project, so I don't know if I will need a new main character sprite or not. Let me know if you are interested / think you can work in a similar style and quality to the screenies.

Edit: A completed Stencyl project of mine, graphics and music by Ethan: http://www.stencyl.com/game/play/9165 For some reason, the FPS is worse on Stencyl.com than on some other sites I've posted it on, but it's playable.

66
You're welcome, good luck with your game.

67
In your "always" loop, you should only change the animation if it's necessary, so

if (Fired? == True and Animation For Self != Fired) {
  Switch animation to Fired for self;
}

if (Fired? = False and Animation For Self != Idle) {
  Switch animation to Idle for self;
}

It's actually working how I have it now. The cannon is in idle, and when it fires it switches to it's fired animation, and then after 1 second (I changed it to 0.25), it switches back to idle.

Oh, it'll work the way you've got it, but changing an animation every frame when it isn't necessary is wasteful. A simple "if" check takes basically no time at all, whereas the mchanics of switching the animation probably has a more significant overhead. I'm not sure how Stencyl/Flixel handles that under the hood, but it's certain to be more costly than an "if" statement.

In the pressure plate behavior, you are using "self" in the "get" blocks. So, you are getting _UniqueID and _IsActive from the Actor the behavior is attached to, which I assume is a pressure plate. You need to use "Actor of Type" where you have Self. That way, as you cycle through all the Actors of type "Down Cannon," you are checking the current Down Cannon for the values.

Sorry, I don't fully understand. I didn't realize I could drag the "Actor of Type" thingy down and into the "get" blocks. Is that what I'm supposed to do? XD

Yes, that's correct.  The Actor in the "Self" box is the Actor that block is talking to. If you leave it on Self, it is talking to the Actor the behavior is attached to. If you drag a reference to another Actor into there, the block will talk to that Actor, instead of to Self.

You never use the Cannon List, instead you are checking "_UniqueID" against the value "Yes." Let me explain Cannon List.

Cannon list should be a list, with values like this:
0
2
3
5

Then, you check each Down Cannon's _UniqueID against each item in Cannon List. That way, one pressure plate can control multiple Down Cannons. So, your loop should look like this:

For each Actor of Type Down Cannon {
  For each item in Cannon List {
    If (for [actor of type], get [_UniqueID] from behavior [Cannon Fire] == item from Cannon List) {
      Do stuff;
    }
  }
}

Again, sorry. This is the first time I've ever used a list so I don't fully understand. For "item from Cannon List", do I just type in the number or text in the list that I'm looking for, or is there a block I need to pull out? In the list I added values "Yes" and "No" and then in the Unique ID's for the cannons I wanted the plate to control I put in Yes, and for the ones I don't want it to control I put in No.

If you're only going to have two options - Yes and No - you don't need the list at all, you just check "if Unique ID == Yes." The point of the Cannon List is to let each pressure plate control an arbitrary number of Down Cannons.

Pretend you have four Down Cannons and two pressure plates. The Down Cannons have these Unique IDs:
Down Cannon 1 = 0
Down Cannon 2 = 1
Down Cannon 3 = 2
Down Cannon 4 = 3

Pressure Plate 1 has a Cannon list of:
0
2

Pressure Plate 2 has a Cannon List of:
1
3

Now, each Pressure Plate does this:

For each Down Cannon in the scene {
  For each item in Cannon List {
    If (Unique ID of Down Cannon == item from Cannon List) {
      Turn off current Down Cannon;
  }
}

So, each Pressure Plate goes through each Down Cannon in the Scene, checking to see if that Down Cannon's Unique ID is in its Cannon List. If it is, it turns off that Down Cannon. To make this comparison, you check the Down Cannon's Unique ID against each item in the Cannon List.

If (Unique ID == current item from Cannon List) { }

68
Alright, I'm not sure why you're using two timers in your first behavior. The way you have it, you're waiting for every Shoot seconds, then waiting again for Delay? seconds. If that's on purpose, fine, but it looks weird.

In your "always" loop, you should only change the animation if it's necessary, so

if (Fired? == True and Animation For Self != Fired) {
  Switch animation to Fired for self;
}

if (Fired? = False and Animation For Self != Idle) {
  Switch animation to Idle for self;
}



In the pressure plate behavior, you are using "self" in the "get" blocks. So, you are getting _UniqueID and _IsActive from the Actor the behavior is attached to, which I assume is a pressure plate. You need to use "Actor of Type" where you have Self. That way, as you cycle through all the Actors of type "Down Cannon," you are checking the current Down Cannon for the values.

You never use the Cannon List, instead you are checking "_UniqueID" against the value "Yes." Let me explain Cannon List.

Cannon list should be a list, with values like this:
0
2
3
5

Then, you check each Down Cannon's _UniqueID against each item in Cannon List. That way, one pressure plate can control multiple Down Cannons. So, your loop should look like this:

For each Actor of Type Down Cannon {
  For each item in Cannon List {
    If (for [actor of type], get [_UniqueID] from behavior [Cannon Fire] == item from Cannon List) {
      Do stuff;
    }
  }
}

Finally, you never set IsActive? back to true, so once the pressure plate is stepped on, the Down Cannon will always be off. At the end of the "always" loop in your Cannon Fire behavior, set "IsActive?" back to True. That way, the Cannon starts each frame with IsActive? being True, and it only gets turned off if the player is still on the pressure plate.

69
Ask a Question / Re: Loops
« on: April 18, 2012, 01:50:13 pm »
Well, first of all, X never changes in this code. Once you set it to 0, it stays 0, so I don't know why you want to set it to 0, again. I'm not really sure what you want to do, here. If you don't change Y, but you reset X, you'll just draw back over the same spot, again.

Anyway, if you want the loop to happen twice, just put it in another loop, like so:

Do 2 times {
  Your original loop...
  Set X to 0;
}

70
Add a boolean variable such as "Is Active?" to your cannon.

Do you mean a blue attribute, or the purple one, a game attribute?

When talking about adding attributes to a behavior, we're always talking about the blue ones. Game attributes do not belong to behaviors.

When the pressure plate is stepped on, set Is Active? to False. When the plate is clear, set Is Active? to True if you want the cannon to stat firing, again.

If I use a blue attribute in the cannon behavior, how do I control when the pressure plate has been stepped on from a different behavior?

There are blocks that say "for [], set [] to [] for behavior []," which you use to set attribute values in other behaviors. So, your pressure plate would use "for [My Cannon] set [_IsActive] to [False] for behavior [Cannon]." You can use the drop-down arrows inside the blocks to select the behavior name and attribute name. There is also a "get" block for the purpose of retrieving values from other behaviors.


To shut off certain cannons, add a text or number field like "Unique ID" to your Cannon behavior. In the scene designer, assign a name or number to each cannon.

What do you mean by a "Unique ID"?

What I mean is, give a "name" to your cannon by adding an attribute to the Cannon behavior. So, in the Cannon behavior, you would create a number or text attribute called "Unique ID," which you could then assign a value in the scene designer by double-clicking on a My Cannon Actor. So, you'd set "Unique ID" to 10 for one My Cannon, and 16 for another, or whatever numbering/naming system you wish to use. You can then read that "Unique ID" attribute from other behaviors so you know which My Cannon is which.

An Actor variable named "Controlled Cannon" which you set in the scene designer to point at the appropriate instance of My Cannon.

Can you explain this a little bit more, too? Again, sorry, still new and learning. And I really appreciate the help. :)

When you place an Actor in the scene designer, you can double-click on it (or right-click and select "Customize Behavior") and edit the attribute values of the behaviors attached to that actor.  In this way, you could have a behavior called "Switch" with an Actor attribute called "Target," and in the scene designer, you can select an Actor from the scene for "Target" to point to.

71
Ask a Question / Re: Game attribute
« on: April 17, 2012, 02:01:07 pm »
Why this code dont works?

Check the values of Y Position and X Position. If X Position is 0, your text is being drawn offscreen.

Also, set the font and font color before drawing.

72
Ask a Question / Re: Creating and deleting a scene
« on: April 17, 2012, 01:59:14 pm »
Thanks I guess I could just do what you said and "reset" the scene.

If you just want to reset the scene, you can just load it, again. I don't think there's any reason to remove individual Actors or Tiles from the scene, first. Put any data you want to maintain in a game variable and reload the scene.

I'm curious what you're doing. Are you allowing users to design scenes for some reason?

74
Ask a Question / Re: Animation origin point?
« on: April 17, 2012, 12:09:22 pm »
Have you tried changing the origin point? That's step one. You have a theory, so test it.

Just a guess, but your animations are different sizes, aren't they? Or, at least, the "head" does not stay in the exact same spot in all frames. If you want the head to stand still, make sure it stands still in the individual frames.

Also, learn to use frames.

75
Add a boolean variable such as "Is Active?" to your cannon. Add something like

If (not IsActive?) {
  Stop;
}

inside your "Do After X Seconds" code, at the top. When the pressure plate is stepped on, set Is Active? to False. When the plate is clear, set Is Active? to True if you want the cannon to stat firing, again.

To shut off certain cannons, add a text or number field like "Unique ID" to your Cannon behavior. In the scene designer, assign a name or number to each cannon. Then, for each pressure plate, you can have something like this:

A list named "Cannon List" which contains the IDs of all he cannons you want that plate to control

(When plate is stepped on...)
For each (Actor of Type "My Cannon") {
  For each (item in Cannon list) {
    If (get _UniqueId from behavior Cannon for Actor of Type == [item from Cannon List]) {
      Set Is Active? to False.
    }
  }
}

Alternatively, you could have something like this in your pressure plate behavior:

An Actor variable named "Controlled Cannon" which you set in the scene designer to point at the appropriate instance of My Cannon.

(When plate is stepped on...)
Set _IsActive? to False in behavior Cannon for Controlled Cannon


Note: If you want the cannon to stay of permanently, use something like this in your Cannon behavior:

(Inside the timer loop)
If (Is Active? == False) {
  Cancel;
}

Pages: 1 ... 3 4 5 6 7 8