Affichage des articles dont le libellé est Jeu-Vidéo. Afficher tous les articles
Affichage des articles dont le libellé est Jeu-Vidéo. Afficher tous les articles

samedi 29 septembre 2018

[Unity3D][Jour 17] Des gens

Salut les blogouzes ça roule?

Aujourd'hui j'ai pas chomé, j'ai bien avancé sur le jeu malgré une envie proche de zéro et un mal de crâne des enfers. Enfin c'est pas ce qui vous intéresse, vous ce que vous voulez c'est en savoir plus sur le jeu, parce que hein voilà bon bref ok j'arrête.

La nouveauté du jour, c'est la gestion des ressources. Enfin d'une ressource en particulier: les gens. En gros, j'ai créé un nouveau préfab que j'ai appelé "human", qui est juste un cylindre bleu (z'avez jamais vu des humains comme ça?). Lorsqu'il est créé a l'écran, on va lui assigner deux choses: une vitesse de déplacement, et une cible. Et son rôle, et bien ce sera simplement d'avancer vers la cible à sa vitesse jusqu'a l'atteindre.

Un humain




Alors oui, ça prend deux secondes à expliquer, mais en vrai, ça a pris plus d'une heure à mettre en place, entre le fait que je savais pas comment ça marchait sous Unity, et le fait de trouver une architecture de code pas trop dégueulasse et réutilisable, ça prend du temps.

Mais bon, maintenant que j'ai ça, on peut commencer à faire spawner des humains ! Et comment on fait ça? Ici j'ai fait quelque chose de très simple pour commencer, j'ai arbitrairement décidé qu'une maison pouvait contenir 5 habitants, et du coup, chaque fois qu'une nouvelle maison est créée, on crée aussi 5 humains, à qui on va donner pour cible cette maison. Et puis voilà quoi. Pour mieux comprendre l'idée, regardez le gif qui suit:


Et voilà le travail! Bon alors, ils foncent tout droit meme au travers des arbres, ils viennent tous du meme coin, mais l'important c'est que ça marche, il ne faut pas oublier que c'est juste un prototype pour le moment! En tout cas on commence à avoir un prototype qui à l'air un peu vivant, et ça, c'est ultra classe :D Vous remarquerez aussi qu'une fois arrivés sur place, le compteur "people" s'incrémente, histoire qu'on sache combien la ville a d'habitants.

Du coup, c'est tout pour aujourd'hui, la prochaine étape sera de faire un déplacement un poil plus intelligent, par exemple suivre une route, ou éviter les arbres.

Sur ce des bisous les blogouzes, a la prochaine!

jeudi 5 juillet 2018

[Unity3D][Défi50Jours] Jour 14 - Le jeu des devinettes

Salut lecteur.

Aujourd'hui j'ai la flemme de faire un grand article, alors on va jouer à un jeu ok? Ok, de toute façon soit tu joues le jeu soit tu t'en vas j'ai dit que j'allais pas écrire hein.
Donc voilà le jeu: je mets un gif, et tu devines ce qui a été ajouté durant la dernière session. Prêt?

Superjeu.gif

Ca devrait être assez facile. Et niveau code rien qui n'a pas déjà été vu, c'est aussi pour ça que je vous épargne le blabla. Alors, vous avez deviné?

Dites le moi dans les commentaires


Des bisous, la prochaine session on fait vraiment l'UI c'est promis.


PS: il n'y aura pas de sessions de vendredi à lundi inclus, je serais en déplacement et je n'aurais pas de pc

mercredi 4 juillet 2018

[Unity3D][Défi50Jours] Jour 12 et 13 - Améliorations et maisons

Coucou.



Alors oui déso j'ai pas touché au truc ce weekend, et je n'ai pas non plus posté d'updates depuis quelques jours. J'avais la flemme, je fais des journées longues tu sais? C'est compliqué la vie, surtout qu'après le boulot je dois rentrer, me faire à manger, et jouer aux jeux vidéos, du coup c'est dur de trouver du temps !

Mais soit rassuré, toi, lecteur avisé, je suis de retour ! J'ai bel et bien bossé lundi et hier, et oui, j'ai avancé! J'ai même sûrement rattrapé mon retard vu que j'ai fait deux sessions de 3h environs. Et quoi de nouveau vas-tu me demander? Hé bien nous l'allons voir tout de suite.


vendredi 29 juin 2018

[Unity3D][Défi50Jours] Jour 11 - Sauvegarde/chargement des routes

Yo.
Hier, c'était encore une session assez courte malheureusement, il y a eu une soirée imprévue avec le boulot et qui a duré des plombes, du coup je n'ai pas eu le temps que je voulais pour coder.
Mais j'ai quand même une bonne nouvelle, la pose des routes est maintenant finalisée :)

Hier, pendant le peu de temps que j'ai eu pour coder, j'ai tout de même pu mettre en place le système de sauvegarde et chargement des routes.

Pour faire simple, jusque là nous avions l'objet TileObject, qui représentait un point de notre map, avec sa position et son type (Grass, Dirt...). Ici, j'ai créé un nouvel objet nommé BuildingObject, qui pourra être utilisé pour tous les types d'objets posable sur la map. Il contient le type de building ainsi que son orientation. Et il suffit ensuite de dire que chaque TileObject peut maintenant contenir un BuildingObject.

Lors de la construction de chaque morceau de route, on va créer le BuildingObject correspondant et on l'ajoute au TileObject qui se situe sous cette route. Pour supprimer une route, il faudra d'abord supprimer à l'écran le GameObject route, puis supprimer le BuildingObject contenu dans le TileObject correspondant. Et une fois fais, tout se sauvegarde.
(A noter que la manière de sauvegarder les objets est pour l'instant adéquat car un morceau de route fait la taille d'une case, mais si on se met en tête de faire des bâtiments qui peuvent faire plusieurs cases de long ou de large, il faudra peut être changer ce système pour autre chose.)

Pour ne pas conserver les routes à l'écran lorsqu'on change de map, il suffit de supprimer tous les BuildingObject contenus sur la map.

Ensuite, pour le chargement, lorsqu'on instancie chaque case de notre Map, on vérifie si un BuildingObject existe, et ci c'est le cas on instancie le préfab correspondant et on lui applique une rotation en fonction de la direction qui lui est assignée.


Sauvegarde/chargement exemple


Et c'est tout! C'est assez simple au final, ça marche comme il faut, et du coup maintenant on a tout ce qu'il nous fallait pour les routes. Du coup la prochaine étape, ça va être la gestion des ressources, et la pose d'autres type de buildings, avec l'interface et tout et tout. A très vite pour l'update du jour 12!

mercredi 20 juin 2018

[Unity3D][Défi50jours] Jour 2 - Travail de recherche et experimentations




Yoyoyo yo yoyoyo, je suis le ratz qui fait du rap...
Bonjour, update jour 2, ça va? Moi ça va, je fais les updates les lendemains, c'est malin, du coup on croit que je suis décalé et que je n'ai pas fait mes devoirs. Mais NON, QUE NENNI mon ami, je suis bel et bien dans les temps et ait bien effectué mon heure quotidienne de développement hier soir, en ce mardi 19 juin. Et aujourd'hui, c'est l'heure de l'article update, même s'il va être très court*. Alors accroche toi à ton slip, on est parti.




vendredi 7 octobre 2016

[Unity3D][Guide] Une minimap pas trop compliquée

Depuis quelque jours je touche pas mal à Unity3D, ce moteur de jeu gratuit et assez complet qui permet de faire pas mal de choses même pour un néophyte en matière de développement de jeux-vidéo. Ma dernière lubie, faire un système de minimap pour n'importe quel type de jeu.

Après plusieurs recherches et essai, j'ai fini par parvenir à réaliser quelque chose de plutôt simple, mais mine de rien assez efficace, qui nous donne quelque chose comme ça à la fin:


Rendu final


Si vous êtes intéressés et voulez en faire une vous même et n'avez aucune idée de comment faire, je vais vous exposer ici la méthode que j'ai employée, d'abord dans les grandes lignes pour vous expliquer l'idée puis de manière plus poussée. Gardez cependant en tête que ce n'est peut être pas la méthode parfaite et que plus tard vous voudrez peut être passer à quelque chose de plus poussé.
En attendant, prenez vos plus beaux habits de développeurs, remontez vos manches, attachez vos  bretelles, rentrez les chevaux, et suivez le guide! ;)