Jump to content
MakeWebGames

Aventro

Members
  • Posts

    38
  • Joined

  • Last visited

Everything posted by Aventro

  1. Hey! Being in development we have already implemented many features that we find essential in our up coming improved engine. This being said we're getting closer to soon make a first public beta release. But first we would like to know what kind of features and things you would want too see in our engine, this could be anything from logging supporting SMS, to a full featured donation system or some core functionality such as multi-language support. So please reply with a post with features you want and expect to see in ezRPG 2.0. http://ezrpgproject.net/topic/319-ezrpg-20-features-we-need-your-suggestions/   A reply in the topic above is preferred, but you may also do one here. Cheers!
  2. You should had limit every User to only choose one name, now it's many really good names to choose from!
  3. Aventro

    Modules Requests

    Yes, they should all be working fine. (For references, I put download to each module above). Items -> http://ezrpgproject.net/index.php?/topic/98-items-module/ Attack (Bot Battle) -> http://ezrpgproject.net/index.php?/topic/4-bot-battle/ Messaging (Mailbox) -> http://ezrpgproject.net/index.php?/topic/23-mailbox-module-10/ Forums -> Not sure. http://ezrpgproject.net/index.php?/forum/24-communication/ Donations -> Again not sure. Anyway, all modules that was available should be able to be located at http://ezrpgproject.net/index.php?/forum/13-module-downloads/.
  4. Aventro

    Modules Requests

    Sure, but I would need to know details about what the packages should contain and how the modules must work.
  5. Aventro

    Modules Requests

    Bump, bump that ass to me, bump that ass to me.   Taking requests.
  6. Controller View, basically you're missing out on the Model.
  7. Well yeah and I answered on how you could do that.
  8. Basically what you are saying right now "I didn't understand ****, could you please provide me with complete code so I can rip it off and use it". Why not just go further with the information you was given? He told me to track sessions in a database, a good start would be to google on how to do that. Here's a relevant question on how to do that: http://stackoverflow.com/questions/2950355/set-session-in-database-in-php Here's another relevant answer on your first question: The most common Session attacks are either Session hijacking or Session fixation. Here's another great question about it: http://stackoverflow.com/questions/5081025/php-session-fixation-hijacking
  9. It should be object-oriented in a way where it makes sense. We all have to be reminded here using classes doesn't mean you're actually writing object-oriented code. Don't try do anything fancy on purpose. You must use namespaces and a compliant PSR-0 Autoloader. This ensure the web application to be modern and you allow your users to use any external library that exists, *because* let's face it, every good library supports PSR-0 today. You must use a proper software architecture design, a good start is to look around pattern similar to MVC. The very least you must make sure the pattern is separating business logic with presentation logic. Most engines today are CV-patterns. People use MVC of a good reason, it's the best way to do it. Of course they are alternatives as N-Tier architecture and stuff, but I've never used it. Reinvent the wheel ... but only if you have to. Please consider using a dependency manager (Composer!!!) which gives you to access to every popular library as of today. It comes with a very powerful autoloader (files, classmap, psr-0). Here you can get dependencies your engine needs, personally I always use the Symfony HttpFoundation because writing a object-oriented HttpInterface is probably going to suck and it's hard. You don't have to write everything yourself, you really don't. Just look at Laravel.
  10. Architecture Today we are going to take a look at the architecture in ezRPG. It's kinda important we get to learn how ezRPG works so we can effectively write code to our game upon it. One key rule in writing successful web applications in PHP is to separate the business logic from presentation logic. Now let's see if ezRPG does that. File Structure admin/ Because administration may have many different tasks, the developers of ezRPG decided to give it's own directory instead of sharing the same directory as the game modules uses. ezRPG brings some helping functions to make sure that only players with Administration access may enter the panel. hooks/ Hooks provide a way for you to add code which will run in certain parts of the ezRPG core code, or at certain times. It actually exists quite a good tutorial about this on the old repository ezRPG used. You can have a look here: https://code.google.com/p/ezrpg/wiki/UsingHooks It's basically an event system. Running when the web application is started and could also be run when you want to. We're going to use Hooks later on in this series to make some changes to the Login. lib/ This directory contains libraries, external libraries, helpers (functions). Every external library is placed in the ext/ sub-directory. The naming convention is quite simple. It's using a prefix on what it is. (Type) -> (Name) -> (Example) A class -> class.name.php -> class.hooks.php An exception -> exception.name.php An function (helper) -> func.name.php Yeah, you get it! modules/ The module directory! This is the place where we store every module (game task). A module could be a Profile which displays a User profile and allows a User to edit it's own profile. Let's take a look at the AccountSettings one. Every module has it's own directory named after what the module should be called. Make sure you take a name that a module isn't already using. This is actually quite a problem which is solved in a later version of ezRPG (being in development as when I'm writing this). In the AccountSettings directory we have a index.php file. This is the module itself. If we just take a look in the file we can see it's a feature that allows a user to change his password. So if we would want to extend this, a good way would to put stuff that changes the account (player) in this module, like changing email, gender, age. Now I guess a Profile module could instead display a Profile! But we could also have permissions on what information a profile must and must not display. Still confused? Don't worry the next tutorial is all going to be about writing a module. smarty/ ezRPG uses the template library Smarty which gives us flexible and good template files. Within this directory we can find two directories, templates/ one are the one you will use mostly all the time when playing with the templates. The templates_c stores cached templates, which increases the performance of Smarty. static/ Front-end assets. CSS files, images, etc. bar.php - This files is basically a file outputting a bar image. captcha.php - Outputting a captcha image, but also setting a session containing the "code" displayed on the image. Used on registration. Personally, I don't like this because this captcha things can be a bit tricky and the bots keep breaking them. We would be better off using reCaptcha. config.php - The configuration file, contains database details, constants needed, i.e. A global configuration file where you put all your configuration needed. index.php - Starting the web application. Executes the module a User request and than display a response. init.php - Bootstrapping ezRPG. lib.php - ezRPG uses no autoloader but instead we need to require all classes, helpers we want to use in our application. You do that here. The cycle I don't expect you to understand every single word above, but it should give you the information you need for starters. Before moving on I'd like to summary (pretty much) what's going on in a ezRPG application. When a player enter our application the index.php is executed, we call the bootstrap file (init.php) which sets up every essential thing needed in our application (includes configuration, database connection, template configuration etc). Once this is done, it's time to figure out what the player is actually requesting we do that by parsing the URL, which gives us a module, containing a game feature/task or whatever, i.e. the Profile (perhaps the player is looking to display the admin profile, in that case the URL might look like this index.php?m=Profile&username=admin). The module does what's it's supposed to do and then display a template or whatever. Lastly it calls a footer hook (this is the time where you can do stuff like close the database connection or something like that). Until next time... Now when you understand the architecture a bit better, make a copy and experiment. That's the way to go! Perhaps you could manage to turn on error reporting on your own, because that could be useful in our next tutorial! ;) (Hint: config)
  11. Introduction ezRPG is a game engine built with modularity in mind. A open-sourced project written in PHP being actively maintained (as we speak). With ezRPG you can quickly get started coding on your game due to the very easy but flexible architecture ezRPG has. You can easily define a functionality, feature, 'game feature' as a module, a module that you can use in any ezRPG powered game you like. This is quite powerful as you can quickly make common features that you can use throughout every game you make. Later in the series we're going to learn everything there is about modules, but for now you could ease your mind with a module being a file that have a responsibility to do and probably present something as well. The ezRPG engine is written in PHP and depending on what version you decide to use the requirements differ. In this series we're going to use the most stable version 1.0.2. Installation As I just mentioned earlier ezRPG is open-sourced, it's free to use and anyone can be contributing to the project it was quite a simple choice to put the ezRPG code on GitHub. We're going to use the latest most stable version 1.0.2, but how do we find it? At a first glance GitHub might feel a bit tricky with all this different things like branches, tags and stuff like that, but it really isn't, once you get it you understand what kind of structure this actually gives and how easily we can maintain different type of versions of ezRPG. So let's browse away to https://github.com/ezrpg. We're looking to use the 1.0.x so let's click on 'ezrpg-1.0.x' repository. Now we should see some tree structure with different directories and files, it's actually listing all files under the 'master' branch. This is not what we're looking for, because those files may be broken or bugged. Why? Well, that's because the ezRPG team is pushing code updates to that branch which may cause the code it's keeping to have bugs or even be broken, we must get our hands on a stable version and in order to do that we must click on the 'tags' link which is just above the 19 Commits blue text on the right. (Feel like cheating? https://github.com/ezrpg/ezrpg-1.0.x/tags) As we can see there is only one tag available for now and it happens to be the version we're looking for! So let's download that by clicking on either the .zip or tar.gz (which one you feel most comfortable with extracting). Put the contents of the file on your web server/web host. * C:\wamp\www\ezrpg -> http://localhost/ezrpg/ With the contents extracted we must first give some reading/writing permissions to some files. If you're using WampServer on a Windows local machine you don't need to this. But make sure these files have read/write permission: config.php smarty/templates_c Visit yourgame.com/path/to/ezrpg/install.php. (In my case that's http://localhost/ezrpg/). If you managed to make the steps above correct you should see something like this: It's kinda self-explanatory click on 'Continue to next step' :rolleyes: If you don't see something above you may have put the files incorrectly, not given the correct permissions or just browsing the wrong web address. In Three Easy Steps In the next step it's time to provide ezRPG with our database details. Create a database unless you have one and specify a table prefix if you feel like you need to (i.e. a database that contains multiple applications). Continue to the next step. (I'm not even sure why I bother to write this part). On the last step you're making the admin account, you can fill this details quickly if you like to, you can easily change them later. I think there's no validation either so go ahead pick an invalid email if you feel like it because that's the last time you can do that! Once you've created the Admin account go ahead and click continue. Click on 'Visit your ezRPG!' and you're done. Make sure you delete the install.php. SUCCESS! Click around and get familiar with what you got in the bare ezRPG installation, in the next tutorial we're going deep in the source and taking a look at the architecture, file structures, modules, templates etc. Let's the ezRPG development begin!
  12. Aventro

    ezRPG 1.2.0 RC1

    The change log is up now. You can find it here: http://community.ezrpgproject.net/Thread-ezRPG-1-2-0-RC1?pid=4489#pid4489
  13. Sounds interesting. However, I won't be any impressed until this is actually live.
  14. I really like nuxengine.com. Obviously the n must be a lowercase. The TheMafiaEngine.com suggestion was good though. I'll vouch for them XD I'll use it otherwise, this is some naming inspiration coming here!
  15. Aventro

    ezRPG 1.2.0 RC1

    https://github.com/ezrpg/ezRPG-1.2.x/tree/1.2.0rc1 After almost 3 years since 1.0 was released by ezRPG's founder, Zeggy, the new ezDevelopment team brings to you ezRPG 1.2.0 RC1! 1.2.0 RC1 follows suit with the same design principals as 1.0, with significant alterations to improve the engine for dramatically greater uses. Skipping 1.1.x, ezRPG now takes on an Odd-Development/Even-Stable version scheme with every new "minor" version containing a series of Release Candidates to test what our developers have done and give the community ample time to test and make adjustments before we crown the new release officially stable. 1.2.0 RC1 brings, out of the box, missing classes that should have always been included with the game engine:   Menu class Plugins Class Multi-Theme support etc Modules have now taken on some new changes and have a standardized structure so that they can be extracted, organized, and ready to be installed automatically by the system. Modules can provide their own template files like they've always had, but give a way to allow game owners to modify them and still upgrade the module without losing any changes made to the template files. While not a fully graceful upgrade process by means of copying and pasting new files over-top of the old, 1.2.0 has a very simple upgrade path to get modules up and running for use in our new engine. With simple edits to the way template files are displayed and then further structured for use with the Plugin Manager, modules can be refitted in a matter of minutes and then games fully upgraded and running in a matter of under an hour. Check it out, fork our project, send your pull requests, and help us move towards our official 1.2.0 release! (Ref. http://community.ezrpgproject.net/Thread-ezRPG-1-2-0-RC1?pid=4488#pid4488)
  16. Please note: Using classes doesn't mean you're programming object-oriented.
  17. Good luck with your project! Just a side note, "Wamp Server" doesn't really exists, it's rather a package of different programs put together and all configured for you to quickly get started on your web development. The web server you're actually using is called "(A)pache", following the letters standing for each component provided/needed. W = Windows (OS) A = Apache M = MySQL P = PHP
  18. I actually agree with LordDan on this one. :P
  19. I am really excited about this!
  20. If you're going to make a game, I'd suggest use a framework which gives you a solid architecture to work your application on. There's no need to reinvent that unless you're doing it properly. This code snippet contains many bad practices, a bad architecture, code that could be redundant a lot. I could point all this out, but I'd rather tell you to have a look at: http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html And then you go right in to learning http://www.laravel.com/ or http://www.ezrpgproject.net/   Please don't see this as some negative criticism on that you shouldn't do this, learning by doing is very good, but If you want to use it in a production game I wouldn't recommend doing so.
  21. Aventro

    Mobile Layout

    May I ask where you get the background texture from? Do you take the photo yourselves, etc. ?
  22. Aventro

    Github

    Great, happy too see another contributor :)
  23. Aventro

    Github

    Yes, it is. However, recently we've started to make plan for a version 2.0 which I am for one is going to focus on, but the 1.x. is still in development actively.
  24. Does "Hmmmm I'm afraid it is no where near worth what your asking. It has no users so one would assume no income and it looks like its just mccodes dumped onto it and the colours changed" look like a question about the system?
×
×
  • Create New...