Game can be played at the same address: All-in-One Solitaire.
I didn’t intend to sell it to any sponsors, just made it for my website.
Solitaire is quite an ordinary game, but as it’s a classic game, many people like it and play it often.
I will submit the game to portals later this week.
з.ы.: One of the cool features of my game 🙂 is internet radios, that you can listen while playing.
For Dolly The Sheep game I’m using WCK + Box2D Alchemy Port.
It’s a very handy framework, but unfortunately, it lacks documentation and has some bugs.
One of the bugs, I have recently discovered was with the build-in Conveyor belt.
Here is an example.
There are 3 boxes, they should move to the same direction, while they are lying on the conveyor, but… their behavior is unpredictable.
I’ve decided to make my own simple Conveyor Belt, by listening Contact Events.
Here is my code:
...
public override function create():void{
friction = 0; //this is very important, otherwise objects on conveyor will be moving with different speed
reportBeginContact = true;
reportEndContact = true;
super.create();
listenWhileVisible(this, ContactEvent.BEGIN_CONTACT, onBeginContact);
listenWhileVisible(this, ContactEvent.END_CONTACT, onEndContact);
}public override function update(param:Param):void//your own update function, calls every frame{//set velocity to objects lying on the conveyor belt, I'm only using horizontal velocity here//_dir - direction, where object on conveyor should move to//_shape._normal - only the "y" of the normal, when object has contacted conveyor, in my case it can be only 1(from above) or -1(from below)foreach(_shape in _shapes)//go through all the objects, contacting conveyor{
_shape2 = _shape._shape;
_shape2.b2body.SetLinearVelocity(new V2(_dir*_shape._normal*_speed, 0));
}}
protected function onBeginContact(event:ContactEvent):void{//add object and its contact normal to the list//event.other.m_userData - our object//event.normal - our normal of the contact, that points from conveyor belt to object//if event.normal.y > 0, object has contacted conveyor from below//if event.normal.y 0 ? -1 : 1)));}
protected function onEndContact(event:ContactEvent):void{//remove object, that is not contacting with conveyor from the list
...
}
...
public override function create():void
{
friction = 0; //this is very important, otherwise objects on conveyor will be moving with different speed
reportBeginContact = true;
reportEndContact = true;
super.create();
listenWhileVisible(this, ContactEvent.BEGIN_CONTACT, onBeginContact);
listenWhileVisible(this, ContactEvent.END_CONTACT, onEndContact);
}
public override function update(param:Param):void //your own update function, calls every frame
{
//set velocity to objects lying on the conveyor belt, I'm only using horizontal velocity here
//_dir - direction, where object on conveyor should move to
//_shape._normal - only the "y" of the normal, when object has contacted conveyor, in my case it can be only 1(from above) or -1(from below)
for each(_shape in _shapes) //go through all the objects, contacting conveyor
{
_shape2 = _shape._shape;
_shape2.b2body.SetLinearVelocity(new V2(_dir*_shape._normal*_speed, 0));
}
}
protected function onBeginContact(event:ContactEvent):void
{
//add object and its contact normal to the list
//event.other.m_userData - our object
//event.normal - our normal of the contact, that points from conveyor belt to object
//if event.normal.y > 0, object has contacted conveyor from below
//if event.normal.y 0 ? -1 : 1)));
}
protected function onEndContact(event:ContactEvent):void
{
//remove object, that is not contacting with conveyor from the list
...
}
Of course, my version has some problems too, mainly because of the zero friction.
Hope, new version of Box2D Alchemy Port with fixed bugs will be released soon.
Finally, I’ve got the graphics for my Solitaire game!
Now, it looks much better. And I’ve added extra sound effects as well.
Game is almost ready, there are 5 solitaire games available at the moment:
– Crescent Solitaire
– Cruel Solitaire
– Tri-Peaks Solitaire
– Pyramid Solitaire
– Klondike Solitaire
So, just one small thing left to do… Play All-in-One Solitaire!
Ok. Small demo from Dolly The Sheep.
Game still lacks animation as well as graphics and sound, but it looks funny.
The idea of the game is to remove obstacles on Dolly’s way by shooting them with balloons.
So these obstacles fly up and you let Dolly to move from A to B(exit) and help to escape from Labs, where evil 👿 scientists carry out their terrible experiments.
Description
Defend the Earth with your satellites and spaceships, research new technologies and save the humanity in this next-gen defense/strategy game.
5th game: Klondike Solitaire.
So, Solitaire has 5 games in total.
I only have to write instructions and make menu icons, and game will be ready for release.
Just added Tri-Peaks Solitaire to the game, but no Instructions. 🙂
This version of Solitaire is quite easy to develop and play.
So, now All-in-One Solitaire has 3 games.
I’ve added Cruel Solitaire. This game was easy to make, that is why I’ve chosen it. Next game will be a bit more difficult and much more interesting.
So, now All-in-One Solitaire has two games to play.
з.ы.: Still can’t find good icons for game types, so just use smiles. 🙂
So, I have released a beta version of All-in-One Solitaire. It contains only one Solitaire game at the moment, Crescent Solitaire, but I will add more in nearest future.
I will also modify graphics and change some icons as well as sounds later.
After some thoughts, I have decided to start making two new games:
Dolly The Sheep – Box2D based game, where you have to help the sheep to escape from evil scientists.
For this game, I’m going to use WCK. It’s a handy Box2D-based framework, that allows to create game levels within Flash IDE.
All-in-One Solitaire – 5+ solitaire games in one.
While searching for images for solitaire game, I have found a good website with tons of absolutely free images:
“Openclipart is the largest collaboration community that create, share and remix cliparts. All cliparts are released to the Public Domain so they can be freely used in any project for free.”