AgenaWorld 1.5 released

Anything related to the PSP

AgenaWorld 1.5 released

Postby edepot on Fri Mar 21, 2008 12:11 am

Since the installation of new forums on this site, I will use it initially to announce PSP stuff (like homebrew) like a blog.

To meet the deadline on a homebrew game competition, AgenaWorld 1.5 was released today. The major changes that this version offers is customizable fonts. All the fonts inside this version are hand-drawn (or pixeled) and is of the size 6x8. Also included inside the game is proportional sized fonts, but it is not fully coded yet, but the fonts do exist, and you can see it by outputting the game to the TV when running on the PSP Slim (it is part of the initial splash screen for the coding contest).

Other improvements (already somewhat mentioned) is the ability for the game to output to the TV when running on the PSP Slim. There was a problem running full screen size 720x480 pixels double buffered, so the game was tweaked for the maximum resolution possible without any artifacts: 640x384 and 720x320. These lower resolution settings were needed to overcome the inherent 2MB video memory limitation of the PSP (more info in a followup).

The thing that was bothering me about the game engine was that it is based on integer pixels for location and velocity, so in this version a ghost ship in the background was coded in to allow for more fine tuned floating point location and velocity. It feels more fluid, so the next version may have all the objects use this new algorithm.

This game has been put on the back-burner for a long time, but I am hoping that I am able to implement the 3D stuff for it eventually. The only problem is
that all the 2.5D and 2D algorithms were hand coded in software and the 3D stuff I can get working is using hardware accellerated API calls. Mixing them together causes a lot of problems, so for now the game only uses the software algorithms, and the 3D stuff will come when it comes.

There was a 1.4 released containing just the TV out (no custom fonts), not widely distributed though.

To download it just visit the edepot game page at http://www.edepot.com/game.html
edepot
Site Admin
 
Posts: 379
Joined: Sat Mar 01, 2008 9:26 pm

How to install AgenaWorld 1.5

Postby edepot on Fri Mar 21, 2008 7:22 am

Follow this procedure:
Make sure you downloaded:
http://www.edepot.com/agenaworld15.rar

Open the rar (with winrar or similar)
Drag and drop PSP folder inside to the root of your memory stick
(make sure it is at least 128MB free space, as the game is large).

Afterwards, your memory stick should have this folder:
ms0:/PSP/GAME/Agenaworld/


Check your PSP:
Go to XMB: Settings->System Settings->System Information
Check to make sure you have firmware 3.71 or higher (custom like M33).
If you have it, then turn off your PSP (hold power switch up for
like 10 seconds). Then hold down R Trigger and while leaving it down
switch on the power. You should see a M33 Recovery Menu.

Go to Configuration menu, and look for the "Game folder homebrew"
setting. Make sure that it says "Currently: 3.71 Kernel" or
"Currently: 3.90 Kernel" or something that is greater or equal to 3.71.
You need to do this because the TV out thing requires the latest kernel.

After you have changed it to the correct parameters, go to the "Back"
and "Exit" setting, which will reboot your PSP.

After rebooting, look for Agenaworld 1.5 game icon in your Game
XMB menu. But if you are testing on TV, connect the cable to your
PSP first, switch your TV to the same connection on the cable. Go
to your PSP's XMB: Settings->Connected Display Settings->Switch Video Output. Your TV should now have the XMB screen. Go to the Agenaworld
1.5 game and run it. The TV should come up with the setting for
two different resolutions: 640x384 and 720x320, choose your mode.

If you just want to run it on the PSP LCD, choose the 480x272 without
going through the cable and switching video output thing.



The game doesn't use much hardware accelleration, so your CPU speed
determines the speed of the game. Move the analog stick inside the game to change the CPU
speed and you will see how it affects the overall speed of the game
linearly. A lot of the game engine was coded from scratch, this includes the
line algorithms and 3D rotating stuff, so basically all the music and graphics
are actually written to the video memory pixel by pixel and sound speaker
byte by byte!
edepot
Site Admin
 
Posts: 379
Joined: Sat Mar 01, 2008 9:26 pm

More technical info on Agenaworld

Postby edepot on Fri Mar 21, 2008 8:26 am

The game actually outputs 720x480 to your TV and your TV will get this 720x480p signal.

However, because the PSP has only 2MB (2097152 Bytes) of Video Memory, the game won't be able to fit double buffered screenful of 720x480 pixels at 32bit per pixel into that 2MB.

720x480x4x2 = 2764800 Bytes, which exceeds 2MB (2097152 Bytes).

720 = number of horizontal pixels
480 = number of vertical pixels
4 = four bytes per pixel (which is 32 bits per pixel: 4 * 8 bits per byte)
2 = two screens (for double buffering)

So in order to fit two screens into 2MB, custom resolutions of 640x384 and 720x320 were used. The
PSP hardware will fill in the rest to meet the 720x480 signal speed, but those parts are not part of the game screen.

640x384x4x2 = 1966080 Bytes
720x320x4x2 = 1843200 Bytes

Both these resolutions fit within the 2MB (2097152 Bytes).

The game uses high resolution Hubble Telescope images, so lowering the 32 bits (4 bytes) per pixel (actually 24bits per pixel) to 16bits (2 bytes) per pixel will lower the quality of the space images. The actual video resolution of the game is XRGB per pixel (4 bytes per pixel), where each letter designates one byte of info (or 8 bits):

X = Not used
R = Red
G = Green
B = Blue

The PSP supports XRGB 32bits (4*8bits) per pixel, or 16Bits (bit for bit: XRRRRRGGGGGBBBBB) per pixel. For 32bit XRGB, only 24bits is used for actual color information and 8 bits are wasted (the X in XRGB).

Note that this limitation can be overcome, and the next versions should remove this limited resolution. One way is
to simply not put the buffer inside the video memory. The problem with this is that you must manually copy over
each screenfull of data from system memory which will be too slow without hardware accelleration (a blitter). The game is mostly coded without hardware acceleration at this moment. But if using hardware blitter, the full resolution 720x480 resolution is possible by having the video memory hold only one screen of 720x480x4 of graphics and a blitter will blit either of the two extra screen buffers from system memory to this video memory.
edepot
Site Admin
 
Posts: 379
Joined: Sat Mar 01, 2008 9:26 pm


Return to PlayStation Portable

Who is online

Users browsing this forum: No registered users and 1 guest