Archives de catégorie : Demiurge Mini

L’actualité spécifique à la version Mini de Demiurge.

[Demiurge Mini] Eau améliorée et fond spatial du monde îles flottantes

Plusieurs jours sans nouvelles de Demiurge Mini. Je développais les coins de l’eau et le fond du monde. Je n’ai pas fini les graphismes des coins de l’eau et pareil pour le code pour toutes les configurations de tuiles à placer, mais ça avance. En attendant, j’ai donc codé un générateur de fond spatial et voici un aperçu du jeu avec les étoiles et les nuages de gaz magenta. Là il s’agit d’un monde en îles flottantes comme je l’avais indiqué la dernière fois. C’est le seul type de monde car je ne m’occupe pas encore plus que ça de la génération des mondes. Je vais avancer encore sur les coins de l’eau, mais en même temps je m’attaquerai aux items et d’autres trucs 🙂

Capture d’écran_2017-06-28_19-34-01

[Demiurge Mini] Le terrain et le graphisme s’améliore encore

J’ai retiré temporairement l’eau et la bedrock pour avoir une bonne capture qui rend compte de l’amélioration du terrain. J’ai ajouté l’affichage de bordures pour la dirt et de parois sur la face avant du sol. Ce que je souhaite faire c’est proposer un profondeur pas trop élevé, de 3 ou 4 niveaux, au monde pour permettre de sculpter des montagnes en terre, pierre, etc… et aussi pouvoir représenter proprement les murs des bâtiments qu’on veut construire.

Capture d’écran_2017-06-18_21-11-05

Cette vue de monde île flottante me donne envie d’ajouter un fond fait d’étoiles comme dans le prototype de la version 3D. Comme dans ma vision de l’univers de Demiurge les mondes peuvent êtres de différentes formes et que l’espace n’est pas tout à fait similaire à celui de notre réalité, je peux vous confirmer qu’il y aura des îles flottantes dans l’espace :p Pour donner un indice sur ce qui m’inspire pour l’univers de Demiurge, j’ai envie qu’on puisse classer le jeu entre autres dans la catégorie space opera. Je vous laisse chercher le jeu Allods qui représente l’esthétique visuelle qui m’inspire le plus dans cette catégorie 😉

[Demiurge Mini] Séance de pixel-art

Ce soir, j’ai eu envie d’améliorer un peu quelques tiles et du coup je me suis attaquée à la terre et la bedrock. La terre ne me satisfait pas encore totalement, parce que les bords sont trop en ligne verticale, du coup ça donne l’impression que le sol est un peu labouré. Je reviendrais dessus, mais le centre de la tile est joli et aussi la bedrock est très bien réussi 🙂 Je ferais des variantes des tiles pour faire des transitions avec l’eau, l’herbe, et aussi donner un côté moins répétitif au décor :p
Capture d’écran_2017-06-09_22-16-06Pour dessiner les tiles, je teste une technique assez simple en 4 ou 5 couleurs qui aide beaucoup à faire des dessins d’objets naturels 🙂 J’aime bien faire du pixel-art. On peut faire tellement de choses quand on a acquis assez d’expérience et les styles sont très variés. Du plus simple avec 2 ou 3 couleurs sans effets particuliers, aux pixel-arts ultra détaillés, à plusieurs couleurs, des effets de lumière, et d’ombre. Les plus riches en détails m’impressionnent au plus haut point 😮

 

[Demiurge Mini] Des items et replantage des arbres

J’ai ajouté des items supplémentaires qu’on peut obtenir en coupant les arbres. Pour l’instant, il n’y a pas de quantité. Une fois obtenu les items, ils sont infini dans l’inventaire. Ça changera bien sûr 😉 J’ai aussi ajouté la possibilité de planter des glands, ce qui donne des pousses de chêne sur le sol 🙂 Les chemins sont en fait des cases de terre creusés, mais on ne récupère pas encore de terre pour l’instant. J’avoue ne pas y avoir pensé sur le moment lol

Capture d’écran_2017-06-08_21-14-28

[Demiurge Mini] Action et inventaire

J’ai ajouté la possibilité de supprimer les arbres ou le sol devant soi. Je dis supprimer, parce que les actions ne sont qu’à l’état de prototypes, donc il n’y a ni animation, ni items à récupérer. J’ai aussi ajouté un début d’interface en bas de l’écran avec l’objet dans la main du personnage. Il faut une pelle pour creuser le sol, et rien pour supprimer un arbre. J’ai aussi ajouté un inventaire tout simple. On appuie sur la touche I, il s’ouvre et on peut sélectionner au avec les flèches haut et bas, l’objet à avoir en main. On referme l’inventaire et on peut faire l’action correspondant à l’objet 🙂

Capture d’écran_2017-06-07_21-00-43

[Demiurge Mini] Génération procédurale du terrain

La dernière fois, j’ai oublié de préciser que j’avais aussi développé un brouillard de guerre, c’est à dire la zone noire qui cache le terrain à certains endroits. Aujourd’hui je vous montre le résultat après avoir ajouté la génération procédurale du terrain à l’aide d’un bruit de Perlin 2D. Les arbres aussi utilise leur propre bruit à partir d’une graine. La graine est légèrement modifié pour les arbres pour ne pas avoir un schéma de placement trop proche de celui du sol. La fréquence du bruit du générateur pour les arbres est différent pour donner une forme plus rude que le sol qui est plus lissé dans son schéma.

Demiurge Mini, en plein teste du terrain généré par bruit de Perlin 2D.
Demiurge Mini, en plein teste du terrain généré par bruit de Perlin 2D.

[Demiurge Mini] Ajout du personnage et des arbres

J’ai ajouté le personnage qui représente lae joueux, géré les collisions avec les obstacles et ajouté aussi le placement des arbres. Le personnage est repris de mon jeu de labyrinth, mais ça changera bien entendu. Les graphismes ne vont pas non plus rester comme-ça. Les arbres sont placés aléatoirement, sans schéma. En fait, dans la capture d’écran, les arbres semblent suivre des lignes verticales, ce qui est incohérent avec l’aléatoire pur. La raison est que, pour commencer simplement, j’ai créé l’île en codant des colonnes qui s’étalent sur la longueur de sorte à former une sorte d’ellipse. Mais, en plaçant les arbres, j’ai suivit la configuration de l’île pour placer mes valeurs aléatoires en oubliant de tirer au sort la valeur pour chaque arbre. Je l’ai fait pour des colonnes d’arbres. En bref, c’est un bug x)

Capture d’écran_2017-06-02_20-13-25

recaptcha/recaptchalib.php at 1.0.0 · google/recaptcha · GitHub
Skip to content
Permalink
Switch branches/tags
Find file
8a45f9d Dec 1, 2014
141 lines (129 sloc) 4.47 KB
<?php
/**
* This is a PHP library that handles calling reCAPTCHA.
* - Documentation and latest version
* https://developers.google.com/recaptcha/docs/php
* - Get a reCAPTCHA API Key
* https://www.google.com/recaptcha/admin/create
* - Discussion group
* http://groups.google.com/group/recaptcha
*
* @copyright Copyright (c) 2014, Google Inc.
* @link http://www.google.com/recaptcha
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* A ReCaptchaResponse is returned from checkAnswer().
*/
class ReCaptchaResponse
{
public $success;
public $errorCodes;
}
class ReCaptcha
{
private static $_signupUrl = "https://www.google.com/recaptcha/admin";
private static $_siteVerifyUrl =
"https://www.google.com/recaptcha/api/siteverify?";
private $_secret;
private static $_version = "php_1.0";
/**
* Constructor.
*
* @param string $secret shared secret between site and ReCAPTCHA server.
*/
function ReCaptcha($secret)
{
if ($secret == null || $secret == "") {
die("To use reCAPTCHA you must get an API key from <a href='"
. self::$_signupUrl . "'>" . self::$_signupUrl . "</a>");
}
$this->_secret=$secret;
}
/**
* Encodes the given data into a query string format.
*
* @param array $data array of string elements to be encoded.
*
* @return string - encoded request.
*/
private function _encodeQS($data)
{
$req = "";
foreach ($data as $key => $value) {
$req .= $key . '=' . urlencode(stripslashes($value)) . '&';
}
// Cut the last '&'
$req=substr($req, 0, strlen($req)-1);
return $req;
}
/**
* Submits an HTTP GET to a reCAPTCHA server.
*
* @param string $path url path to recaptcha server.
* @param array $data array of parameters to be sent.
*
* @return array response
*/
private function _submitHTTPGet($path, $data)
{
$req = $this->_encodeQS($data);
$response = file_get_contents($path . $req);
return $response;
}
/**
* Calls the reCAPTCHA siteverify API to verify whether the user passes
* CAPTCHA test.
*
* @param string $remoteIp IP address of end user.
* @param string $response response string from recaptcha verification.
*
* @return ReCaptchaResponse
*/
public function verifyResponse($remoteIp, $response)
{
// Discard empty solution submissions
if ($response == null || strlen($response) == 0) {
$recaptchaResponse = new ReCaptchaResponse();
$recaptchaResponse->success = false;
$recaptchaResponse->errorCodes = 'missing-input';
return $recaptchaResponse;
}
$getResponse = $this->_submitHttpGet(
self::$_siteVerifyUrl,
array (
'secret' => $this->_secret,
'remoteip' => $remoteIp,
'v' => self::$_version,
'response' => $response
)
);
$answers = json_decode($getResponse, true);
$recaptchaResponse = new ReCaptchaResponse();
if (trim($answers ['success']) == true) {
$recaptchaResponse->success = true;
} else {
$recaptchaResponse->success = false;
$recaptchaResponse->errorCodes = $answers [error-codes];
}
return $recaptchaResponse;
}
}
?>
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Fatal error: Class 'ReCaptcha' not found in /homepages/39/d436294224/htdocs/clickandbuilds/TheeDonistMonk/index.php on line 29