Fixed the link.
Fixed the link.
William Cairns
My Games: http://www.cairnsgames.co.za (Currently very inactive)
MyOnline Games: http://TheGameDeveloper.co.za (Currently very inactive)
It's looking much better now!
Some things I found:
- The first time I started this new version I got a fatal exception. I'm not sure why it happend (it could be a soundissue as I did have internet radio on), but the second time the game started like it should. (unfortunately the log was overwritten with the second attempt)
- I noticed some archers and trees are located in the water.
On an other note: I got a fps of 176 with a radeon 7000!
On a second note, I tried hacking your game and found it to be quite easy to extend the dragons health with a couple thousand points.
I've compiled it to linux. There were the usual problems with file names case and "uses windows", but i got past them easily. I could submit the binary if you're interested.
Nice game i must say!
BTW how do i see the FPS ?
Bye!
If you save your data in a proprietary format, the owner of the format owns your data.
<br /><A href="http://msx80.blogspot.com">http://msx80.blogspot.com</A>
Well you could have easily used it for blending explosionsOriginally Posted by cairnswm
Anyway it runs much faster on most computer (mine for example )
If you save your data in a proprietary format, the owner of the format owns your data.
<br /><A href="http://msx80.blogspot.com">http://msx80.blogspot.com</A>
I promise to sort out the sound issues.... [size=7px]One day in the future somewhere[/size]
Thanks MSX - I sent you a PM. I also promise to one day start getting my unit case sensitivity right
As you have obviously looked at the code (Based on downloads - you are the only person that has ) what do you think of my SDL wrapper code?
William Cairns
My Games: http://www.cairnsgames.co.za (Currently very inactive)
MyOnline Games: http://TheGameDeveloper.co.za (Currently very inactive)
hye cairns.
i managed to sneak a quick game of this at work. very cool... the screenshots do not do it justice.
FPS = 432
Sys =
Twin P4 3.2ghz
2gig ram
radeon 9800 pro
suggestions:
real particle system - allows smoke from dragons nostrils, real bouncy magic sparks, puffs of grass and dirt as he runs, big footprints behind him etc
more complex ai for archers - they run and hide when dragon gets close move in groups, ambush, etc
brilliant for the dev time. nice work. good stuff. great. yes.
bye.
Would have been nicereal particle system - allows smoke from dragons nostrils, real bouncy magic sparks, puffs of grass and dirt as he runs, big footprints behind him etc
more complex ai for archers - they run and hide when dragon gets close move in groups, ambush, etc
brilliant for the dev time. nice work. good stuff. great. yes.
Sometime soon I must work on a nice Particle system that I can reuse in all my games. Things like footprints could have been cool
The archers have no AI at the moment. Just a random chance to shoot.
One of the problems I have is that I find it almost impossible to go back to old games and rework them. I also typically redo all the game engine work in my games as I write them. I have some standard libraries for things like drawing images on screen, setting up the screen and linking in AI to the games. I need to add a standard particle system, a better sound system and a more reliable high score system.
William Cairns
My Games: http://www.cairnsgames.co.za (Currently very inactive)
MyOnline Games: http://TheGameDeveloper.co.za (Currently very inactive)
Results were supposed to be out but they are not
William Cairns
My Games: http://www.cairnsgames.co.za (Currently very inactive)
MyOnline Games: http://TheGameDeveloper.co.za (Currently very inactive)
were there any other games as complete as yours released?
heres some code if interested... its crappy, but its what i've found works for what i want to do... probably a few bugs with velocity ramps.
[pascal]unit particle;
interface
uses math,cosine,asphyredef,AsphyreDevices,AsphyreCanva s;
type
TParticle = record
Angle,Age,TimeToLive : integer;
XVel,YVel,Xpos,YPos : Real;
StartXVel,StartYVel,EndXVel,EndYVel : Real;
Image : integer;
Pattern : Integer;
Color,StartAlpha : Cardinal;
Alpha,AlphaVel : real;
Active : boolean;
Scale,ScaleVel : real;
end;
procedure AddParticle(Particle : TParticle);
procedure AddWave(x,y,dir : integer);
procedure AddSmoke(x,y,dir,alt : integer);
procedure AddWaterRing(x,y,alt : integer);
procedure KillParticle(index : integer);
procedure DoParticles;
procedure RenderParticles(Device : TAsphyreCanvas);
var Particles : Array of TParticle;
implementation
uses main;
procedure AddParticle(Particle : TParticle);
begin
SetLength(Particles, Length(Particles)+1);
Particles[High(Particles)] := Particle;
end;
procedure AddWave(x,y,dir : integer);
var Tempwave : TParticle;
begin
With Tempwave do
begin
Angle := Dir + Random(5) - Random(5);
Age := 0;
TimeToLive := Random(10) + 75;;
XVel := +Sin256(Angle)/4;
YVel := -Cos256(Angle)/4;
StartXVel := XVel;
StartYVel := YVel;
EndXVel := XVel/4;
EndYVel := YVel/4;
Xpos := X + Random(16) - Random(16);
Ypos := Y + Random(16) - Random(16);
Image := 2; Pattern := 0;
Active := true;
StartAlpha := 1; AlphaVel := Random;
Scale := Random;
ScaleVel := 0.005;
Color := (Max(0,Min(254,Round(StartAlpha + (AlphaVel * Age)))) shl 24) or $FFFFFF;
end;
AddParticle(Tempwave);
end;
procedure AddSmoke(x,y,dir,alt : integer);
var Tempsmoke : TParticle;
begin
With Tempsmoke do
begin
Angle := dir;
Age := 0;
TimeToLive := 32;
XVel := +Sin256(Angle);
YVel := -Cos256(Angle);
StartXVel := XVel * (Max(50,Alt)/100);
StartYVel := YVel * (Max(50,Alt)/100);
EndXVel := XVel/4;
EndYVel := YVel/4;
Xpos := X + Random(2) - Random(2);
Ypos := Y + Random(2) - Random(2);
Image := 3; Pattern := 0;
Active := true;
StartAlpha := Random(64); AlphaVel := -2;
Scale := Random/2;
Scale := Scale * (Max(50,Alt)/100);
ScaleVel := 0.04;
Color := (Max(0,Min(254,Round(StartAlpha + (AlphaVel * Age)))) shl 24) or $FFFFFF;
end;
AddParticle(Tempsmoke);
end;
procedure AddWaterRing(x,y,alt : integer);
var Tempring : TParticle;
begin
With Tempring do
begin
Angle := 0;
Age := 0;
TimeToLive := 75;
XVel := 0;
YVel := 0;
StartXVel := 0;
StartYVel := 0;
EndXVel := 0;
EndYVel := 0;
Xpos := X + Random(4) - Random(4);
Ypos := Y + Random(4) - Random(4);
Image := 3; Pattern := 1;
Active := true;
StartAlpha := Max(50,50-Alt); AlphaVel := -0.75;
Scale := Random/2;
Scale := Scale * (Max(50,Alt)/100);
ScaleVel := 0.015;
Color := (Max(0,Min(254,Round(StartAlpha + (AlphaVel * Age)))) shl 24) or $FFFFFF;
end;
AddParticle(Tempring);
end;
procedure KillParticle(index : integer);
begin
Particles[index] := Particles[High(Particles)];
SetLength(Particles, Length(Particles)-1);
end;
procedure DoParticles;
var i : integer;
begin
If Length(Particles) > 0 then
For i := 0 to High(Particles) do
with Particles[i] do
If i <= High(Particles) then
begin
//Age it
Inc(Age);
//Move particles
Xpos := Xpos + XVel;
Ypos := Ypos + YVel;
//Update velocity
XVel := XVel - ((StartXVel - EndXVel)/TimeToLive);
YVel := YVel - ((StartYVel - EndYVel)/TimeToLive);
//Update alpha
Color := (Max(0,Min(254,Round(StartAlpha + (AlphaVel * Age)))) shl 24) or $FFFFFF;
Scale := Max(0,Scale + ScaleVel);
//Kill if needed
If Age >= TimeToLive then
begin
KillParticle(i);
end;
end;
end;
procedure RenderParticles(Device : TAsphyreCanvas);
var i : integer;
begin
//draw particles
If Length(Particles) > 0 then
For i := 0 to High(Particles) do
With Particles[i] do
begin
Device.Rotate(Main.Form1.Images.Image[Image],Round(Xpos-Main.Map.DrawOrigin.X),Round(YPos-Main.Map.DrawOrigin.Y),Angle,Scale,Color,Pattern,d oxDiffuse);
end;
end;
end.[/pascal]
how embarassing.
Woohooo!!!
[size=24px]I came 2nd [/size]
http://www.ongamedev.com/forum//inde...showtopic=2719
(hey WILL - this IS a news Item!)
William Cairns
My Games: http://www.cairnsgames.co.za (Currently very inactive)
MyOnline Games: http://TheGameDeveloper.co.za (Currently very inactive)
Bookmarks