Afterwarp Development  

Go Back   Afterwarp Development > Software/Game Development > Published Resources
Published Resources Post any source code, images and tools here that you want to share with the community.

Reply
 
Thread Tools Display Modes
  (#1) Old
DraculaLin DraculaLin is offline
Privileged
DraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant future
 
DraculaLin's Avatar
 
Posts: 427
Join Date: Oct 2005
Location: Taiwan
Sprite Engine (Asphyre eXtreme v3.x) - 17-Dec-2005, 12:57

Asphyre Sprite Engine for eXtreme version.

The Sprite Engine is the drawing and rendering component of 2D games.
Examples of this kind of game are Civilization, Donkey Kong (classic arcade), Pharaoh, Zeus, Warcraft, Diablo, Frogger, and Pirates!, among many others.
It is so called because the "characters" or "little men" are referred to as "sprites".
It is fully featured, supporting top-down, side, and isometric rendering.
It supports the 'Sprite' as its basic type, but also supports Tiles and user-drawn Canvases.

Features:

Simple and Easy to Use:
It has a clean and simple function,property.
Only a simple code to finish a game.
Or at least as simple as an engine can be.

Full support for sprites:
-Unlimited number of fully dynamic rendering layers
-Inter- and Intra-layer z-ordering
-rotation,zoom(scaling),horizontal and vertical flipping,transform,stretching, and hidden histories
-various blending modes,alpha blending,specified ARGB color,4 vertex color change, lightness, darker....


Sprite based animations:
A very advance sprite animations control class.
Animated a sprite and can be stopped and restarted or to loop the animationas as necessary.
Sets sprite animation sequence,Sets frame play speed, starting from start frame and ended at finish frame.
3 type of play mode can be play forward,play backward and play pingpong.


Collision:
-Supports 3 type of collision mode for different purpose.
-Individually disable or enable collision causation and response per-object
-Efficient detection handles hundreds of objects in a scene at once.

Particle:
A particle class allowing to create particle effects like smoke, explosions, magic etc.


Performances:
All I can tell you is that it's pretty fast!

There is 8 sample show how to use it.
Enjoy !
Attached Thumbnails
Click image for larger version

Name:	Image1.jpg
Views:	1616
Size:	84.4 KB
ID:	499  Click image for larger version

Name:	Image2.jpg
Views:	1281
Size:	77.9 KB
ID:	500  
Attached Files
File Type: rar SpriteEngine2006Feb_1.rar (1.79 MB, 8654 views)
File Type: rar SpriteEngine2006Feb_2.rar (1.91 MB, 7121 views)
File Type: rar SpriteEngine2006Apr.rar (1.39 MB, 5308 views)

Last edited by DraculaLin : 24-Apr-2006 at 19:29.
Reply With Quote
  (#2) Old
huasoft huasoft is offline
Reputable
huasoft is on a distinguished road
 
huasoft's Avatar
 
Posts: 174
Join Date: Nov 2005
Location: ChangSha China
17-Dec-2005, 14:04

great!thank you


Program,I like to,I live on! http://www.huosoft.com
Reply With Quote
  (#3) Old
mmzmagic mmzmagic is offline
Dedicated
mmzmagic is on a distinguished road
 
mmzmagic's Avatar
 
Posts: 22
Join Date: Oct 2005
Location: KunMing
Send a message via MSN to mmzmagic
Thumbs up oh Very Greate~~ - 17-Dec-2005, 14:17

Thank your very much , I like This Vh


industrious Can Fix gaucherie,one swink and one talent
Reply With Quote
  (#4) Old
bigsofty bigsofty is offline
Resourceful
bigsofty is on a distinguished road
 
Posts: 36
Join Date: Dec 2005
Thumbs up 17-Dec-2005, 23:41

Most excellent news!
Reply With Quote
  (#5) Old
huasoft huasoft is offline
Reputable
huasoft is on a distinguished road
 
huasoft's Avatar
 
Posts: 174
Join Date: Nov 2005
Location: ChangSha China
Smile a very small BUG - 18-Dec-2005, 05:42

Code:
procedure TSprite.SetDrawMode(const Value: Integer);
begin
     Self.FDrawMode := Value;
     if FDrawMode > 3 then FDrawMode := 0;
end;
should be
Code:
procedure TSprite.SetDrawMode(const Value: Integer);
begin
     Self.FDrawMode := Value;
     if FDrawMode > 4 then FDrawMode := 0;
end;
otherwise,we will meet abnormal thing when recomplie the sample of 'ColorEffect'!


Program,I like to,I live on! http://www.huosoft.com
Reply With Quote
  (#6) Old
DraculaLin DraculaLin is offline
Privileged
DraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant future
 
DraculaLin's Avatar
 
Posts: 427
Join Date: Oct 2005
Location: Taiwan
18-Dec-2005, 08:34

Thanks for the finding the bug...
Reply With Quote
  (#7) Old
huasoft huasoft is offline
Reputable
huasoft is on a distinguished road
 
huasoft's Avatar
 
Posts: 174
Join Date: Nov 2005
Location: ChangSha China
Question Another Bug in ParticleSprite? - 19-Dec-2005, 17:35

Code:
procedure TParticleSprite.Move(const MoveCount: Single);
begin
     X := X + FAccelX;
     Y := Y + FAccelY;
     FVelocityX := FVelocityX + FAccelX;
     FVelocityY := FVelocityY + FAccelY;
...
end;
Should be
Code:
procedure TParticleSprite.Move(const MoveCount: Single);
begin
     FVelocityX := FVelocityX + FAccelX;
     FVelocityY := FVelocityY + FAccelY;
     X := X + FVelocityX;
     Y := Y + FVelocityY;
 ...
end;


Program,I like to,I live on! http://www.huosoft.com
Reply With Quote
  (#8) Old
DraculaLin DraculaLin is offline
Privileged
DraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant futureDraculaLin has a brilliant future
 
DraculaLin's Avatar
 
Posts: 427
Join Date: Oct 2005
Location: Taiwan
19-Dec-2005, 18:26

I check...
Yes, you are right.
Thanks.

The complete TParticleSprite class should be like this:

Code:
 TParticleSprite = class(TAnimSprite)
 private
          FAccelX: Real;
          FAccelY: Real;
          FVelocityX: Real;
          FVelocityY: Real;
          FUpdateSpeed : Single;
          FDecay: Real;
          FLifeTime: Real;
 public
          constructor Create(const AParent: TSpriteEngine); override;
          procedure Move(const MoveCount: Single); override;
          property AccelX: Real read FAccelX write FAccelX;
          property AccelY: Real read FAccelY write FAccelY;
          property VelocityX: Real read FVelocityX write FVelocityX;
          property VelocityY: Real read FVelocityY write FVelocityY;
          property UpdateSpeed : Single read FUpdateSpeed write  FUpdateSpeed;     
          property Decay: Real read FDecay write FDecay;
          property LifeTime: Real read FLifeTime write FLifeTime;
 end;


constructor TParticleSprite.Create(const AParent: TSpriteEngine);
begin
     inherited;
     FAccelX := 0;
     FAccelY := 0;
     FVelocityX := 0;
     FVelocityY := 0;
     FUpdateSpeed :=0;
     FDecay := 0;
     FLifeTime := 1;
end;

procedure TParticleSprite.Move(const MoveCount: Single);
begin
     inherited;
     X:= X + FVelocityX * UpdateSpeed;
     Y:= Y + FVelocityY * UpdateSpeed;
     FVelocityX := FVelocityX + FAccelX * UpdateSpeed;
     FVelocityY := FVelocityY + FAccelY * UpdateSpeed;
     FLifeTime := FLifeTime - FDecay;
     if FLifeTime <= 0 then Dead;
end;
I'm release this version of sprite engine in a hurry, so...

Last edited by DraculaLin : 19-Dec-2005 at 18:33.
Reply With Quote
  (#9) Old
lepidosteus lepidosteus is offline
Professional
lepidosteus is on a distinguished road
 
lepidosteus's Avatar
 
Posts: 79
Join Date: Nov 2005
Location: France
20-Dec-2005, 14:29

Excuse me, but can you tell ma what's the point of a sprite engine ? I mean, from the basis, i'm still learning

Thanks in advance
Reply With Quote
  (#10) Old
lifepower lifepower is online now
Developer
lifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud of
 
lifepower's Avatar
 
Posts: 1,766
Join Date: Oct 2005
Location: Pointer = nil;
Send a message via ICQ to lifepower Send a message via MSN to lifepower
20-Dec-2005, 15:24

Quote:
Originally Posted by lepidosteus
Excuse me, but can you tell ma what's the point of a sprite engine ? I mean, from the basis, i'm still learning
I asked DraculaLin for a small description page about SpriteEngine some time ago, but got no reply on my PM.


M.Sc. Yuriy Kotsarenko
Ixchel Studios

Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Asphyre Sprite Engine DraculaLin Project Showcase 21 15-Nov-2005 04:29
Getting started with Asphyre - Read First! lifepower Development 0 14-Nov-2005 19:49
Asphyre eXtreme Installation lifepower Published Resources 0 07-Nov-2005 14:51
Asphyre eXtreme 3.1.0 (04-Jan-2006) lifepower Published Resources 0 07-Nov-2005 03:43
Mixing Asphyre eXtreme lifepower Development 4 17-Oct-2005 02:57



Powered by vBulletin® Version 3.6.9
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com