jvalen36 Posted November 12, 2015 Share Posted November 12, 2015 Hello: I am thinking to develop a strategic game and I want to develop or use an existing plugin architecture to make my game extensible by other developers. I will use PHP/Mysql for the backend, front end with jQuery for the site structure and Phaser for the game section. Any idea where to found information, docs, fameworks, etc ? regards jvalen36 Quote Link to comment Share on other sites More sharing options...
mattstyles Posted November 13, 2015 Share Posted November 13, 2015 There are probably a million different ways to achieve what you want and it is very specific to how your app works. For example, what do you mean by extensible? Developers can make plugins and attach them somehow to your game? How do you envisage them doing so? How is your game distributed? Or is it just available via one url? Or do players have to download the game and set it up on their machine/server somehow? All these questions need answers before you get any decent answers. The most generic plugin architecture involves specifying modules to use pre-build. If we simplify and assume your plugins only affect your client code i.e. your JS, and that PHP is simply serving data to allow the client to run, then you'll need some way to either inject the scripts at run-time or have a build step that incorporate the JS right into the rest of your code, build it, then serve up the combined bundle/s. Even if the core logic of your game lives in PHP and is exposed via your API, you still need to find a way to mesh your core game code and the module code you're allowing users to add. All of this is very complex and involves many different aspects of programming and deploying programs. I guess it comes down to this: What is your initial (naive) idea for solving this problem for your game? If you have no answer for the above question then you're a long way off fulfilling your desire for an extensible modular game. You have to work out firstly how to get module code into your core game code (either before or after build/serve) and then work out which areas of your game code are exposed to modules. Quote Link to comment Share on other sites More sharing options...
jvalen36 Posted November 13, 2015 Author Share Posted November 13, 2015 mattstyles, thanks for your answer, these are the questions that I need to answer and the reason for that I am looking for some documentation about this kind of architecture. any sugested doct, books ? regards Quote Link to comment Share on other sites More sharing options...
mattstyles Posted November 13, 2015 Share Posted November 13, 2015 Yeah, sorry, havent found any articles about it. It would be fairly hard to write as it touches a broad spectrum of knowledge and is usually very application-specific. I'm trying to write in some extensibility into my next project, once I've got that up and working I'd be happy to share my experiences. If it helps you at all—it'll be pre build most likely. I'm planning on having a web-only client, i.e. you just hit a url and play, but you can also fire up a server to play and that is the extensible bit i.e. add your modules, run a few build scripts (they reference the custom modules), fire up the server, play. I could, in theory (and maybe in practise, not sure yet), add additional scripts to the page during the initial load (i.e. during app lifetime) but I think, in my case, that'll be more troublesome than the pros. Might be an avenue though if I want people to be able to play without firing up their own server or downloading the app (I'd wrap it in node and chromium via Electron). Quote Link to comment Share on other sites More sharing options...
jvalen36 Posted November 14, 2015 Author Share Posted November 14, 2015 ok, I will research a little too .... and also I'' share my advances regards Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.