Je suis un développeur Python (3) et Java. J'ai déjà pas mal de projets (et pétages de cables aussi xD) à mon actif, dont UrWorld, Pysique (don't worry, il continue, mais je galère sur les textures :D), et bien d'autres projets avec Pygame.
Le projet
C'est un ARPG dungeon crawler, où vous êtes un chercheur qui s'est mis dans la tête l'idée de recenser toutes ces étranges créatures qui peuplaient l'île d'Unamed.
Vous pourez capturer vos créatures, les faire monter en niveau en en combattant d'autres ... et découvrir de facon plus approfondie cette île !
Note : on écrit Unamed et non Unnamed, c'est faitexprès
Genèse
Tout le monde le sait, UrWorld a été une superbe aventure, mais aussi un échec si on fait les comptes.
C'est pourquoi j'ai décidé de recommencer un projet, qui cette fois me tient à coeur depuis belle lurette : un pokémon like.
Sauf que pour ce nouveau projet je n'avais pas envie d'avoir une architecture lamentable, et à refaire 6-10 fois. Du coup j'ai passé pas mal de temps à la faire et défaire, jusqu'à ce que j'en arrive à l'architecture actuelle
Avancement
Actuellement, on peut se déplacer (pixel par pixel), dans les 8 directions (haut, base, gauche, droite, et haut+gauche, haut+droite ...), un test de serveur est en cours (local seulement, par UDP normalement), on a des PNJ qui parlent, un système de sous cartes (pour les batiments entre autre), on a le système de combat (non graphique pour le moment, j'y travail), le système de zone de combat ... Bref une grosse partie du boulot est déjà faite !
Objectifs
Faire un jeu qui tourne sur tous les PC (de 1Go de ram à 16Go), sur le plus d'OS possible (donc je recode absolument tout, sauf Pygame bien sûr)
Pouvoir jouer en réseau (donc se balader de 2 à 8 joueurs sur une même carte (pas sous carte attention, même si on peut se retrouver à plusieurs sur la même sous carte) et faire des combats entre joueurs)
Pouvoir faire une série complète ! Et oui, si je fais une architecture extrêmement modulaire, ce n'est pas que pour faciliter le développement d'Unamed, c'est aussi pour sortir une série
Et je pense que c'est déjà bien
Recrutement
Je recherche :
un graphiste pouvant faire les tiles du jeu (on verra ca en MP ) ; déjà pourvu
un programmeur Python (3) s'y connaissant assez bien en réseau (UDP, on peut s'arranger pour faire du TCP) ; reste à pourvoir
Nota bene : Apparemment la config minimale fait des sceptiques. Sachez qu'Unamed tourne à 60 FPS (régulation que j'ai demandé), avec un Core i3 à 2.40 Ghz, et 8 Go de RAM DDR4 (je ne crois pas faire d'erreur là dessus). Le tout en ne consommant que ~16 Mo de RAM, en chargeant toutes les ressources
Merci de lire la nota bene, apparemment certains (je ne vise personne ) sont sceptiques
Je vous prierai à l'avenir de ne pas vous écarter du sujet.
PS: @Grand__Smurf, d'habitude j'essaie de ne pas "feed the troll", mais aussi, un jeu (ici UrWorld) qui tourne à 15 FPS chez toi n'est pas démonstratif de ce que je suis désormais capable de produire. UrWorld a quand même 1 an et demi depuis quelques jours je crois bien. Et le code est des plus immondes, je te le concède. Pour information, il tourne à 90 FPS chez moi sans dé-bridage ni tricherie. Et le pire (pour toi, j'imagine), est qu'il peut sans peine tourner à 250 FPS en light start (combo 1476 puis jouer), qui désactive à vrai dire ... peu de fonctionnalités (très mal codées, je te le concède encore une fois)
EDIT: video youtube #2 sortie (et j'ai essayé de faire un stream ... mais comment dire ? ca a ramé à mort ?)
C:\Python34\python.exe main.py
Chargement ...
Appuyez sur 'J' pour lancer le jeu
Le fichier indiquant une manipulation existe déjà.
Remarque(s) :
1447866869.728437 - Ajout des premières créatures, d'un trigger de test en (0, 0), de nouveaux objets, et des débuts de zones de base
Sauvegarde ...
Traceback (most recent call last):
File "main.py", line 51, in <module>
main()
File "main.py", line 39, in main
jeu.start()
File "H:\Git\unamed\src\game.py", line 331, in start
self.render(dt)
File "H:\Git\unamed\src\game.py", line 296, in render
raise NotImplementedError("Un combat a été déclenché. La partie graphique n'étant pas terminée, une erreur "
NotImplementedError: Un combat a été déclenché. La partie graphique n'étant pas terminée, une erreur vient de terminer le jeu (brutalement, mais votre partie a été sauvegardée). Ne vous inquiétez pas, cela veut dire que je suis en bonne voie !
Oui oui j'ai mis un petit NotImplementedError juste pour bloquer le jeu Bon aussi, sans ça, on aurait pas pu quitter le combat xD
Et pis il faut bien que je rappel que j'ai fait le binding
Sinon, j'ai fait la partie graphique du système de sauvegarde (donc on a un texte qui dit que ça sauve, et un petit bonhomme qui cours :D) et corrigé des bugs par ci par là
J'ai fait quelques petites améliorations par ci par là, et enfin fait un menu digne de ce nom bon ok faut encore appuyer sur 'j' pour jouer, je pense faire un bouton
Je reviens enfin, avec pas mal de (petites certes) nouveautés !
La gestion des boutiques est en train d'être fait, on a (enfin) de l'argent, on peut sélectionner des créatures en choisissant un stade d'évolution, j'affiche l'image des créatures déjà vues dans l'indexer, et quelques petits patch ont été fait
J'espère pouvoir sortir une version avec des combats (y en a déjà, mais là je parle de l'interface graphique) bientôt
Je viens de commencer (enfin) la partie graphique des combats C'est pas beau pour le moment, j'ai tout mis en vrac (barre de vie des créatures, images ...), mais au moins ca fonctionne !
Sinon, comme ca fait déjà un petit bout de temps que j'ai pas fait de vidéo, du coup, je vais essayer d'en tourner une / screencaster une / faire une / autre terme approprié ici assez rapidement (dans le courant de la semaine si j'y arrive !)
J'ai ajouté le drop d'objet (et leur récupération), avec une petite message box pour dire que l'on a trouvé un objet.
Je bosse sur le système de combat (graphiquement hein) maintenant !
Si tout se passe bien, je devrai pouvoir tourner une video (la monter, faire les commentaires et tout ^^') samedi matin - donc demain - sur les nouveautés !
J ai commencé à "conceptionner" la partie réseau (LAN uniquement pour le moment) d unamed. Je pense que cette fois les perfs seront au rendez vous, pas comme pour UrWorld xD
J'ai pas mal bossé sur le système du chat (normalement fonctionnel en réseau mais comme le serveur est pas totalement fait ... je peux rien dire ). Le dit chat fonctionne aussi en solo, juste parce que je trouvais ca fun.
Sinon je suis en train de revoir le système de gestion des attaques dans les combats (on peut pas les sélectionner au clic :/), et je vais m'attaquer à ce serveur !
Le réseau est bientôt fonctionnel (pas tout pour le moment hein !), et différents problèmes graphiques / de GUI (dont ce fameux clic) ont pu être réglés, et le joueur peut maintenant choisir un pseudo via le menu si c'est sa première partie.
Mais je bosse encore et toujours sur le réseau, car j'ai du merdé dans le code du serveur (les requêtes que j'envoie ne sont pas complètes).
Sinon on peut maintenant, depuis le menu choisir entre le mode réseau et le mode "normal"
Quand on choisi "réseau", il faut entrer une ip pour le serveur juste après (le port est par défaut 5500 et n'est pas modifiable, hormis par le code)
Voilà voilà
Je pense m'attaquer très bientôt aux premiers tests de passage d'une mini map à une autre (ça fonctionne "techniquement" mais j'ai pas encore essayé à vrai dire)
Mais par superbe j entend bien entendu que c est le principe qui est superbe, pas l animation grossière et représentative d absolument rien. C était juste un test ça
J'ai ajouté le concept de Créatures Shiney, et fait quelques petites correctifs, dont :
* désormais, on ne rencontre que des créatures de stade 0 / 1 ou 2 / 2 ou 3 (donc de base, ou évolué) (et j'ai réglé chaque zones indépendamment pour n'avoir que des stades précis qui puissent apparaitre), de manière à ne pas trouver de créature stade 3 et niveau 2
Yep, plus ou moins on va dire. On peut "techniquement" jouer à deux (voir plus en fait, je crois ne pas avoir encore fixé ma limite (instaurée uniquement pour que le serveur ne lague pas et ne fasse donc pas laguer ses clients)), le seul hic pour le moment est que je récupère bien la position de l'autre joueur, sans l'afficher x)
Sinon je suis en train de bosser sur le réseau, entre autre des améliorations côté serveur (surtout de gestion qui entraineront de meilleures perf), et aussi côté client, dont le NetworkEventListenner qui peut désormais gérer les changements de position des personnages ! (une class à part a donc été créée)
En espérant pouvoir tourner une video, même courte, samedi, je vous dis à bientôt
En ce moment je bosse sur le système de paramètres (réglables dans le futur par l'utilisateur ), dont un assez gros (inutile, certes, mais vachement intéressant à intégrer, ne serait ce que pour essayer) : la possibilité de passer le jeu *entier* en noir et blanc
Ca fonctionne parfaitement pour le moment, un seul problème mineur : les pygame.draw.rect (qui permettent de faire des rectangles d'une couleur donnée sur l'écran) ne font ... plus rien
Sinon je songe de plus en plus à refaire une gestion des objets, car là ça devient impossible (au début, c'était vachti primitif, et je ne pensais pas encore au moment où je voudrais m'en servir)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Développeur python amateur et fan de jeux-vidéos !
Développeur python amateur et fan de jeux-vidéos !