Jump to content
MakeWebGames

Engine / OTB must haves?


Guest

Recommended Posts

Morning all,

I was just wondering, in your opinion what should an engine or an OTB (Out The Box) solution have? And what requirements should be met in your eyes?

For example, should it be OO and not procedural? Should it be modular or not? Should it be compatible with MySQLi and any other drivers? PDO?

Just working some things out and this should answer most the questions, all opinions are appreciated.

Cheers

Link to comment
Share on other sites

It depends, If you're going to create an OTB solution then I doubt you would have developers using it if it's a paid solution. With that in mind it would need to be very easy to use, very easy to extend without coding knowledge with a vast array of modules available to plug in and out. With this you'll probably be targeting gamer's that want to take the next step and make there own game much like mccodes.

If you were to create an engine then it will primarily be for the developers either to act as a base of a game the developer is creating or if they have been commissioned to create one. With this in mind the code needs to be easy to read, understand whats going on and have a good Wiki/Docs so they can learn how to use it. The code would have to be $hit hot aswell, if the developer doesn't think the code is up to scratch, I don't think they would bother using it.

So, before you start thinking about features I think you need to decide whether you will be making an OTB or an Engine, with that then we can throw ideas out for you.

^^ IMO

Link to comment
Share on other sites

It depends, If you're going to create an OTB solution then I doubt you would have developers using it if it's a paid solution. With that in mind it would need to be very easy to use, very easy to extend without coding knowledge with a vast array of modules available to plug in and out. With this you'll probably be targeting gamer's that want to take the next step and make there own game much like mccodes.

If you were to create an engine then it will primarily be for the developers either to act as a base of a game the developer is creating or if they have been commissioned to create one. With this in mind the code needs to be easy to read, understand whats going on and have a good Wiki/Docs so they can learn how to use it. The code would have to be $hit hot aswell, if the developer doesn't think the code is up to scratch, I don't think they would bother using it.

So, before you start thinking about features I think you need to decide whether you will be making an OTB or an Engine, with that then we can throw ideas out for you.

^^ IMO

Thanks, I am looking into the benefits of both and wanted peoples opinions before I made a final descision.

Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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.

CV-patterns. ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...