Partage
  • Partager sur Facebook
  • Partager sur Twitter

[javascript/canvas] framework de jeu

8 mai 2016 à 15:29:14

Projet très intéressant, bonne continuation !
  • Partager sur Facebook
  • Partager sur Twitter
8 mai 2016 à 18:41:01

Il n'y a pas longtemps, j'avais trouvé une super technique pour faire des maps :

au lieu de faire des tableaux immense, tu fais une image :D

  • Partager sur Facebook
  • Partager sur Twitter
Viens jeter un coup d’œil à mon jeu :) (merci Ardakaniz) https://openclassrooms.com/forum/sujet/jeu-2d-unviplanet
Anonyme
8 mai 2016 à 18:56:59

mais niveau collisions, c'est pas un peu coplexe ? sauf si tu extraits les pixels dans un tableau avant
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
8 mai 2016 à 19:16:42

Yaalval a écrit:

mais niveau collisions, c'est pas un peu complexe ? sauf si tu extraits les pixels dans un tableau avant


Je pense qu'il faut créer l'image, l'importer et générer un tableau avec, ça revient un peu au même mais ça accélère le processus de création de maps je pense ^^
  • Partager sur Facebook
  • Partager sur Twitter
8 mai 2016 à 20:40:25

J'aime beaucoup l'idée. Tu as fait les tiles toi même ou t'as récup' sur internet. Bonne chance en tout cas !

  • Partager sur Facebook
  • Partager sur Twitter
8 mai 2016 à 21:50:27

Oui, pour faire une collision par pixel, il faut prendre un image mask puis faire un tableau avec, mais après des collisions par pixels, il faut les maitriser, parce que c'est compliqué à comprendre ^^

  • Partager sur Facebook
  • Partager sur Twitter
Viens jeter un coup d’œil à mon jeu :) (merci Ardakaniz) https://openclassrooms.com/forum/sujet/jeu-2d-unviplanet
Anonyme
8 mai 2016 à 23:25:34

Minozar a écrit:

J'aime beaucoup l'idée.
Tu as fait les tiles toi même ou t'as récup' sur internet. Bonne chance en tout cas !


Heu, j'ai fait les tiles moi même :') elles sont pas folles car j'ai jamais vraiment fait du pixel art auparavant, donc faudrait que j'en refasse :)

  • Partager sur Facebook
  • Partager sur Twitter
9 mai 2016 à 21:43:57

Coucou ! J'aimerais me lancer dans un projet plutôt similaire, amoureux du JS que je suis, mais plus dans le but d'apprendre que de vraiment finir par déployer une version finie.

Tu n'aurais pas un github d'ouvert par hasard, j'aimerais bien voir de plus près quelques trucs qui m'intriguent, la gestion des différentes caméras et des collisions notamment ;)

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
10 mai 2016 à 13:48:51

YouriYouri1 a écrit:

Coucou ! J'aimerais me lancer dans un projet plutôt similaire, amoureux du JS que je suis, mais plus dans le but d'apprendre que de vraiment finir par déployer une version finie.

Tu n'aurais pas un github d'ouvert par hasard, j'aimerais bien voir de plus près quelques trucs qui m'intriguent, la gestion des différentes caméras et des collisions notamment ;)


Salut, ça dépend de ta façon de coder en JS,

pour la camera je me suis pas trop embêté, j'ai créé un objet qui s'appelle Camera, avec une position x/y, avec une fonction qui change cette position par celle de la cible.

Dans une autre fonction qui gère l'affichage du jeu j’exécute une translation avec ctx.translate(camera.x,camera.y); et voila :) le tour est joué.

je posterais le code si tu veux pour la camera et collision.

  • Partager sur Facebook
  • Partager sur Twitter
11 mai 2016 à 14:02:41

Et du coup, pour ton système de coordonnées, tu gères ça en quelles unités? Direct les pixels, ou t'as un système de tiles que tu convertis ensuite en px, ou bien encore autre chose?
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
11 mai 2016 à 18:17:29

YouriYouri1 a écrit:

Et du coup, pour ton système de coordonnées, tu gères ça en quelles unités? Direct les pixels, ou t'as un système de tiles que tu convertis ensuite en px, ou bien encore autre chose?


hum, oui :) le pixel pour la collision je converti la position de l'entité avec celle de la tuile visée.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
18 mai 2016 à 20:11:42

YouriYouri1

Je suis entrain de refaire le système de collision :) donc voila un peu de code pour détecter la collision d'un point sur un tableau ^^ 

http://codepen.io/Gthibaud/pen/WwBJOZ?editors=0010

je posterais pour la collision entre deux rectangles plus tard :) 

-
Edité par Anonyme 18 mai 2016 à 20:14:42

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
21 mai 2016 à 20:15:06

Bon :) le code est beaucoup plus clair pour les collisions, maintenant on peut gérer les collisions entre carré / rectangles avec des tailles différentes ! :D

En gros j'utiliser un"détecteur" comme le point sur l'exemple du dessus pour un rectangle il en faut 8, haut / bas / gauche / droit * 2, en fonction du retour d'un des détecteurs, si la tuile retournée à une id qui correspond à une collisions on utilise la réponse adaptée à la direction détectée.

Collision avec un rectangle et non plus un carré.

Il est aussi possible de créer des entités avec une collision plus large que la taille d'une tuile de la map, mais elle pourra être bloquée la ou des entités plus petites pourraient passer.

-
Edité par Anonyme 21 mai 2016 à 20:20:57

  • Partager sur Facebook
  • Partager sur Twitter
21 mai 2016 à 21:34:47

Dans le cas où tu souhaiterais te debarasser des tableaux dans ta gestion des collisions, tu pourrais te renseigner sur une architecture de collision en QuadTree.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
21 mai 2016 à 22:32:05

Auryn a écrit:

Dans le cas où tu souhaiterais te debarasser des tableaux dans ta gestion des collisions, tu pourrais te renseigner sur une architecture de collision en QuadTree.


Il me semble que le QuadTree sert uniquement à optimiser le calcul de la collision, et pas la collision en elle même, mais je pourrais intégrer un type de collision plus complexe, ou un moteur physique directement ^^.
  • Partager sur Facebook
  • Partager sur Twitter
22 mai 2016 à 10:05:28

Oui comme je te disais, c'est pour te débarrasser de l'organisation en tableau de tes objets qui nécessitent des collisions.

L'architecture QuadTree te permettra de récupérer efficacement les objets (qui pourront être placé n'importe comment sur ta map sans devoir suivre un format de tableau), qui sont autour de ton "personnage" et qui peuvent potentiellement entrer en collision avec ton personnage.

Pour ce qui est du traitement de la collision, quand j'ai pratiqué un peu de 3D avec Tree.js, il me semble avoir trouvé un processus appelé Ray Casting, tu peux chercher par là voir si ça t'est utile.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
22 mai 2016 à 10:16:39

L'organisation en tableau permet de créer des maps plus rapidement ^^ et mon moteur et un moteur d'arcade 2d 

Mais oui :p si j'ai besoin d'intégrer une résolution de collision plus complexe pour des polygones avec un placement bcp plus libre ou autre je passerais à un moteur physique je pense.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
25 mai 2016 à 23:20:45

YouriYouri1 a écrit:

Et du coup, pour ton système de coordonnées, tu gères ça en quelles unités? Direct les pixels, ou t'as un système de tiles que tu convertis ensuite en px, ou bien encore autre chose?


Voila :) je te postes le système de collision >http://codepen.io/Gthibaud/pen/JKPymm/

  • Partager sur Facebook
  • Partager sur Twitter
26 mai 2016 à 9:57:04

J'adore ton petit moteur, il est super bien foutu '-'

On peut déjà l'utiliser ou est-ce qu'il y a des features pas encore tout à fait au point ? (je suis assez pressé de le tester :3)

  • Partager sur Facebook
  • Partager sur Twitter
Galerie : Artstation  ~  Contactez moi pour vos projet (mp)
26 mai 2016 à 20:42:29

Merci beaucoup! J'avoue ne pas avoir tout regarder en un soir mais dès que je peux je check tout ça ;)
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
26 mai 2016 à 21:32:18

Teroratsu a écrit:

J'adore ton petit moteur, il est super bien foutu '-'

On peut déjà l'utiliser ou est-ce qu'il y a des features pas encore tout à fait au point ? (je suis assez pressé de le tester :3)


J'aimerais développer un jeu avec avant ça :) et je ne pense pas que ça soit une bonne idée de l'utiliser pour des projets ^^', car je suis un amateur dans ce domaine et je ne conseillerais pas a quelqu'un de l'utiliser pour son propre projet.

Sinon pour les features  qui manquent, il y a la gestion du son, et les dialogues ( affichage de textes et transition entre deux scènes / cartes ).

  • Partager sur Facebook
  • Partager sur Twitter
27 mai 2016 à 9:12:09

T'aurais besoin d'aide au final pour le développement ? J'ai lu le code source et ça m'a pas l'air bien compliqué à étendre. Et puis j'aurai bien aimé essayer de lier ça de façon sécurisée avec un serveur node, pour le fun :3.

-
Edité par Teroratsu 27 mai 2016 à 9:13:52

  • Partager sur Facebook
  • Partager sur Twitter
Galerie : Artstation  ~  Contactez moi pour vos projet (mp)
Anonyme
27 mai 2016 à 15:04:36

Teroratsu a écrit:

T'aurais besoin d'aide au final pour le développement ? J'ai lu le code source et ça m'a pas l'air bien compliqué à étendre. Et puis j'aurai bien aimé essayer de lier ça de façon sécurisée avec un serveur node, pour le fun :3.

-
Edité par Teroratsu il y a environ 5 heures


tu manipules bien nodeJS ?

j'aurais aimé faire qqchose en temps réel avec socket io ^^' mais je galère un peu.

  • Partager sur Facebook
  • Partager sur Twitter
27 mai 2016 à 15:17:14

ouaip je bosse en ce moment même sur une appli avec socket.io je peux t'expliquer le fonctionnement si tu veux :)
  • Partager sur Facebook
  • Partager sur Twitter
Galerie : Artstation  ~  Contactez moi pour vos projet (mp)
Anonyme
27 mai 2016 à 15:24:08

Yep ^^, si tu veux tu peux m'ajouter sur skype ou par Mp pour m'expliquer. ^^

-
Edité par Anonyme 27 mai 2016 à 15:24:34

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
29 mai 2016 à 2:53:02

Je fais un petit jeu pour la démo :) donc j'ai commencé par l'idée de base

vous êtes dans une salle, (j'ai mis une caméra fixe), des ennemies descendent du bord haut de la map et vous devez les tuer pour survivre. (le son est géré).

donc je rajouterais l'affichage de la vie, une limitation des munitions, et un point de vie et munition qui spawn sur la map à n'importe quel moment ^^

  • Partager sur Facebook
  • Partager sur Twitter
29 mai 2016 à 9:39:00

Ça m'a l'air bien cool ça !
  • Partager sur Facebook
  • Partager sur Twitter
Codeur en herbe en C++ et Html/Css/JavaScript. Passez voir la chaîne Computer Scientists
Anonyme
29 mai 2016 à 16:01:18

Slimes slaughter

 Première demo disponible :)  Ici

-
Edité par Anonyme 29 mai 2016 à 16:30:10

  • Partager sur Facebook
  • Partager sur Twitter
4 juin 2016 à 13:41:07

Wohhh, joli! C'est vraiment complet, et même agréable à jouer! Chapeau bas l'artiste :lol:
  • Partager sur Facebook
  • Partager sur Twitter
4 juin 2016 à 18:11:34

Bravo :) C'est quand qu'on peut tester tout ça ?
  • Partager sur Facebook
  • Partager sur Twitter