Well, first off, a whopping thank you to all the active participants involved in our community Cocos2D game. We’ve blazed through this week, ended up with amazing progress, and are right on track to release our free RPG game in March.
Development Releases
We started compiling everybody’s submissions to the game into an optional, development-only ZIP download. This dev release gets updated a few times per week. This allows people involved in the project to re-download the latest game, test out each other’s code and levels, and collaborate much more effectively. It also gives us more flexibility in that we can refine, improve, and re-submit items that we thought could be better.
If you already own a copy of the iPhone Game Kit, then you will be receiving an email with an optional link to download the latest development-only Quexlor: Lands of Fate codebase (includes Cocos2D 0.99.5 so you can click “Build & Run” to beta test). Sift through the dev download and check out all the new spritesheets, levels, and artificial intelligence (AI) code we have been making and learn by example. We will be keeping everyone informed of the latest development releases in the forum.
Community Submissions
Thanks to Justin, Greg, Rob, Leonard, Tim, and Enrique for submitting twelve new levels! Thanks to Juan for developing the Greytroll
AI and the “knock-back” feature, which enables strong enemies to knock the player back a short distance. You can check out Juan’s Greytroll
code in Enemies.m
within the dev release. Juan also added code to Player.m
which knocks the player back upon getting hit. Here’s a little bit of that code:
-(void) gotHit:(id)sender data:(void*)data
{
// verify that we can still can be hit
Character* attacker = (Character*)data;
if([attacker canAttack:self])
{
// apply damage
float damage = -[attacker getDamageTo:self];
[self changeLife:damage quiet:NO];
//---------------------------------- JUAN ---------------------------------
// if the attacker is a strong enemy, it pushes the player back
if ([attacker isKindOfClass:[Enemy class]] && attacker.strength > 5.0f)
{
// the push direction is the direction of the attacker
CGPoint pushDirectionVector = [Character directionToVector:attacker.currentDir];
// make the vector half the size
pushDirectionVector.x = pushDirectionVector.x * 0.5f;
pushDirectionVector.y = pushDirectionVector.y * 0.5f;
// push the player back by this vector
[self moveBackWhenHit:pushDirectionVector];
}
}
}
Thanks to Greg for submitting many new spritesheets, including the rat, wasp, and bow skeleton! Thanks to Justin for coming up with the idea of a Friend
class! Characters like the butterfly, sheep, and deer can now use all the AI code of Enemy
, yet remain friendly enough to not attack the player.
Also thanks to Justin for creating our first beautiful music loop, forest1.caf
! Download the development release and play the first level, forest01.tmx, to hear the awesome music. Thanks to Rob for submitting the Rat
AI! Thanks to leathalChicken for starting to develop the Devil
AI and its ability to teleport!
What Now?
Yesterday marked the end of Phase 1 of our community Cocos2D game. While Phase 1 is now closed, you can still submit (or re-submit) levels, art, or code to the project. The next two weeks prior to Phase 2 are “catch up” time. Please use this time to refine your submissions and re-submit. You can also use the time to beta test the game, submit feedback in the forums, and communicate on how we can make our game more fun. When Phase 2 starts (Feb 9th) we should theoretically be done with Phase 1 submissions and move on to Phase 2 things. Though, you can always re-submit something if you found a way to improve it.
That’s all for now. I hope you all are enjoying the process of making this game together!