Page 1 of 1

50 Pound Sword - a complete PBBG library

Posted: Sat Nov 19, 2011 4:29 am
by Jackolantern
So today I have started a new project, and I was thinking long and hard over whether or not to create a project thread this early on, as I usually don't. But I figured I would go ahead and make one to keep myself motivated to get it finished.

Basically, 50 Pound Sword will be a complete PBBG library that will allow users with limited PHP and MySQL skills to make a browser-based RPG! Basically, any technical parts to making a PBBG, such as writing SQL, dealing with player info, inventory management, and more will be handled internally by the library. The end goal would be that someone just starting with very limited programming abilities will be able to use the classes I will provide in the library to make a game. I may at a later time expand it out to even cover Javascript functionality, but since the requirements on that are going to vary so much from user-to-user, that may have to be on a back-burner for a bit.

One of the first things I am tackling is the registration for the game. After filling out a self-explanatory .ini file with info about the races, classes and their stats, registering a player (once past the registration HTML, of course) will only take about 4 lines of code, instead of the 100+ it takes to do it right without it. That is what I am hoping to do with every common aspect to PBBGs.

I am hoping to be able to get an alpha out by the beginning of next year, but we will see how that goes. That isn't really that far away ;)

Re: 50 Pound Sword - a complete PBBG library

Posted: Sat Nov 19, 2011 4:32 am
by SpiritWebb
Good luck...can't wait to see your progress!!

Re: 50 Pound Sword - a complete PBBG library

Posted: Sat Nov 19, 2011 8:37 am
by hallsofvallhalla
Very sweet!

Re: 50 Pound Sword - a complete PBBG library

Posted: Sat Nov 19, 2011 10:15 am
by Jackolantern
Thanks! I pulled a late-nighter tonight and got my registration component done. As a quick sample of what it is able to do, here is a test I wrote up to test out its functionality. Compare this code to the full code to check all of the possible errors (emails don't match, player already exists in the db, lengths of data are wrong, etc.), which can easily run over 100 lines. Most of the code in this sample are me setting up mock values to enter into the database.

Code: Select all

<?php
    include "Register.php";
    include "connect.php";
    
    $username = "Burger";
    $password1 = "fields11";
    $password2 = "fields11";
    $email = "burger@gmail.com";
    $race = "human";
    $tclass = "mage";
    $secQes = "pet";
    $secAns = "OsloRus";
    
    $regObj = new FiftyPound_Register($username, $password1, $password2, $email, $race, $tclass, $secQes, $secAns);
    $results = $regObj->doRegister($db);
    
    echo "Code: ".$results['code']."<br />";
    echo "Doc: ".$results['doc']."<br />";
    echo "Msg: ".$results['msg']."<br />";    
    
?>

Re: 50 Pound Sword - a complete PBBG library

Posted: Mon Nov 21, 2011 2:31 am
by Jackolantern
I am already starting to run into issues with flexibility. For example, how should character creation be done? The more options I want to add, the more complex it becomes for end-users because there are more things to specify. One of my goals was to make it easy for those with limited programming ability to use.

I guess I am worried that everything I am having to hard-code into the library may end up turning-away potential users.

Re: 50 Pound Sword - a complete PBBG library

Posted: Mon Nov 21, 2011 10:21 am
by Xaleph
I feel you, I did try something similiar and i`m still thinking about doing the same as you, creating a framework however, I too ran in to the same problems. I figured as much that you only need boiler plate functionality IE. registration, security, form helpers and boilerplate classes for "event" delegation, if you catch my drift.

However (!) what you can do is at the same time, create a PBBG game with it, thus figuring out how other users would want to use it. So if you want a class-driven game ( mages, warriors ) ( damn you: word: class) you could extend core functionality using a class: Classes.. Jesus, this won`t work.. I mean a programmable CLASS for the player which holds the GAME classes (warriors, mages,.. )

Oh man, this is going no where.. Something about boilerplate.

Re: 50 Pound Sword - a complete PBBG library

Posted: Mon Nov 21, 2011 1:25 pm
by dbest
There are plenty of articles on "Make Games not Engines".. and I can see why they might advocate that..
I think Xaleph, might have provided you with a good direction, develop a data-driven game.
Also don't try to cover each and every possible types/features that you can think of right now. Start off with the basic features needed to make 1 type of game, then slowly build on it... (if there is sufficient interest in it...)

Re: 50 Pound Sword - a complete PBBG library

Posted: Mon Nov 21, 2011 9:18 pm
by Jackolantern
Yeah, I am actually a strong supporter of "make games not engines", but it seems at least a little different with PHP games, or maybe it is that in a way I was kind of focusing on a game. My whole idea was that since I have to make these pieces for a game I was wanting to make, why not put in an extra 20% or so more work and make it OO, loosely-coupled, componentized, etc., so others who are struggling getting started can leverage it as well.

I am going to think about this one a bit longer. I am also really wanting something more testable (all my manual tests were driving me crazy) and with a real debugger (because PHP debugging is so bootleg), so I may start looking at ASP.NET MVC a bit again.