Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / AdvancedSPRITES Plugin

Author
Message
Digital Awakening
AGK Developer
20
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 21st Nov 2007 10:05
Don't really understand what you are talking about, but it sounds good. Keep it up

[center]
CREATE games with ease! NO programming required!
WIP
Digital Awakening
AGK Developer
20
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 26th Feb 2008 12:08
Are you still working on AS? I sent you two emails 6 days ago concerning two bugs:

1) DXS CREATE SPRITE(Filename, Red, Green, Blue) doesn't make the color specified transparent.

2) If I use DXS REMOVE SPRITE FROM PACK and then use one of the begin render commands (both sprite and sprite pack) then AS crashes.

I've spent a lot of time implementing AS into my program and the speed it gives is very welcome. I hope you can fix these bugs so that I may continue using the plugin.

[center]
Mr Personality
14
Years of Service
User Offline
Joined: 3rd Mar 2008
Location:
Posted: 13th Mar 2008 01:58
I've spent a while implementing AS into my game, but I'm running into problems. It seems like AS wont throw any errors at all so i have no idea what goes wrong when my program just closes. Did i install it wrong, or is that just how it is?

Also, is there a way to set the x and y coordinates of sprites in a sprite pack? Currently i'm needing to scan an array of my "possible" sprites, and do a render for each individual one, which actually is slowing my program more than DBP's standard sprites. It seems like sprite packs are more for tiles, which i'm not using.
Mr Personality
14
Years of Service
User Offline
Joined: 3rd Mar 2008
Location:
Posted: 14th Mar 2008 15:04
I just ran a test to compare.



Using the system like this is actually twice as slow as the basic DBP sprites. Sprite tiles seem to speed things up drastically, but since theres no way to set x and y for individual sprites in sprite packs, I have to do this.
Freddix
AGK Developer
20
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 20th May 2008 01:05
@Mod: your website seem down .... is it normal ?

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Epimetheus
19
Years of Service
User Offline
Joined: 5th Oct 2003
Location: Naples, Florida
Posted: 20th May 2008 03:22 Edited at: 22nd May 2008 10:06
Can someone post the DLL on the forum? I can't access the site.

Thanks.
iTeM
14
Years of Service
User Offline
Joined: 26th May 2008
Location: Germany
Posted: 26th May 2008 19:38
its the same for me

all these features sound great... if I could access the site

thx
xCept
20
Years of Service
User Offline
Joined: 15th Dec 2002
Location:
Posted: 12th Jun 2008 06:00
Would anyone be able to repost this plugin, I'd like to try it out but the site it is hosted on is still down. Thanks!
Duffer
19
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 14th Jun 2008 11:19
@ Mod,

Your website is down - where can I download the latest version?

Also, lost track of this thread - is the sprite collision running now?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Freddix
AGK Developer
20
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 15th Jun 2008 17:02 Edited at: 15th Jun 2008 17:03
Hi

Here is a link to download the plugin :
AdvancedSPRITESVer1100

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Duffer
19
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 16th Jun 2008 22:12
@ Freddix - thanks muchly

@ Mod - pixel perfect collision?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
xCept
20
Years of Service
User Offline
Joined: 15th Dec 2002
Location:
Posted: 27th Jun 2008 23:02
Thanks Freddix!

Has development of this plugin stopped? It seems very powerful, I just wish it had pixel-perfect collision commands to compare the collision of one sprite to that of any other specific sprite (like the default sprite collision() command)
Freddix
AGK Developer
20
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 27th Jun 2008 23:41
I don't know if the development of this plugin is stopped or not but I know that the author is really busy these (stydent, exams ...) so he will release a new website for the plugin soonly ...

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Uncle Sam
17
Years of Service
User Offline
Joined: 23rd Jul 2005
Location: West Coast, USA
Posted: 2nd Jul 2008 11:41
Where can I find the help files for this?

Freddix
AGK Developer
20
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 3rd Jul 2008 18:07
Aren't they included in the package ?

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Gask
15
Years of Service
User Offline
Joined: 1st Sep 2007
Location:
Posted: 3rd Jul 2008 19:44
This plugin is an illusion i think.

You gain nothing from it ( or explain to me where i am wrong )

example 1 FPS with sprite pack: (haut.png is a 250x128 image)



result with my pc : 184 fps yeah not bad eh ?

ok.

example 2 , FPS with dbpro sprite :



result = 204 fps , what ? dbpro sprite are faster than advanced sprite ? what i have done wrong ? what if ... ?

yes actually , DBpro sprite are faster , the only command that seems to be faster is

DXS SET SPRITE TILESET Sprite Pointer, Width, Height

but why ? it is maybe because it is only 1 image with less dot , and no 3600 little image like MOD was saying , so Yes ! 1 image with missing dot is faster than 3600 little dbpro sprite , And actually 1 image with missing dot is faster than 3600 advanced sprite little sprite.

What is good in advanced sprite :

+ When a sprite is not on the screen it don't drop the FPS.

Actually the big problem with DBpro sprite is that if you create a sprite it don't care if you are showing it on the screen or not , so yes if you create 500 sprite and only 2 on the screen you have as many fps as if you actually show 500 sprite on the screen.

with AS you gain all this lost fps if you are showing only 2 sprite of the 500.

it is the only advantage i seen in this plugin ( maybe i am wrong , but explain to me where i am please )

Actually i want to say that the test between AS and dbpro sprite are not correct because :

paste sprite 1,200,200
is slower than
sprite 1,200,200,1

and what MOD have compare is a Tileset versus a paste sprite and no a sprite pack versus a sprite command.

So maybe with the last patch (6.9) DBpro sprite are faster than before and use the same method as AS , i don't know.

What i know is that :

Paste image is faster than AS & DBpro sprite.

i make a routine in order to detect collision beetween 2 images , and insert all the information in a type ( where the image is past and other thing ) , So i don't get the problem of too many sprite neither use but dropping the fps , and in a funny way it is faster than AS & Dbpro sprite.

Actually i don't use sprite at all ( on computer with integrated graphic card do you know , that if you use only once a sprite you drop the fps from 170 to 15 ? )

Last point on my testing of advance sprite :

as you can see , Mod have create this command :

DXS BEGIN SPRITE PACK RENDER sprite pointer

because when you create only one begin and one end and draw beetween them all your image it is faster.
It is True but !

there is a little bug here :



Yes it works ! :p

you can use DXS begin/end SPRITE RENDER po to render a pack ! ( you must create a pack , it didn't work without creating one )

a little bug nothing severe 184 fps too !
SoftMotion3D
AGK Developer
17
Years of Service
User Offline
Joined: 24th Aug 2005
Location: Calgary,Alberta
Posted: 7th Jul 2008 13:17
Just a quick question....

I find that the darkbasic paste image command is very slow.

do you have a command to paste images....other then pasting sprites.

id rather not use the sprite commands.....do you have a paste image command that is faster then darkbasic?
Gask
15
Years of Service
User Offline
Joined: 1st Sep 2007
Location:
Posted: 7th Jul 2008 22:39
for now :

paste image > sprite > advance sprite (only if the number of dbpro sprite is equal to the number of AS sprite on the screen ) > paste sprite.

paste image and paste sprite are two different command.

if you think that paste image is slow , you must know how to use it.

exemple :



is slower than :



So the best way is to create two camera, one for 3D taking like 80% of the screen ( you can't paste a image on 3D without pasting it every loop )

and on the 20% use paste image without cls to draw the interface.

only use CLS to update the interface , the best is to cls only a section of the screen.

exemple : if you move a window on the top right of the screen paste a black image on the top right of the screen only and paste all the image in the top right of your screen one time.

it is the most efficient , the less image are drawn during a cls better are your fps.

If you really want to try a better 2D system , you must learn C++ library and use SDL or something else , create a TPC plugin out of it and make a comparaison between paste image and your dll.

if it is better than darkbasic paste image , please share it with us ^^.

You can test too a hybrid system with 3D plain textured lock to the screen for the 80% of 3D camera and paste image without cls on the 20% 2D camera. I think that using a 3D plain is faster than pasting a image every loop but actually i have never make a test for that.
Ninjazz
15
Years of Service
User Offline
Joined: 21st Dec 2007
Location:
Posted: 30th Jul 2008 05:46
Hey, just wondering if the link you gave to your site is not working? I tried it, but it always takes me to one of those ad-filled search pages, and never to the download. I'd really like to try out this sprite plugin, as I'm working on a very sprite-heavy game right now...
Mod
17
Years of Service
User Offline
Joined: 8th Oct 2005
Location: France
Posted: 14th Sep 2008 21:53
Hello... Some news... Yes, I'm a *little* late again.

Since November, I've been a lot busy. Like Freddix said, mainly due to my studies, and other projects (I've created a website that could become one day a french equivalent to GameDev or GamingWorld... Anyway it's my goal).

I'm still busy (no holidays since... March), but I will have some time soon (a little month ), so it's the time to check what has to be done...


About AdvancedSPRITES...

Currently, I don't use DBPro anymore for new projects. There are a lot of reasons to that choice, which lead me to stop the development of AdvancedSPRITES some months ago. The main reason is that I get too limited by DBPro's core, and the not really easy to use DBPro pointers.

Is that meaning that AdvancedSPRITES won't be updated anymore ? Yes, and no.

I'm now developping a programming language (JadeBasic). It is a little slow to create this language due to my lack of time, but it's working really fine.
My goal with this language is to create a fast and easy to use 2D game programming language.
I've studied DBPro's and PureBasic's architectures. JadeBasic is something between the two.
As simple as the first, and near to be as fast as the second (currently, it is 30% faster than DBPro).
Why do I mention this project ? Because the sprite library used by JadeBasic is nothing than AdvancedSPRITES.
Jade is my main project, what means that its librairies will evolved a lot to be as fast as possible. The code used by AS will follow this evolution,
AS is no more developed as a DBPro plugin, but it will profit of the JadeBasic creation.



About my website, at the beginning, it was only the domain name which expired. But when I tried to get a new one, there has been some problems. Then an other problem, then another one, etc. Due to my lack of time, I haven't fixed them immediately (some was dependant of my host). Anyway, everything is now solved.


So here is the link to my website :

http://ns2.freeheberg.com/~modcrea/

I've updated all existing links I posted in the subject.



@ Digital Awakening : I'm not able to find your mails. I'm really sorry if they have mentionned important bugs that may have blocked your software development. Can you explain a new time the problems, if they're still ones ?


@ Mr Personality : your problem is easy to solved, just put the dxs begin sprite render and dxs end sprite render commands outside the for...next iteration. These two commands are


@ Gask : thanks for your test ^^. It's always interesting to read this kind of post . Here is my answer :

I've used DBPro to create 2D games for years, and AdvancedSPRITES is the conclusion of all the knowledge I've got in this domain.
Step by step, I have eliminated all DBPro's 2D rendering methods, due to bugs, speed or other reasons. I guess that this isn't enough to understand why AS is a lot better than DBPro's sprites, therefore I'll explain why.

A first point to notice is - I think - that you have too much focused on pure speed, and not enough on the common use.
AS has been designed to be a 2D game creation plugin, not just to render some test images. This is why its example programs are massively rendering sprites, and why AS not only render a sprite, but too a tileset or an animated sprite, etc. Its name is AdvancedSPRITES, not FastSPRITES, even if its speed is one of its main quality.


About paste image :

This command can't be used to create 2D game, because it has a (really) great bug.
Imagine a 2D game like an RPG, using a tileset. Because you can't divide images have to create a lot of images, one file = one image. For example, one of my 2D programs used something like 4000 tiles (images extracted from a tileset bitmap).

Try to render 200 times the image 1 : 150 FPS, nice.
Then, try to render 200 times the image 4000 : 1 FPS.

It's a bug (or a conception problem) on the load image command that I've ever reported but that has never been fixed.

Maybe will you think that using 4000 images is too much. But with only 500 images, your framerate is divided by two. The problem exist too with less images.
Conclusion : paste image can't be used to create really fast 2D games.


About sprite :

Because the load image command has a bug, this one is as slow as paste image. And like you said it before, the sprite command has problems with massive sprite rendering. And there is the fact that it's impossible to render two times the same sprite on a frame, what AS can do. If I haven't included DBPro's sprites in my examples, it's because I want to compare what can be compared. DBPro's sprites have functionnalities that AS ones doesn't have.

Note that your example with DBPro sprites has surprised me a little. I haven't tried DBPro's sprites for ages, but it seems that they are faster than before (I used DBPro 6.6). But that is true only for a program with few images .


About paste sprite with sprite command :

Same thing than above. load image bug -> sprite is slow -> paste sprite is slow.


About paste sprite with create animated sprite command :

It is the only interesting and efficient way to draw 2D with DBPro, because it is possible to cut an image into tiles, what avoid the multiple load image bug.

Then, if you compare animated sprite and AS tilesets, you'll see that AS is a lot faster.


AdvancedSPRITES, an illusion ? I don't think so .



About the bug you noticed, it's not really one. The dxs add sprite to pack command has just one effect : giving a sprite the same sprite object than the one used by the pack. So it's then possible to render the pack using any sprite from it.
Gask
15
Years of Service
User Offline
Joined: 1st Sep 2007
Location:
Posted: 16th Sep 2008 23:46
Good to know that you are working on something else.

on what you said :

Quote: "A first point to notice is - I think - that you have too much focused on pure speed, and not enough on the common use.
"


yes i know that paste image only is not efficient , it is why i have create : resize / visible / hide / move / instant collision ..Etc function to recreate all fonctionnality from sprite method.

Quote: "AS has been designed to be a 2D game creation plugin, not just to render some test images. This is why its example programs are massively rendering sprites, and why AS not only render a sprite, but too a tileset or an animated sprite, etc. Its name is AdvancedSPRITES, not FastSPRITES, even if its speed is one of its main quality."


the tileset is very good , but we can modify an image and create the new image with the result of the tileset and again use paste image , but here you are right , this conversion will be slower than your tileset system.

Quote: "About paste image :

This command can't be used to create 2D game, because it has a (really) great bug.
Imagine a 2D game like an RPG, using a tileset. Because you can't divide images have to create a lot of images, one file = one image. For example, one of my 2D programs used something like 4000 tiles (images extracted from a tileset bitmap).

Try to render 200 times the image 1 : 150 FPS, nice.
Then, try to render 200 times the image 4000 : 1 FPS.

It's a bug (or a conception problem) on the load image command that I've ever reported but that has never been fixed.
"


Nop , it is fix :

just try :



steady 66 fps on my machine , and i am using a image with a 6000 id.

if i change 6000 to 1 ? i have too 66 fps.

i load 1000 times the image , and again paste with 6000 id , and again 66 fps.

Quote: "Maybe will you think that using 4000 images is too much. But with only 500 images, your framerate is divided by two. The problem exist too with less images.
Conclusion : paste image can't be used to create really fast 2D games."


ho no , 4000 images is not too much , i try to boost my paste image system with keeping last screen and only paste the new image boosting the speed by 10.

example : you have 500 images to paste , so you paste all of them on the screen , the user move the image of the mouse , but all the image in the background don't move , so a new image of the screen is stock in memory and we paste on it the mouse image.

In this case , we paste only 2 images , and not 501 images. It is why we gain 10 times cpu cost.

Quote: "About sprite :

Because the load image command has a bug, this one is as slow as paste image. And like you said it before, the sprite command has problems with massive sprite rendering. And there is the fact that it's impossible to render two times the same sprite on a frame, what AS can do. If I haven't included DBPro's sprites in my examples, it's because I want to compare what can be compared. DBPro's sprites have functionnalities that AS ones doesn't have.
"


The problem with sprite is the number of sprite that you create.
You can load 100000 images without losing fps.

but every sprite that you create , even if they are not shown on the screen will make you loss many fps.

it is why , AS is better than dbpro sprite if all the created dbpro sprite are not use on the screen.


Quote: "Note that your example with DBPro sprites has surprised me a little. I haven't tried DBPro's sprites for ages, but it seems that they are faster than before (I used DBPro 6.6). But that is true only for a program with few images ."


i am using DBPRO 6.8 so i don't know if it is due to that , but for your sentence : "But that is true only for a program with few images" sorry , but make some test , because i think you are not right.

so yes i think that AS is an illusion again eheh but it is a good plugin for those who don't want to make their own 2D system and prefer to use a simple plugin ( simple for easy to use )

maybe it can't be a good idea to use a paste image system mix with your AS plugin , only for tileset and maybe Z position or animated sprite ( i don't make any test of comparison about it )

The only problem with my 2D system , is that it take a little memory space , but i hope in the futur to find a solution to that but again it is not a very bad thing.

So in conclusion , i hope that jadebasic will be great
The Goldorak
18
Years of Service
User Offline
Joined: 29th Aug 2004
Location:
Posted: 17th Sep 2008 18:54
Bonjour,

Je sais que tu es Français. Bravo pour ton plugin Advanced Sprite.
Toutefois je n'arrive pas à le trouver sur http://www.mod-creations.info/download-3.html. Un lien m'y envoit de ton site et après je patauge. Comment le trouver ?

Merci d'avance.


Darkbasic is great !
Mod
17
Years of Service
User Offline
Joined: 8th Oct 2005
Location: France
Posted: 17th Sep 2008 21:19
Yep, it seems that I fixed all links excepted on my website >_>. Download pages updated... (@ Goldorak : c'est donc bon pour le téléchargement

@ Gask : I guess that I haven't been enough understandable about the load image bug... Try this :



(On my computer : 560 FPS)

Then this :



Only one change : the image ID. On my computer : 240 FPS. This framerate, it's only with 500 images loaded.
But imagine how slow will be a game which need something like 4000 images and has to render image multiple times ID 4000 or less (like most of tile based games)...
Mod
17
Years of Service
User Offline
Joined: 8th Oct 2005
Location: France
Posted: 17th Sep 2008 23:03
True, but when you are using 1000, 2000 images or more (or any number that can be easily reached when developping a 2D game), it's sure that you'll have to render images taken everywhere in the interval. It is that addition of rendering images with a high number which will slow down a game.
I discover the bug because I was needing to do such a render.

And I don't think that this bug will be fixed one day. I reported it on January 2006 on french forums, then someone reported it here, and nothing has changed...
tiresius
20
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 18th Sep 2008 05:48
Hey Mod-

So what you're saying about AS future... it's kind of like DBpro/FPSC. When Lee worked on FPSC he made some improvements/additions to the commands, and as a result of that we eventually saw them in an update. So in your JadeBasic project you're working with the same core as advanced sprite plugin so when you make changes/improvements to Jade you can easily update the AS plugin that we're using?

I'm not a real programmer but I play one with DBPro!
Mod
17
Years of Service
User Offline
Joined: 8th Oct 2005
Location: France
Posted: 18th Sep 2008 11:05
Exactly .

More about this link between AS and Jade : I foresee to create a debug version of the plugin to develop easily with Jade. A debug version which will report empty or bad pointers, loading errors, etc. But to maximize speed, because errors tests need some time to be executed, the final version could integrate the report-free version. Like the current plugin.
tiresius
20
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 18th Sep 2008 17:40
Nice!

I'm not a real programmer but I play one with DBPro!
Gask
15
Years of Service
User Offline
Joined: 1st Sep 2007
Location:
Posted: 19th Sep 2008 22:31
Mod , ok you are right , what is strange , is that i have different result with different image , sometimes

for i = 1 to 1000
paste image i,100,100
next i

is faster than

for i = 1 to 1000
paste image 1000,100,100
next i

sometimes not.

but i think pasting more than 100 images by second is an error.
using cls for a 2D game is an error too.

you can paste only once the 4000 tiles , and after only past the tiles that have change.

maybe a fix is better too eheh
CoffeeGrunt
15
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 20th Sep 2008 16:43
This can be in a 3D program to make Decal sprites abd such, right? If so, I plan to use this in my WIP engine.....

Mod
17
Years of Service
User Offline
Joined: 8th Oct 2005
Location: France
Posted: 21st Sep 2008 22:03
@ Gask : rendering that amount of images surely is not something to do, but sometimes, it's difficult to do something else. For example when rendering a map with with multiple layers, multiple NPCs, HUD, etc.

@ WindowsKiller : it's really easy to reach 1000, 2000 images loaded simultaneously, or more.

Example for an RPG I develop :
Usually, I have something like 60x10 tiles per tileset to render a map. 600 images.
A "normal" map (150x150 tiles) usually have something like 50 different NPCs (not very high), NPCs using 8 frames per direction, with one static image (I don't count other animations like closing eyes, etc).4 direction. 50*9*4 = 1800.
2400 images are loaded.
Add to this backgrounds, menus, PC animations, map animations, and this kind of images... The framerate will be dramatically hit.
Mod
17
Years of Service
User Offline
Joined: 8th Oct 2005
Location: France
Posted: 22nd Sep 2008 22:11
Of course, lol. ^^

It was just an example to demonstrate why it's not interesting to use paste image, and why using create animated sprite + paste sprite is more efficient, and why AS is not that bad when comparing it to this method, etc. ^^
The admiral
20
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 28th Nov 2008 08:33
Can someone explain how the collision system works I cant seem to detect anything.

The admiral
Manchu
16
Years of Service
User Offline
Joined: 2nd Jan 2007
Location: Here! of course
Posted: 19th Feb 2009 19:09
Hi, works fine at 3d space too? I made a GUI of 3d game with standards sprites of DBP, anda I see that is slow sometimes. Whit this plugins can I solve this problem (remember, is a 3d game)? Thanks
Aralox
16
Years of Service
User Offline
Joined: 16th Jan 2007
Location: Melbourne
Posted: 23rd Feb 2009 09:34
I had a look through the Advanced Sprites help files, and couldnt find any collision commands - I really need help with disabling transparent collision, i started a thread about this : http://forum.thegamecreators.com/?m=forum_view&t=145823&b=1

Hope someone will be able to give me a hand with this =)

Caleb1994
14
Years of Service
User Offline
Joined: 10th Oct 2008
Location: The Internet you idiot!
Posted: 24th Feb 2009 06:17
can i use this dll with dbc using call dll? this would be very useful

Login to post a reply

Server time is: 2023-02-09 00:14:26
Your offset time is: 2023-02-09 00:14:26