PDA

View Full Version : Phoenix Game Engine (Lua) 0.02



wraggster
August 29th, 2008, 22:10
Insomniac197 has updated his Phoenix Game Engine for PSP:


Phoenix Game Engine (PGE) is a fully featured engine for game development written by InsertWittyName and MK2k.

PGE Lua is the Lua wrapper of that engine.

-= FEATURES =-

pge.controls - Handling button and analog input.
pge.dir - Directory access and file system operations that deal with directories.
pge.file - File access and file system operations that deal with files.
pge.font - TrueType font loading and drawing.
pge.gfx - Graphic primitives drawing.
pge.math - VFPU math module.
pge.mp3 - MP3 playback for background music.
pge.net - Net and socket functions.
pge.texture - Image loading and drawing.
pge.timer - Timer module.
pge.usb - USB functions.
pge.utils - Utility functions for using the dialogs and retrieving system information.
pge.wav - WAV loading and playback for sound effects.
pge.zip - ZIP file access and extraction.

PGE Lua uses a port of the latest Lua release 5.1.4, which has been optimised specifically for the PSP.

PGE Lua comes with 23 fully commented samples demonstrating how each module is used.

Alongside that, full documentation is available via the homepage: http://pge.luaplayer.org/

There is an emulator for PGE Lua which runs on Windows, Linux, OSX and allows PSP-less development. This is almost complete and will be released at that time.

-= VIDEOS =-

Low resolution:
http://www.youtube.com/watch?v=MT-9HJlmWkE

-= INSTALL =-

Copy the 'pgelua' folder to PSP/GAMEXXX/ (or PSP/GAME/ if your kernel is set to 3xx/4xx in the recovery menu).

-= KNOWN ISSUES =-

None as of this writing. With this being an initial release I would expect there to be a few undiscovered bugs. Let us know.

-= HOMEPAGE =-

http://pge.luaplayer.org/

-= CONTACT =-

[email protected]

-= DOWNLOAD =-

http://pge.luaplayer.org/lua/downloads/pgelua_001.zip

-= CREDITS & GREETS =-

Coded in pure C and asm using the homebrew PSPSDK.

Thanks to TyRaNiD for psplink, which was used extensively in debugging.

Thanks to all in #psp-programming on freenode.net, where quality homebrew is produced. Special thanks to those in #lua who know so much about Lua it scares me.

Personal thanks to romero126 and Soulkiller, who tested, provided feedback and helped me steer PGE Lua to where it is.

Massive thanks to Raphael and Tomaz - the work we did on triEngine helped me really understand what an engine is.

Biggest thanks to MK2k for joining the project midway through development and making it much more than I ever expected.

-= NOTES =-

Please be aware that this is not Lua Player.

PGE Lua is it's own product and shares zero code with Lua Player.

For the C developers, the C API of Phoenix Engine will be released in due course, shortly.

PGE has been in development for over a year, it's not some mis-match of code copied from other people. This is the real deal.

There are lots more plans in store for PGE and PGE Lua, a roadmap will be released shortly showing the expected development.

-= SUPPORT =-

For further help that is not supplied by the samples or documentation, there are forums for PGE at http://pge.luaplayer.org/.

We are also on IRC, channel #psp-programming on irc.freenode.net, for one-to-one help.

-= UPDATE =-

Version 0.02 has been released.


Quote:
Originally Posted by CHANGELOG
Added pge.exit() to explicitely exit at any time.
Fixed pge.texture.draw() to only allow the correct number of parameters to be passed (reported by #Gianni#).
Added pge.texture.swizzle() to swizzle a texture.
Added pge.texture.unswizzle() to unswizzle a texture.
Added an optional parameter to pge.texture.load() and pge.texture.loadmemory() to specify whether to swizzle the texture on load.
Added pge.texture.pixel() to get or set the color value of a pixel within a texture.
Added an error check to pge.file.read(), returns nil if nothing could be read.
Added an error check to pge.file.readnum(), returns nil if the number could not be read.
Added a return value to pge.file.write(), returns the number of bytes written.
Fixed pge.mp3.loadmemory() which incorrectly checked for two parameters to be passed when it only requires one (reported by TheUnderminer).
Added pge.math.deg() to convert radians to degrees.
Added pge.math.rad() to convert degrees to radians.
Moved the socket functions to pge.net.socket.function() to give a layer of separation.
Moved the socketset functions to pge.net.socketset.function() to give a layer of separation.
Added an optional parameter to pge.net.socket.receive(), to specify how many bytes to receive.
Fixed pge.texture.save() to unswizzle the texture before saving, then re-swizzle if needed.

Download Here --> http://www.dcemu.co.uk/vbulletin/showthread.php?t=140822

Buddy4point0
August 29th, 2008, 23:19
Great!
I'm already working on a game using this.