QJ.NET | Videos | Forums | iPhone | MMORPG | Nintendo DS | Wii | PlayStation 3 | PSP | Xbox 360 | PC | Downloads | Contact Us
Forums | Gaming News | Videos | Downloads | Today's Posts | Mark Forums Read | Chat | FAQ | Members List | Contact

QJ.net Game Discussion - PSP, Xbox, Wii, PS3, PSP Homebrew, and PSP Guides

Go Back   QJ.net Game Discussion - PSP, Xbox, Wii, PS3, PSP Homebrew, and PSP Guides > Developers Corner > PSP Development, Hacks, and Homebrew > PSP Development Forum
The above video goes away if you are a member and logged in, so log in now!

Fractal Universe V1

This is a discussion on Fractal Universe V1 within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; Fractal Universe V1 for Sony PSP by Art 2009 PSP Version: Canon Digital Camera Version: Hi Guys. This is my ...

Reply
 
LinkBack Thread Tools
Old 07-03-2009, 08:07 PM   #1
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default Fractal Universe V1

Fractal Universe V1 for Sony PSP by Art 2009

PSP Version:






Canon Digital Camera Version:


Hi Guys.
This is my first version of Fractal Universe for the PSP.
I wasn't going to write any more PSP apps since I'm actively programming
for another platform and all, but this one was actually done to speed up
the process of writing the same program to run on another platform
(and then I got carried away with it).

This is a relatively fast Mandelbrot set fractal explorer.
You can move left, right , up, down, and zoom in & out of the image you see at any time.
The fractal universe is limitless, and you can zoom in as many times as you like without
losing any detail. You can also save an image to Memory Stick.

Download backup link:
Send big files the easy way. Files too large for email attachments? No problem!

Cheers, Art.
Attached Files
File Type: zip Fractal Universe V1.zip‎ (233.6 KB, 23 views)

Last edited by Art; 07-04-2009 at 12:29 AM..
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-03-2009, 08:13 PM   #2
Developer and Tutor.
 
FaT3oYCG's Avatar
 
My Mood: Happy
Join Date: Jul 2007
Real First Name: Craig
Location: Widnes, England
Just Played: Life.
Posts: 1,646
Trader Feedback: 0
Default

Nice Art i love the apps and programs that you make you always provide screenshots and good documentation aswell, well done
__________________
------ FaT3oYCG -----
AKA Craig, call me what you want to It's your preference.
My Website: is down for a while ... I'll bring a new one back soon.

Currently working on:
(0) PGE Gears Of War - On hold (Very large project).
(0) PS???? - A tactical 2d side scrolling game involving AI and online multiplayer features. - Tile engine nearley finished (1 bug to fix).
FaT3oYCG is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-03-2009, 08:15 PM   #3
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Thanks
I'm glad I did this one, because I used to like playing with a program like this years ago.
(and it was much slower).
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-03-2009, 08:15 PM   #4
Local Tech
 
joseph10444's Avatar
 
Join Date: Oct 2007
Real First Name: Joe
Location: home
Just Played: rockband
Posts: 1,822
Trader Feedback: 0
Default

hey screens look reall nice and promising
but what does this line mean? "This is a relatively fast Mandelbrot set fractal explorer."
joseph10444 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-03-2009, 08:18 PM   #5
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

It's pretty intensive work for the computer to render a fractal.
This algorithm is "relatively" fast (ie. faster than some other algorithms out there).
The PSP isn't the fastest platform to run it on though.
It takes some seconds to render each frame.

The previous PSP fractal explorer was able to do it faster sacrificing quality.
This one should be virtually infinite (for as long as you can keep dividing a double precision float by 2),
which means you can keep zooming in forever and not lose any detail.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 04:20 AM   #6
 
My Mood: Cynical
Join Date: Sep 2006
Posts: 40
Trader Feedback: 0
Default

nice app, but level details after multiple zoom (cca 10x) rapidly declines
niobe is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 04:37 AM   #7
Developer and Tutor.
 
FaT3oYCG's Avatar
 
My Mood: Happy
Join Date: Jul 2007
Real First Name: Craig
Location: Widnes, England
Just Played: Life.
Posts: 1,646
Trader Feedback: 0
Default

o_O the quality is fine, you zoomed in so you get more black, what did you expect it to look like that is not pixilated! good quality.
__________________
------ FaT3oYCG -----
AKA Craig, call me what you want to It's your preference.
My Website: is down for a while ... I'll bring a new one back soon.

Currently working on:
(0) PGE Gears Of War - On hold (Very large project).
(0) PS???? - A tactical 2d side scrolling game involving AI and online multiplayer features. - Tile engine nearley finished (1 bug to fix).
FaT3oYCG is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 04:58 AM   #8

Developer
 
seanpaul223's Avatar
 
My Mood: Psychedelic
Join Date: Dec 2007
Location: B.F.
Posts: 308
Trader Feedback: 0
Default

Pretty Nice, Art, I tried it.

I have been working on the same topic, in Lua. I found the whole script on my laptop.

Code:
depth,x0,y0,x1,y1 = 32,-1,-1,1,1
--x0 = -0.65
--y0 = -0.7
--x1 = -0.5
--y1 = -0.6

collist = {}
for i=0,depth do
b = math.floor(i / depth * 1024)
if b > 255 then
b = 255
end
g = math.floor((i - depth / 3) / depth * 1024)
if g > 255 then
g = 255
end
if g < 0 then
g = 0
end
r = math.floor((i - depth / 3 * 2) / depth * 1024)
if r > 255 then
r = 255
end
if r < 0 then
r = 0
end
collist[i] = Color.new(r, g, b)
end
collist[depth-1] = Color.new(0, 0, 0)

-- Drawing Fractal
w,h=480,272
render = Image.createEmpty(480,272)
deltax = x1 - x0
deltay = y1 - y0
for y=0,h-1 do
	for x=0,w-1 do
	r = 0; n = 0; b = x / w * deltax + x0; e = y / h * deltay + y0; i = 0
		while i < depth-1 and r * r < 4 do
		d = r; r = r * r - n * n + b; n = 2 * d * n + e; i = i + 1
		end
	render:pixel(x, y, collist[i])
	end
screen:blit(0, 0, render)
screen.waitVblankStart()
screen.flip()
end

while true do
screen.waitVblankStart()
screen:flip()
end

And result:

__________________
00:00: Windows is loading...Come back tomorrow.
01:00 : Booting done.Not yet errors encountered...
01:10: Fatal error.Windows has been detected on logical drive
01:22: Keyboard Locked, try everything.
01:42 : Mouse Device Pilot not found, or uninstalled.Press Left-Bouton to continue.
01:50 : Ending User session.Do you want to play another game ?
01:59: Not enough memory.Only 508'312'583 bytes available.
02:00 : System is shutting Down.
seanpaul223 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 05:26 AM   #9
 
I-am-nobody's Avatar
 
Join Date: Dec 2008
Real First Name: Kelvin
Location: London
Just Played: Batman
Posts: 94
Trader Feedback: 0
Default

Good to see your work on the psp aging.

Thanks
I-am-nobody is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 07:51 AM   #10
Pro Hacker
 
nickxab's Avatar
 
My Mood: Daring
Join Date: Jan 2009
Real First Name: Nick
Location: Greece,Limnos
Just Played: Cross Fire
Posts: 2,491
Blog Entries: 3
Trader Feedback: 0
Default

They are nice for screensaver.
Is it possible to make it ?
__________________
Phat PSP 1004 TA-079 v3+Sony 16GB Mark II with 5.00 m33-6+1.50 kernel+5.01 patch+6.10 version.txt
iPhone jailbroken with OS 3.0
PS2 Slim model SCPH-75004 + MC boot 1.8

Fujitsu Simens Amilo PA1510+2.5GB Ram+AMD Sempron 3400+ 1.8GHz+Windows XP

My site
My qj blog
My guides
Patch the 5.50/6.00 games to work with all FWs
My CWCheat databases





nickxab is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 09:20 AM   #11
 
cmbeke's Avatar
 
My Mood: Cheerful
Join Date: Jan 2008
Real First Name: Chris
Location: Iowa
Just Played: Goear PSP v1.1
Posts: 259
Trader Feedback: 0
Default

wow this looks great
cmbeke is online now  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 02:26 PM   #12

¡Éste es Spartaaaaaaa!
 
Torch's Avatar
 
Join Date: Jun 2007
Posts: 2,472
Trader Feedback: 0
Default

Sometimes my memory stick led keeps blinking for ever when I use this.

You should have a list of "known to look cool" color palletes
__________________
You didn't hear it.
You didn't see it.
You won't say nothing to no one, never in your life.
You never heard it.
How absurd it all seems without any proof.
Torch is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 04:14 PM   #13
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Quote:
Originally Posted by niobe View Post
nice app, but level details after multiple zoom (cca 10x) rapidly declines
You are right. My understanding is somewhat better now.
I have a fix that will allow many more levels of detail:



And note you can't see the transition between colours.
This level of detail at high zoom costs a lot of time, so I'm thinking of a trick
to use like zooming in at low detail, and then turning on high detail once you're
already there.

I also have saving of multiple images ready.
Art.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 04:44 PM   #14
 
cmbeke's Avatar
 
My Mood: Cheerful
Join Date: Jan 2008
Real First Name: Chris
Location: Iowa
Just Played: Goear PSP v1.1
Posts: 259
Trader Feedback: 0
Default

that sounds neat, you should add some catchy song to it it feels like that is all that is missing. Anyways great work
cmbeke is online now  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 05:19 PM   #15
 
Join Date: May 2008
Posts: 6
Trader Feedback: 0
Default

Fyi- Details at higher zoom.. (Ie Blackness) is fixed with higher iterations.
TesterSam is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 05:20 PM   #16
 
Join Date: Jul 2007
Location: Somewhere
Posts: 58
Trader Feedback: 0
Default

Amazing work Art ! =]
bboyjcm is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 05:54 PM   #17
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Quote:
Originally Posted by TesterSam View Post
Fyi- Details at higher zoom.. (Ie Blackness) is fixed with higher iterations.
Yes, this one uses 30, I'm adding an option for 256 which is also the number
of colours in the palette.

There's also an "auto mode" that will zoom out to 0 from where ever you are,
and save a numbered image for every frame.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-04-2009, 06:04 PM   #18
 
cmbeke's Avatar
 
My Mood: Cheerful
Join Date: Jan 2008
Real First Name: Chris
Location: Iowa
Just Played: Goear PSP v1.1
Posts: 259
Trader Feedback: 0
Default

that sounds good
cmbeke is online now  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 03:01 AM   #19
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Quote:
Originally Posted by Torch View Post
Sometimes my memory stick led keeps blinking for ever when I use this.

You should have a list of "known to look cool" color palletes
Don't know why that would be. It only should access the MS to save images.
The colour palettes are auto generated with the code from the PSP Plasma demo
It would be possible to remember the number of iterations used to generate each palette to reproduce good ones.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 03:03 AM   #20

¡Éste es Spartaaaaaaa!
 
Torch's Avatar
 
Join Date: Jun 2007
Posts: 2,472
Trader Feedback: 0
Default

When it shows the intro screen and I press a button to show the first image, the MS LED starts blinking. It keeps blinking until I press a button again and it says CALCULATING. It would be nice if it didn't exit immediately when pressing the Home button.
__________________
You didn't hear it.
You didn't see it.
You won't say nothing to no one, never in your life.
You never heard it.
How absurd it all seems without any proof.
Torch is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 06:26 AM   #21
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Ah, I was using the exit callbacks, but it either hung or took a very long time to exit,
so I set to exit on popup screen.

Here's a demo I'll be using in the thread for version 2. Done by incrementing the max
number of iterations by one for each of 256 frames

http://www.youtube.com/watch?v=vOYNpAPuClE

There's plenty of zoom videos on YouTube, but I haven't seen this effect yet.
Art.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 07:30 AM   #22
 
cmbeke's Avatar
 
My Mood: Cheerful
Join Date: Jan 2008
Real First Name: Chris
Location: Iowa
Just Played: Goear PSP v1.1
Posts: 259
Trader Feedback: 0
Default

wow that is awsome keep up the good work
cmbeke is online now  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 07:00 PM   #23

¡Éste es Spartaaaaaaa!
 
Torch's Avatar
 
Join Date: Jun 2007
Posts: 2,472
Trader Feedback: 0
Default

Quote:
Originally Posted by Art View Post
Ah, I was using the exit callbacks, but it either hung or took a very long time to exit,
so I set to exit on popup screen.
How are you detecting the Home screen from user mode?? The ExitCallback only fires after the user chooses Yes.
I don't see why it would take long using the exit callback. As long as you check the done=1 or whatever variable that gets set in the callback from withing the rendering loop it should terminate instantly.
__________________
You didn't hear it.
You didn't see it.
You won't say nothing to no one, never in your life.
You never heard it.
How absurd it all seems without any proof.
Torch is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 07:21 PM   #24
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Thanks, it appears to be fixed now.
You can check for the exit popup just by checking for the Home button in user mode.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 07:24 PM   #25

¡Éste es Spartaaaaaaa!
 
Torch's Avatar
 
Join Date: Jun 2007
Posts: 2,472
Trader Feedback: 0
Default

Quote:
Originally Posted by Art View Post
Thanks, it appears to be fixed now.
You can check for the exit popup just by checking for the Home button in user mode.
No you can't read the Home button from user mode. You're using the kernel mode Ctrl functions if you can do that. Or you're using kubridge. Which means its not firmware independent like you said it was. kubridge is only available from 3.something CFW onwards and directly calling the kernel function would only work on the 1.50 kernel.
__________________
You didn't hear it.
You didn't see it.
You won't say nothing to no one, never in your life.
You never heard it.
How absurd it all seems without any proof.
Torch is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 07:29 PM   #26
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Doesn't this line:
PSP_MODULE_INFO("Fractal Universe", 0, 1, 0);
cause a program to be unable to use kernel mode functions?
then this:
// if(pad.Buttons & PSP_CTRL_HOME) {
// sam = 1; // set sample address counter
// samlock = 1; // re-enable player routine
// samsel = 1; // select click sample
// sceKernelExitGame();
// }

is what I was using.

THe problem is if I check for a done var for every iteration it will probably add significant delay
with so many iterations.
I could compromise and check once each line or something.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 07:38 PM   #27

¡Éste es Spartaaaaaaa!
 
Torch's Avatar
 
Join Date: Jun 2007
Posts: 2,472
Trader Feedback: 0
Default

Right, I forgot. In user mode it doesn't return the physical state of the Home button (whether its pressed or not) but returns whether the Exit screen is visible or not. Thus it would return true even after you release the home button.

You have to be checking for the Home button in a loop as well right? That consumes WAAAAY more CPU, 1000s of instructions, as its a Syscall into a kernel export. Checking if done!=0 would be compiled to 3 or 4 instructions. It just needs to respond in a reasonable amount of time, so just put it in an appropriate location.
__________________
You didn't hear it.
You didn't see it.
You won't say nothing to no one, never in your life.
You never heard it.
How absurd it all seems without any proof.
Torch is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-05-2009, 07:51 PM   #28
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

I wasn't checking it at all in the drawing loop though.
It would have still taken ages to exit while drawing probably.
But I'm going to check the done var for each of the 272 lines that are drawn.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Tags
fractal , universe

Thread Tools

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

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT -8. The time now is 05:32 AM.



Use of this Web site constitutes acceptance of the TERMS & CONDITIONS and PRIVACY POLICY
Copyright © 2009, QJ.NET. All Rights Reserved.
Contact Us