Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

The Puggle Framework
Started by GrahamRanson Sep 18 2017 02:39 AM

5 replies to this topic
[TOPIC CONTROLS]
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

GrahamRanson

[GLOBAL: userInfoPane.html]
GrahamRanson
  • Contributor

  • 105 posts
  • Corona SDK

The Puggle Framework is something I've been working on in my spare time on and off for a while now.

 

The original plan was to release it as a plugin, and one day I still hope to do that, but for now I figured it would be a good idea just to allow access to it so people could get using it and I'd get some feedback to see if anyone else actually finds it helpful.

 

Some of you may have in the past used some of my libraries, namely Ice and the GG suite, well this is sort of the next step in my plan for those.

 

We used the GG suite of libraries internally at Glitch for quite some time, however when we developed the Serenity framework for our adventure games we decided to move away from the GG code in order to have things more integrated into the engine.

 

Last year I decided to start actually finishing some of the many prototypes I work on in my own time and wanted to have a framework that took care of all the things that were now part of Serenity so I started working on Puggle.

 

So far I've released one game that uses it - It's not Rocket Science - and am currently developing a business app, of sorts, that uses it and I'm slowly developing a new adventure system at Glitch that is using it extensively.

 

The code itself is hosted on GitLab here. Assuming you're using Git for your projects you'll want to clone it, or add it as a submodule, but if you're not you can just download the code directly.

 

To start using it you'll want to have the framework in a folder called "puggle" and then have that in the root directory of your project.

Once that is done you just need one line of code at the top of main.lua to get all its features:
 

require( "puggle.core" )

This post isn't meant to be a 100% guide, or even a 17% guide, for using the code and hopefully a lot of it is fairly straightforward but just as an initial bit of help, all of the internal systems can be accessed in the following fashion:

puggle.systemName:functionToCall( params )

So for instance, if you want to save some data out you would do this:

puggle.data:set( "hiScore", 126 )

And then if you wanted to print that data out at a later point you'd just do this:

print( puggle.data:get( "hiScore" ) )

Or you could add a sound file:

puggle.sound:add( "explosion", "sounds/explosion.wav" )

And then play it later:

puggle.sound:play( "explosion" )

Some of the other systems you can use are "language", "font", "colour", "utils", and many more.

 

I hope to start putting full documentation up on the GitLab wiki pages but for now if you have any questions please just ask and I'll happily answer all of them as well as I can!

 

Please note though, Puggle is very much in Beta and there are a lot of things that aren't fully implemented ( or at all ) so please don't go making any missile control or banking systems with it just yet!

 

 



[TOPIC: post.html]
#2

sporkfin

[GLOBAL: userInfoPane.html]
sporkfin
  • Contributor

  • 500 posts
  • Corona SDK

Fabulous!  Thanks Graham.  Your GG Libraries have been very helpful over the years.

 

-Jonthan



[TOPIC: post.html]
#3

GrahamRanson

[GLOBAL: userInfoPane.html]
GrahamRanson
  • Contributor

  • 105 posts
  • Corona SDK

Thanks! Glad to hear that the GG libs were helpful. I hope that Puggle will over time be able to replace all my old libs and be even more helpful :-)



[TOPIC: post.html]
#4

asmar1x

[GLOBAL: userInfoPane.html]
asmar1x
  • Observer

  • 9 posts
  • Corona SDK

This is excellent, and the code is very clean and understandable!  I look forward to using it.

 

I have to ask, though -- does puggle stand for anything, like Programming Utility - Glitch Games; Lua Edition?  :)

 

(We're huge fans of the games, too)



[TOPIC: post.html]
#5

GrahamRanson

[GLOBAL: userInfoPane.html]
GrahamRanson
  • Contributor

  • 105 posts
  • Corona SDK

Glad you like it, I tried to keep it clean and commented, however, it's by no means perfect.

 

Haha I wish I was smart enough to come up with an acronym like that but no it's basically because my wife and I have two dogs, a Pug and a Beagle, so it was the first thing I could think of for a name :-)

 

From now on though we can pretend that that's what it stands for :-)



[TOPIC: post.html]
#6

GrahamRanson

[GLOBAL: userInfoPane.html]
GrahamRanson
  • Contributor

  • 105 posts
  • Corona SDK

One day I'll actually get around to creating proper documentation for the Puggle framework but until then here's a little project I'm working on that uses it - https://glitchgames.co.uk/labs/swingshot

 

It nicely proves that, at the very least, these Puggle systems are working in HTML5 builds:

 

  • Data saving, retrieving, and resetting
  • Localisable strings
  • Sounds
  • Music ( I've since pulled the music as it takes a while to load in HTML5, might add it back later )
  • Camera
  • Game Object
  • Fonts
  • Colours
  • Various Maths and Utils functions
  • Files
  • Timers
  • Transitions



[topic_controls]
[/topic_controls]