Jump to content
MakeWebGames

Recommended Posts

Posted

Hello guys,

i would like to present my project OpenTribes.

OpenTribes is a Strategy Browserbased games which is similar to tribalwars.

My Personal goal on this Project is to learn and practise the Clean Code Architecture

http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

Technical Details:

I test the code base with Behat and Mink. So i describe a feature i want to implement in a Domain Specific Language https://github.com/Opentribes/Core/blob/develop/features/Account/create.feature

after, behat generates a code skeleton which i can fill and test if my code is running without errors.

Then i reuse this feature with another Context and Mink. Mink allows you to run a headless browser instance and you test your front end

https://github.com/Opentribes/Core/blob/develop/features/bootstrap/silex/UserHelper.php#L40

you have methods like fillField, pressButton visit($url) and so on and you can assert if a div with class xyz is existing inside HTML Document

As delivery mechnism I'am using Silex and Symfony Components

Also you can create Modules which can overwrite just everything(every controller,template or other class) thx to the Dependency Injection Container. The Modules can be installed later over composer.

As Template Engine, i use Mustache

Currently not really much works ingame, just login/registration/activate account.

And here is the Code https://github.com/Opentribes/Core

Everything is under MIT License, so later you schould be able to reuse the code and even remove the copyrights from the site

If you have any questions just ask:D if you found any issues on code, post them on github issue tracker.

Best Regards and sorry for my bad english grammar

Posted

its in development, i started only 3 weeks ago ;) the idea behind this is to create a fully unittested open source browsergame (currently there is none on the internet, even if you purchase some games the code quality is really low)

Posted

well it is not just a simple login/register/home page. as i told every input is tested automated my purpose is not to show a game, but a code. my goal is to provide a browsergame on professional level.

for example, thx to the Repository Design Pattern iam able to replace any database engine(currently used mysql) to another with less efford.

Companies like innogames pays money for consulting http://blog.innogames.com/a-fluffy-qafoo-training to create games this way.

nvm i gues i made a mistake to post it here too early, i just expected that some Developers would do a little bit codereview and point me to some mistakes in early stage, so i would have less refactoring later.

  • 2 weeks later...
Posted

Hello guys,

view weeks are passed and i wanted to announce some Updates.

Now if you login into game, you can create a city, after the city is created you can view your neighbours on a Map.

Also i added now a logout button :D

Next iam going to implement the Building feature, which means you can gather resources and upgrade your buildings. so stay tuned;)

Best regards

Posted

Fantastic job.

How hard it will be for an average programmer to get the code alter and publish it. And does he need to learn cucumber or install additional software ?

Kind regards.

Posted (edited)

well it depends on your operation system,

if you use mac or linux, you just require php 5.4, composer and git, after cloning you can call make install-dev in command line and your game is setup. its also possible on windows but windows users dont user cmd.exe usually. howeever, on windows if you have xampp installed, you can install composer for windows. then you just add the xampp/bin folder in enviroment path and call this commands https://github.com/Opentribes/Core/blob/develop/Makefile#L14-L21 in your cmd.exe thats it

 

about cucumber, this is the core, the core should be tested, i will add a dummy module where an avarage programmer will just hack in and do his own plugins, if he want to implement unittests and behat, he can, if not, its ok :D the plugins can be made like the avarage programmer can programm

Edited by BlackScorp
Posted
well it depends on your operation system,

if you use mac or linux, you just require php 5.4, composer and git, after cloning you can call make install-dev in command line and your game is setup. its also possible on windows but windows users dont user cmd.exe usually. howeever, on windows if you have xampp installed, you can install composer for windows. then you just add the xampp/bin folder in enviroment path and call this commands https://github.com/Opentribes/Core/blob/develop/Makefile#L14-L21 in your cmd.exe thats it

 

about cucumber, this is the core, the core should be tested, i will add a dummy module where an avarage programmer will just hack in and do his own plugins, if he want to implement unittests and behat, he can, if not, its ok :D the plugins can be made like the avarage programmer can programm

Some IDE's such as PHPStorm handle Composer very well, simply open up the terminal and type "composer install"

Posted

i know, but not everybody uses PHPStorm, i personally use Netbeans + Cygwin , well maybe someone want to contribute and create a wiki how to install it locally? iam not a native english speaker and my english is not good at all, the words i use does not looks professional :D

  • 4 weeks later...
Posted

Quick Update,

i had some problems with the Aglorithm to find a place of new city, i gues i fixed it now(at least unittest passed) so i deleted all existing cities

Best regards

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...