(posted with permission of Gideros Staff)
Dear All
I have written a Lua-based game engine called Longford which is substantially compatible with Gideros code. I have released Longford free and open source and would encourage anyone interested to use it to port games to platforms not currently supported by Gideros. I'd also very much welcome contributions to what I hope will become a lively community project. I hope that experts on various platforms will come forward and port Longford to a range of systems and devices (maybe including obscure and retro devices like Amiga, old consoles, maybe even Commodore 64)
My intention in writing Longford was to port my games to platforms which Gideros does not support. At the moment, Longford can output native Windows apps and BlackBerry PlayBook apps (probably also works for BB10 phones, not tested). I've now got my game Nebula Retro running on my BlackBerry PlayBook. To convert from Gideros to Longford, I changed only 2% of the code. (however, you should bear in mind that I wrote Longford largely with Nebula Retro in mind so your project may need more work than this!)
Here are some of Longford's features:
+ Sprite hierarchy. Sprites drawn in order according to a display "tree". User can rearrange tree using commands like "addChild", "addChildAt", "removeChild" etc
+ ENTER_FRAME and touch events which propagate through the display tree. The "stopPropagation" command stops further propagation of touch events if necessary.
+ Creation of Sprites including polygon Shapes and rectangular Bitmaps with alpha channel (which can be imported as PNG, JPG, TIFF, BMP, TGA files)
+ Creation of textfields based on bitmap fonts. Fonts should be initially generated using Bitmap Font Generator from Angel Code. (free)
+ Translation, rotation and scaling of sprites.
+ Box2D for simple single-fixture bodies. Joints are not currently supported.
+ Box2D collision events
+ Sound system. Play sound effects using WAV files and stream music using OGG files. (note that MP3 is not supported at present)
+ Automatic "tweening" system where sprites can be transitioned smoothly between position, rotation, scaling (etc) states with a single command. The transition can be linear or non-linear (including exponential and "bounce" transitions).
+ Different scale modes on physical devices depending on device screen size. Automatic bitmap substitution "
@2x" etc.
Here are some things Gideros has but Longford does not support:
- MovieClips, Meshes, render to texture
- texture filling of polygons
- custom events
- support for physical keyboards, soft keyboards, accelerometer, vibration
- Anything to do with purchasing or ads (e.g. IAP)
- Internet access
- lots of Box2D stuff needs to be added
Here are some things which are different
* Longford streams OGG rather than MP3 music files
* GTween is built in to Longford. Tweens are properties of sprites not separate objects
* When Box2d bodies collide, the body rather than the fixture is passed to the collision listener
* Does not use |R| and |D| for file access but rather getPath() and getDocsPath() functions
* OO using Core.class is supported via a separate library (class.lua) not part of the core
* Longford does not automatically import any Lua files. You need to "require" files explicitly.
* Longford can export for Windows and BlackBerry native. Does not currently support iOS or Android.
* Everything is specified in the Lua files including system-level stuff like Logical coordinates etc. There is no separate properties file and no IDE.
You can find the full manual and API reference here:
https://sites.google.com/site/simpleinteractive1/longford/longford-manualhttps://sites.google.com/site/simpleinteractive1/longford/longford-api-referenceYou can download Longford from SourceForge:
http://sourceforge.net/projects/longford/Go to where it says "Longford Code". As well as the source code I've included an EXE file. Just run this and use the File menu to run some of the included examples. That's the quickest way to start.
Finally, here is a video tutorial I did
(I have prepared English subtitles which you can translate if you want).
Like all open source projects, Longford runs on encouragement. The more encouragement I get the more likely I will be to write/fix stuff! So let me know how you are getting on and what features are missing. Longford is in a beta stage at the moment so don't expect everything to work perfectly straight off. You can see from the above that there are lots of things I know I need to add, particularly for Box2D. But let me know if I've forgotten other stuff.
Please feel free to write comments on the Longford Forum on SourceForge. (link above)
And if anyone wants to get involved in the actual coding, I'd welcome that too!
Comments
I am hoping to port a few things over to Playbook/BB10/Windows in the near future and will provide feedback to both the community & @john26.
Website: http://www.castlegateinteractive.com
https://play.google.com/store/apps/developer?id=Castlegate+Interactive
Congratulations on the code, it is indeed a nice addition for BB or Windows apps.
Sidenote: You are still on XP or is that a virtual machine?
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
Yes, I'm running Windows XP, welcome to 2001! (Hopefully Longford will run on Windows 7! Please let me know).
In the near future, I'd like to add support for Mac OS X app store and maybe the Ubuntu app store.
Likes: zoolax
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
Website: http://www.castlegateinteractive.com
https://play.google.com/store/apps/developer?id=Castlegate+Interactive
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
I will try Longford then to use my Gideros codebase.
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
By the way One question:
-As far as i saw from the movie all lua files and assets are human readable. (without encryption of any kind). Is there any plan in your mind to implement encryption?
I don't have an immediate plan to implement encryption. You can, of course, byte compile the Lua files and distribute those instead of human readable Lua. Not the same thing as encryption of course but I guess it deters casual hackers...
I think in my next video I will give a run through of where everything lives in the code to help people to port to different OS's and just see where everything lives.
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
I'm not very good at this so I haven't been able to get my current project ported, but it's nice to know the option is out there to explore. Thank you!
Did you try all the examples?
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
It was pretty difficult to find the Open AL dll since it doesn't seem to be available through the original host anymore, but I did find the installer on google code (user "rallyraid").
A more advanced way is to set up Subversion and then check out the code. You can then check it out again in future and get the latest version immediately. I use TortoiseSVN which is a GUI version of Subversion.
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
The demos work great under Windows 8, no issues at all.
Crash after choosing any project:
Problem signature:
Problem Event Name: APPCRASH
Application Name: longford.exe
Application Version: 0.0.0.0
Application Timestamp: 52f80588
Fault Module Name: StackHash_0a9e
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Code: c0000005
Exception Offset: 057b503f
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1049
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
http://forums.steampowered.com/forums/showthread.php?t=2534355
longford.exe was compiled on Windows XP and is a 32-bit exectuable. From what I've read, it seems older (maybe 32-bit software) is crashing on some Win7 64 bit computers. Could you try recompiling Longford as a native 64 bit exe?
One person claims it is due to a "botched" automatic update from Microsoft:
https://forums.geforce.com/default/topic/549500/solution-for-stackhash_0a9e-errors-and-possibly-others-/
A large number of games are effected including 2013 Tomb Raider, Crysis 3 etc. He claims the problem is fixed by removing update KB2670838. You could try it.
Here's another link where people claim to have solved it
http://www.hitmanforum.com/index.php/topic/57471-resolved-hitman-absolution-crashes-before-launching-bex/
I will look into this some more. But recompiling seems a good option. You will eventually need to compile to release a Longford game anyway.
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
Btw, i have 32-bit win7.
http://sourceforge.net/p/longford/discussion/
I'm sure we will sort it out!
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
https://sourceforge.net/projects/longford/
Just run the installer and Longford will install in your Start Menu. Then, try running some of the examples in the "examples" folder. Select "main.lua" in most cases. Please let me know how you get on.
Likes: hgvyas123
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
If you like I'd be happy to look at some of the code and help get it working.
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975
Likes: ar2rsawseen
https://github.com/gideros/gideros
https://www.youtube.com/c/JohnBlackburn1975