Quaintbrush

Jesse

  • Posts: 102
Quaintbrush
A platformer inspired by art.


In Quaintbrush, you are a stick figure character who posseses a mystical paintbrush. Use the powers of your brush to change and explore the environment around you.

I'm considering having a professional artist I know create the background scenery. Either that, or I'll make them on my tablet. I'm hoping to make the aesthetics stand out for this.

This was modified from my original project, Dimension Shift. It was also inspired by Tag, the game produced by students at Digipen.

How do I play?


The game will be developed in 960x640 resolution to support iOS. It will hopefully be ported once iStencyl is released.
However, in the meantime, use the keyboard and mouse to control your character.

WASD - Jump and Run
Left Click - Paint (if you have enough ink)
Right Click - Erase (if you have enough water)
R - Clear everything / Restart

In the iOS version, use a virtual pad to run and jump, tap to draw / erase, and shake the device (like an Etch-a-Sketch) to restart.

What kinds of brushes are there?


Red: Overload Gel
Quote
When you paint with Overload Gel, anything in it has a prolonged effect. For example, if you jump in it, you can perform a double jump. If you paint over a timed switch, the time on the timer increases. If a machine turret is in your way, draw over it and it's reload time will double, giving you time to sprint through. In general, both players and enemies experience slightly higher stamina when standing in this gel.

Yellow: Speed Slime
Quote
The Speed Slime is where things become a little more complicated - the physics of the game are modified. Any object that comes in contact with Speed Slime loses a lot of friction. You can use this under a chain of spikes to simply duck and slide under. It can also be used to dash past enemies, gain enough speed for a high jump, quickly slide crates to reach timed switches, have enemies slip off into spikes, or zip through crumbling blocks under you.

Green - Super Glue
Quote
Once you place Super Glue on a wall, you can use the up / down button to grab on to the glue and walk on walls, almost like Spiderman. This also applies to objects - you can push along a crate as you are attached to a wall, for example. Things in general gain a lot of friction. It can also be used to trap enemies.

Blue: Zero Gravity Field
Quote
The zero gravity field is useful when you need to prevent something from falling. It's almost like the regular ink in the original idea of Quaintbrush, because you can walk around on it, but this time you can actually walk *in* it as well. Use this to reach previously inaccessible areas, such as creating bridges over pits for you and a crate to walk over.

Purple: Vaporizer Smog
Quote
The Vaporizer Smog is the 'weapon' of the game. It destroys any object that touches it - enemies, crates, and even you. It's the least common brush in the game, but it definitely has some fun and interesting uses.

Gray: Stealth Fog
Quote
Stealth Fog is used to conceal yourself from enemies or disorient them. Once objects are in Stealth Fog, they can't make a sound. I'm hoping to make some interesting sound-based puzzles using this.


When will it release?


Not for quite some time! XD
This project is looking pretty ambitious, but I have a strong feeling about it. This concept is a very rough draft -- some techniques might not be feasible, others might be too performance-heavy. I'm not a very strong AS3 programmer, so some techniques might also be out of my reach. However, if you're interested in joining in and helping me out, I'd really appreciate it!


« Last Edit: May 24, 2011, 03:39:59 pm by Jesse »

Alexin

  • *
  • Posts: 3132
Some things to considerate;

A) Scaling an actor does not scale its collision shape.
B) Keep in mind the position of an actor is its upper-left corner.
C) The first two statements of update() are valid only if the camera is at the top left corner. You should add the camera's x and to compensate for its movement.
D) You should scale the actor before changing its angle.
E) In many cases, checking if two numbers (floats) are exactly equal isn't a good idea. Use an interval instead.
F) To overcome situations where you actor gets stuck, use round corners at its "feet" as collision shapes.
"Find the fun"
alexin@stencyl.com

Jon

  • *
  • Posts: 17524
There's some code on Github that will help in generating line shapes the "right" way. It's fast and accurate. You can probably tweak it so the shapes come out rounder at the expense of some performance.

Demo (Press next demo a few times to "Draw line shapes with the mouse")
http://www.sideroller.com/wck/

There's some other pretty amazing stuff that our version of Box2D can do (Animated Line Arcs, Animated Buoyancy), but it seems like games are trying to do things it's not best for.

Jesse

  • Posts: 102
Shoot, I tried looking into the demo and I don't even know where to begin or find the code. :|

On the bright side, I've decided upon the new name for this project: Quaintbrush.

Darkhog

  • Posts: 1243
To find code, you can always decompile demo SWF. And yeah, if we would make it possible with Stencyl, this could be used to make Crayon-Physics type games.

There are no impossible things. There is only lack of skills.
Don't click this if your computer has less than 641 kilobytes of RAM.
Stencyl stencyling stencylish stencylers :D

Jesse

  • Posts: 102
The source is out there and I've downloaded / opened it with Flash.

I'm just very unfamiliar with the program and I'm having trouble finding the useful code.

BonBonBunny

  • Posts: 95
Quaintbrush is like the cutest name for a game ever. <3

Jon

  • *
  • Posts: 17524
I imagine that it's an addon class or two and then a small bit of code that takes the mouse gestures and creates bodies out of them.

Perhaps if you pointed out what code you found (just tell us the class names), one of the devs could take a look for you. I don't necessarily expect you to understand the code and integrate it, but to have fluency to point out what you've found and share it with us.

Epic428

  • Posts: 1118
Through some investigation of .FLA and the Classes, here are the classes I found to be most related to the Drawing feature mentioned in the demo. Most notably the "Crayon" classes and the WorldClickAdd class.

Note: It was easier to zip the folder than pull out the few extra classes in the folder, so there are few extra in the attachment.

Just as note to Jesse:

I opened the .FLA in Flash CS5, I then went into the Library which is in the panes on the right. Then I looked in the folder "World Stuff" found the object "WorldCrayonLines" which was the first drawing portion of the demo.

Then I Right-Clicked the file and checked it properties. Investigating its properties showed that its Class is called "WorldCrayonLines" with a base class called "extras.WorldClickAdd"

I went back into the source folder and found a folder called "Extras" where these classes were residing. I briefly looked them over and they seemed to be along the lines of the necessary code you are looking for, though, my knowledge of AS3 is lacking in some of the more advanced areas so some parts were not understandable to me.

Anyway, Let me know if the classes in the zip file work or if you need anything more.

Edit: And for things such as the radial gravity I am including a folder containing the various gravity classes.

« Last Edit: April 04, 2011, 08:47:50 pm by Epic428 »
James Moore - Official Support & Documentation.
We cannot and will not respond to PM's asking questions. Please make a new thread in the forums if you have any questions, Thank you.
For better support and faster response times, please post your logs regarding any Stencyl related issues. Debug > Logs > Generate Logs

Jesse

  • Posts: 102
I created a new concept that I think might work a bit better for Quaintbrush.

Your character paints on the screen with a paintbrush, using different colors. These colors cover regions and modify them with certain attributes. For example, a green brush might be sticky, and the player can climb on that ink and reach new places. Or, you could have a gray brush that conceals you from enemies, or a blue brush that turns the region into a zero-gravity zone.

You would only have one color at a time, and they reset after each level you complete. You can switch colors or replenish your ink using pools in the room.

Gameplay-wise, this gives me a lot more room to work with, whereas the simple drawing system looked as if it could become uninteresting really quickly.
Once again, however, it might be a challenge to program -- but I'll give it a shot.



Epic428

  • Posts: 1118
let us know if you have any issues. This idea sounds a lot better, and more fun! :)
James Moore - Official Support & Documentation.
We cannot and will not respond to PM's asking questions. Please make a new thread in the forums if you have any questions, Thank you.
For better support and faster response times, please post your logs regarding any Stencyl related issues. Debug > Logs > Generate Logs

Jesse

  • Posts: 102
Thank you! :)

A) Scaling an actor does not scale its collision shape.

Just wondering, how do you scale the collision shape as well?

Epic428

  • Posts: 1118
I would assume that would have to be done in code. I think you would have to modify the collision shape using b2Shape iirc.

You may want to have several different predefined sizes, so you don't have to do it on the fly. For example have the player pick from say 5 different brush sizes and then depending on what is selected you can choose the actor with a predefined collision shape.

Edit: these classes should help you  http://api.stencyl.com/as3/Box2DAS/Collision/Shapes/package-detail.html
James Moore - Official Support & Documentation.
We cannot and will not respond to PM's asking questions. Please make a new thread in the forums if you have any questions, Thank you.
For better support and faster response times, please post your logs regarding any Stencyl related issues. Debug > Logs > Generate Logs

Greg

  • *
  • Posts: 1260
I've been interested in the ability to resize shapes along with the Actor, so I took a stab at it tonight.  Here's a rough demo.  Use WASD to move the box around, and the up and down arrows to change the size of the collision box.

I'll put the Behavior up on Forge once I feel a bit more comfortable with it.

http://www.stencyl.com/v10/game/play/2119

Jesse

  • Posts: 102
Looking good, Greg! :)

You may want to have several different predefined sizes, so you don't have to do it on the fly.

Hmm, I was thinking of this in terms of having the line segments scaled -- and because of the enormous range of lengths, I don't think predefined sizes would work here.

Also, I updated the first post with a formal announcement of my concept.