News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Sugarlumps demo

Started by ralferoo, 01:53, 09 September 12

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ralferoo

I just released a pretty short demo at Sundown 2012 called Sugarlumps, featuring a music track by mr_lou.

A zip file containing disk and tape images is at http://ranulf.net/sugarlumps.zip


ralferoo


rexbeng

Hey! Is this your firstie? This is a brilliant little demo! Very smart use of colors on that sexy twister  ;)


regards,
rb

ralferoo

Yeah, my first ever released demo.  8)

To be honest, it was a little rushed at the end... I spent a couple of months writing the system and not much on the actual demo parts - a week ago it was only 20 seconds long, but I'd promised several people that I'd release something at Sundown and I managed it just... 3 minutes before the deadline! But I guess that means I still have lots of unimplemented ideas left over for the next demo...  :D

McKlain

Super cool gfx and music, congratulations!  :D

Devilmarkus

Superb little demo! Like it much!
And it's old-school!
Well done!
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Devilmarkus

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

tastefulmrship

#7
A very nice demo.  I especially like the use of the CPC palette to simulate transparency in the vectors!

It looks like 2012 is a great year for CPC demos (Wolfenstrad, Clouds with Virgins in the Skies, Impact/Revival coop) and games! Let's hope there are more to come!


EDIT: Congratulations on winning the Oldeskool Demo Compo! Well deserved!

fano

"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

MacDeath

Nice to see it won against ST, Amiga, C64 and Speccy... :P

voXfReaX

#10
Quote from: ralferoo on 10:13, 09 September 12
Yeah, my first ever released demo.  8)

To be honest, it was a little rushed at the end... I spent a couple of months writing the system and not much on the actual demo parts - a week ago it was only 20 seconds long, but I'd promised several people that I'd release something at Sundown and I managed it just... 3 minutes before the deadline! But I guess that means I still have lots of unimplemented ideas left over for the next demo...  :D
Hi doz,
Congrats for the #1 place!!!!
It is a very promising production, especially when someone considers the fact that it is your first - Well done! :)
I am looking forward to your next ones - I am sure that they will be better!
If I am allowed to 'complain' a bit, the only 'improvement' that I could suggest would be the graphics, which look too ZX-ish for me. Apart from this, it is a solid work! ;)

Quote from: tastefulmrship on 16:06, 09 September 12

It looks like 2012 is a great year for CPC demos (Wolfenstrad, Clouds with Virgins in the Skies, Impact/Revival coop) and games! Let's hope there are more to come!

I hope you accidentally forgot about Wake up, Stop that Nyan Cat and Glory Holes :P


we speak,
voxy

rexbeng

Pf, why did you have to remind us of Benediction's rubbish? Please, make it go away again! :P

rb

ralferoo

Quote from: voXfReaX on 17:17, 11 September 12
It is a very promising production, especially when someone considers the fact that it is your first - Well done! :)
If I am allowed to 'complain' a bit, the only 'improvement' that I could suggest would be the graphics, which look too ZX-ish for me. Apart from this, it is a solid work! ;)
Cheers! The next demo will definitely continue the chunky theme as I wrote the chunky code in preparation for some 3D work and there just wasn't time before Sunrise to finish that, so I did some 2D effects instead.

It's been quite a long time coming. I remember deciding last year I wanted to do a chunky effect, and finally produced this just over a year ago:
sines on Amstrad CPC - about 1.5K which shows at least that my talent for picking primary colours hasn't changed much despite having scrapped the code completely 2 or maybe 3 times since then every time I figured out a new way of saving a cycle or two per pixel... :)

Are you guys going along to Main? I probably won't have made much progress in my next demo by then, but if you're there it'll definitely be good to catch up again!

McKlain

Quote from: rexbeng on 17:54, 11 September 12
Pf, why did you have to remind us of Benediction's rubbish? Please, make it go away again! :P

rb


I feel insulted, sir.


*throws glove to the face*

rexbeng

Oooh! What a treat!


*picks up glove and eats it*  :P


rb

ralferoo

Quote from: Devilmarkus on 14:42, 09 September 12cpc-live link
Thanks! I put a link to that on the pouet page too... :)

MacDeath


QuoteI feel insulted, sir. *throws glove to the face*
QuoteOooh! What a treat!*picks up glove and eats it*
sound like this will be settled in blood and code, through a traditional demo contest...


Choose your weapons : Raster or scroll ?




McKlain

Hardware envelopes  ;D

fano

There is long time i wanted to see realtime transparency/blending on CPC because the palette is really good for this.This little effect is really fantastic in this way, i hope to see more on this subject from you  ;)
"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

Gryzor

Your first demo? How lovely indeed, really loving the chunkiness. Very cute and honest, and with a great tune to boot. Thanks!!!

rexbeng

#20
What the heck? What's the deal with all the Russians bitching about SL? What do they say? What do they want? :P


rb

voXfReaX

 
Quote from: ralferoo on 20:05, 11 September 12

Cheers! The next demo will definitely continue the chunky theme as I wrote the chunky code in preparation for some 3D work and there just wasn't time before Sunrise to finish that, so I did some 2D effects instead.

It's been quite a long time coming. I remember deciding last year I wanted to do a chunky effect, and finally produced this just over a year ago:
sines on Amstrad CPC - about 1.5K which shows at least that my talent for picking primary colours hasn't changed much despite having scrapped the code completely 2 or maybe 3 times since then every time I figured out a new way of saving a cycle or two per pixel... :)

Hehe! Indeed, but I like the fact that you thought about xor-ing the colors whenever they get in contact with each other! As I said in my previous post, I really look forward to your next productions - I am sure that you will progress thru time and that you will produce better and better results :)
Quote from: ralferoo on 20:05, 11 September 12
Are you guys going along to Main? I probably won't have made much progress in my next demo by then, but if you're there it'll definitely be good to catch up again!
I do not think that any BND member will be there - but probably some CPC users might be there (Hicks, Beb, Toms, Grim, MaDe,  but not sure...). Personally, I do not have enough time to travel from Greece at the moment, so let's see if I'll make it next year ;)
Quote from: rexbeng on 17:54, 11 September 12

Pf, why did you have to remind us of Benediction's rubbish? Please, make it go away again! :P
And I thought that there wouldn't be any bitching from your side :P
we speak,
voxy


   

ralferoo

Quote from: rexbeng on 05:51, 16 September 12
What the heck? What's the deal with all the Russians bitching about SL? What do they say? What do they want? :P
I think they wanted another spectrum demo... ;)

To be fair, the Spectrum demo I was up against was a lot more polished, so there's some merit in thinking it should have scored better, but I really haven't seen that kind of fanboyism since school playgrounds 20 years.

Optimus

Lovely demo!


I was wondering about speed of chunky routine.
Is it using hardware trick to copy a line 4 times and give the impression of 4*4 pixel blocks?
It's quite fast I think.
My own 4*4 (even with dithered blocks which needs software routine) are already 2-3 VBLs even without calculating an effect upon the buffer.
But this not, probably because of having to write only 1 byte and use HW trick to copy lines.

ralferoo

A bit of a long answer, but never mind... :)

The raw copy/fill routine works out to be 5 cycles per pixel, so 5*64*48=15360 plus some overhead, which is less than a frame. In reality, though, extra cycles are needed for the chunky mode effect and also for the interrupt handling. However, one thing to remember is that the time spent in the portion of the screen in the chunky display needs to be accurately cycle counted to get the effect to work correctly. Given that the the copy/fill routine can be exactly cycle controlled, I decided to do the copy/fill processing only during the chunky area of the screen. So, the copy/fill code takes about 1.4 frames to render. However, this also means that 1/3 of each frame isn't used and so can be used to calculate the next frame.

That still leaves at about 0.6 periods of chunky areas unused per 2 frames, so I decided to use that to do my triangle filling. I optimised the inner loop of the Bresenham line algorithm and got it down to a constant 20 cycles per step - so again, this is ideal for fitting around an accurate cycle counted chunky area. So, I end up with 3 possible code paths for the chunky area of the screen:

       
  • Drawing lines into the copy/fill buffer for the whole area
  • Drawing lines into the copy/fill buffer for the top half, copy/filling the top 1/3 of the screen
  • Copy/filling the bottom 2/3 of the screen
The last 2 steps work fine because the beam has already rendered past the area of screen being updated at any point, so no tearing is visible.

Also, the fastest a complete this code will run at is in 2 frames (as happens with the twister) but could take much longer if there is triangle filling work to do. Interestingly, the twister subverts the code path slightly because this demo was always meant to be a triangle drawing demo not a twister demo! Most of the demo updates the screen every 3 frames.

So, back to that spare 1/3 of the CPU time - of the 312 screen lines, between 192 and 200 are used to handle the filling process, leaving about 100 or so free after the music interrupt and scroller. During this time, we're generating data for the Bresenham inner loop. To avoid the possibility of rendering data before all sides of the triangle are drawn, I actually triple buffer these buffers!

I've actually already tidied up the source ready for release, but I'll hold off releasing it until after the next demo as the process described above will be largely untouched in the next demo - that'll be all about the 3D code to generate the required triangles... :)

Powered by SMFPacks Menu Editor Mod