From fe175ef72f0293581f05ea05837aa8dc0b4fab9c Mon Sep 17 00:00:00 2001 From: mateosss Date: Thu, 1 Sep 2016 00:16:40 -0300 Subject: [PATCH] README and difficult adjustements --- Extras/horarios.txt | 8 +++--- README.md | 69 +++++++++++++++++++++++++++++++++++++++++++++ res/map/map1.tmx | 4 +-- res/map/map2.tmx | 4 +-- res/map/map3.tmx | 4 +-- src/game.js | 2 +- src/robot.js | 4 +-- 7 files changed, 82 insertions(+), 13 deletions(-) create mode 100644 README.md diff --git a/Extras/horarios.txt b/Extras/horarios.txt index ad2a4b9..2c90285 100644 --- a/Extras/horarios.txt +++ b/Extras/horarios.txt @@ -138,11 +138,11 @@ Ma 30 Mi 31 - 2 niveles mas, y sistema para que el nivel pueda predefinir defensas - 3:00 hs - seleccion de niveles y easyTouchButton - 1:10 hs - - Arreglar compilacion para android botones tactiles, despues de 8 horas - 30 min - - Resolucion adaptable y pantalla completa en android - 1:50 + - Arreglar compilacion para android botones tactiles, despues de 8 horas - 0:30 hs + - Resolucion adaptable y pantalla completa en android - 1:50 hs - En game over la aplicacion se cierra - 0:45 hs - - arreglar zoom con dos dedos - 21:00 - - explicacion del juego y posteo en reddit + - arreglar zoom con dos dedos - 0:50 hs + - explicacion del juego y posteo en reddit y dificultad aumentada - 21:50 - Despues de ganar/perder no se pueden poner torres NO SOLUCIONADO- 1:40 hs # Cosas que estoy posponiendo diff --git a/README.md b/README.md new file mode 100644 index 0000000..28ee55c --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# Robolve +**A tower deffense game with robots, that evolve.** + +Robolve is not finished yet, it's a prototype for a personal project, so be +aware of crazy robots walking away to who-knows-where, and other strange things. + +## What is? + +Robolve is a tower deffense game, in which the robot waves are generated through +a [*"Genetic Algorithm"*](http://www.ai-junkie.com/ga/intro/gat1.html), so the +waves adapt to your deffenses, and you can adapt to the waves customizing your +deffenses. (e.g. if you have many fire deffenses, the waves will start to turn +to the water element, because water > fire) + +## What is a genetic algorithm? + +A genetic algorithm, to make it short, is a specific kind of algorithm that +shines in finding solutions to dynamic problems, where the problem is always +changing (In this case the problem is the player), it is not used to get +deterministics results (like solving a lineal ecuation), but to obtain a good +enough aproximation to the solution. + +There are called Genetic because they try to imitate the behaviour of evolution +having individuals (possible solutions), that have a certain level of adaptation +(how good they are), and this individuals are combined between them following +the survival of the fittest approach (better solutions pass down their genes +to the next generation). + +In robolve, the robots are the individuals, the waves are the generations, and +how good the robots perform is the level of fitness. The genes in the robots are +their parts, their elements, their attack speeds, their damage, all their stats. + +To know more about genetic algorithms read this three page article: +[http://www.ai-junkie.com/ga/intro/gat1.html](http://www.ai-junkie.com/ga/intro/gat1.html) + +## How to play / Downloads + +For now you can play Robolve in this ways: + - **Android:** greater than 4.4, download and install the .apk: + [https://mega.nz/#!x1sCWTqa!8gTskCOKfjAIRRLTMiWEkXDdbpI4PScUJJTgnQY2l2A](https://mega.nz/#!x1sCWTqa!8gTskCOKfjAIRRLTMiWEkXDdbpI4PScUJJTgnQY2l2A) + - **Linux:** 64 bits, download the zip, extract and run the "MyGame" executable: [https://mega.nz/#!BxtCnDCI!PJtK1mmMecXWf2RSVjhHrYcearF9X6uGJ_BvAPURjJc](https://mega.nz/#!BxtCnDCI!PJtK1mmMecXWf2RSVjhHrYcearF9X6uGJ_BvAPURjJc) + - **Browser:** firefox/chrome, you can play robolve directly from this link: [robolve.tk](http://robolve.tk) + + Note: robolve.tk refers to a Public dropbox folder, Public dropbox folders + will be removed on October 3th this year (2016), so if I haven't update this + readme by that time, let me know opening an issue. + +There are currently 3 levels select one and play. +- Placing a deffense costs $300 +- Modifying a deffense attribute costs $100 +- Destroying a turret gives you $50 +- Killing a robot gives you $30 + +There are 3 elements that act like rock, paper and scissors + +*electric > water > fire > electric > water ...* + +- A deffense with an advantaged element compared to the target robot, hits double damage +- A deffense with a disadvantaged element compared to the target robot, hits half damage +- A deffense with the same element as the target robot hits normally + +The robots that have wheels are flying robots (Yup, thats right) +The robot with normal legs are walking robots +A turret can only hit one type of robot (flying or walkin), choose wisely + +A final recomendation, after winning/loosing a level, it is better if you restart +Robolve (close and open / reload the page) because there are still many bugs in the game + +I hope you enjoy Robolve! diff --git a/res/map/map1.tmx b/res/map/map1.tmx index 241ece2..980efc8 100644 --- a/res/map/map1.tmx +++ b/res/map/map1.tmx @@ -1,8 +1,8 @@ - - + + diff --git a/res/map/map2.tmx b/res/map/map2.tmx index 84a226e..3f1a1a5 100644 --- a/res/map/map2.tmx +++ b/res/map/map2.tmx @@ -1,8 +1,8 @@ - - + + diff --git a/res/map/map3.tmx b/res/map/map3.tmx index 8b47c69..7f18542 100644 --- a/res/map/map3.tmx +++ b/res/map/map3.tmx @@ -1,8 +1,8 @@ - - + + diff --git a/src/game.js b/src/game.js index ed113c6..0cd2b8c 100644 --- a/src/game.js +++ b/src/game.js @@ -362,7 +362,7 @@ var Level = cc.LayerGradient.extend({ // TODO Ir archivando historial de oleadas this.robots[i].removeFromParent(); this.robots.splice(i, 1); deletion = true; - this.base.money += 50; + this.base.money += 30; this.hud.ig.refresh(); } // if (deletion) { diff --git a/src/robot.js b/src/robot.js index 7d5e1ed..3bef378 100644 --- a/src/robot.js +++ b/src/robot.js @@ -11,7 +11,7 @@ var Robot = cc.Sprite.extend({ //Possible (p) stats //TODO definir valores reales //TODO apply fuzzy logic pTurnProb: {0: 0.25, 1: 0.5, 2: 0.9}, - pLife: {0: 300, 1: 400, 2: 500}, + pLife: {0: 500, 1: 600, 2: 700}, pElement: { "electric": cc.color(255, 231, 0 ,255), "fire": cc.color(227, 43, 0, 255), @@ -19,7 +19,7 @@ var Robot = cc.Sprite.extend({ }, pRange: {0: 75, 1: 150}, pTerrain: {0: 'walk',1: 'fly'}, - pSpeed: {0: 0.25, 1: 0.5, 2: 1.0}, //TODO PORQUE?!?!?! velocidades 0.88 - 0.93 traen el bug (0,10) Y velocidad 0.1, hace que para linux y android tengan tambien el bug, pero el javascript si. + pSpeed: {0: 0.35, 1: 0.75, 2: 1.0}, //TODO PORQUE?!?!?! velocidades 0.88 - 0.93 traen el bug (0,10) Y velocidad 0.1, hace que para linux y android tengan tambien el bug, pero el javascript si. pDamage: {0: 5, 1: 15, 2:20}, pAttackSpeed: {0: 0.5, 1: 1.0, 2: 2.0},