Bonjour,
Je viens ici présenter le jeu "The Secret Tower" que je développe en Python à l'aide de PyGame. Ce jeu de plateforme s'inspire grandement de minecraft, de terraria ou encore dwarf fortress.
Présentation du jeu :
The Secret Tower est un jeu de plateforme en 2D dans lequel vous devrez sauver la princesse Ericia, prisonnière de la Tour Secrète. Les nombreux étages sont composés uniquements de blocs, à vous de les détruire, les déplacer ou les fabriquer pour gravir les étages et combattre les horribles monstres qui peuplent cette tour...
Le jeu est actuellement en développement et une version beta sera disponible dans quelques jours
...
Voici une petite vidéo de l'avancement du jeu :
http://youtu.be/p985E0fv7dQ
Site du projet :
http://www.secrettower.net/
Code source :
https://github.com/pierre30994/TheSecretTower/
Salut
Tout dabors j'adore ton jeu :3
Ensuite , est-ce que le python + le sdl PyGame étais dur pour faire un jeu comme ça (Comparer au flash si tu connait un peu
Je compte m'y mettre vue les possibilité que sa peut offire :] , j'ai déjà mon idée de jeu ^^
Merci d'avance pour ta réponse et gg ton jeu ![]()
Ça a l'air pas mal du tout, félicitations et bonne continuation.
Salut Poneymove,
Merci pour tes encouragements ![]()
Le Python est un langage très simple d'apprentissage. L'abstraction du matériel est totale, contrairement à d'autre langage comme le C++. Personnellement, je n'aime pas le flash, mais là c'est à toi de voir si tu souhaite que ton jeu soit jouable sur navigateur ou non.
Pygame fournit un résultat très convaincant et permet d'utiliser la puissance de la SDL avec un langage simple et portable, le Python.
Je suis en train de faire des tutos mais la plupart me donne des grosses erreur :// , le début d'un language est chiant mais bon :3 , petite question tu utilise quel version de phyton ? :] et où à tu apprit le pygame ? (Je sais je suis chiant ^^")
J'adore le style de ton jeu franchement , un mélange entre minecraft (Pour les craft tous ça [Ou même de térraria]) et d'un bon petit RPG , j'adore :D
Cordialement Poneymove !!
J'utilise dans mon jeu la version 2.7 de Python.
J'ai appris Pygame grâce à la documentation officielle, mais j'avais déjà une certaine expérience de SDL en C (Pygame conserve tout les mécanismes de SDL). Mais il existe de très bon tuto, comme sur le site du zero ou encore developpez.com.
Oui je vois sa sur le SDZ :] , et j'ai la même version donc sa va ^^"
Merci d'avoir répondu :p et vivement la béta de ton jeu :]
Salut !
J'ai téléchargé le code source de ton jeu. Déjà, merci de rendre le code source libre !
Je tente une exécution, premier capotage : CPython râle, problème d'encodage. La déclaration d'encodage doit être impérativement la première ou la seconde ligne du fichier (si la première est un shebang).
Voir pep 0263 : « To define a source code encoding, a magic comment must be placed into the source files either as first or second line in the file [...] »
L'autre solution serait d'éviter de sortir de l'ASCII :P.
Ceci corrigé, ça tourne plutôt bien ! On sent la minecraftitude derrière, bref, sympa, à peaufiner et équilibrer, continue comme ça.
Passons au code maintenant ! (yay !)
- from spam import * : ça c'est le mal absolu ! Même si c'est une des syntaxes d'import offertes par le langage, ça n'a qu'un avantage vraiment minime par rapport aux inconvénients : tu ne sais pas d'où vient ce qui se trouve dans le namespace de ton module, c'est la porte ouverte aux conflits de nommage. Préfères importer chaque symbole explicitement (explicit is better than implicit), même si ça te fait un en-tête d'import un peu plus lourdingue, c'est vraiment un plus quand tu dois relire un vieux module ou que quelqu'un d'autre doit comprendre ton code.
- tu répètes beaucoup de code, tu pourrais économiser un peu d'énergie et de lignes en factorisant certaines parties (notamment tu as des enchaînements de if/elif/else assez longs et répétitifs qui sont améliorables).
Je n'ai pas creusé beaucoup plus en profondeur mais les sources ont l'air assez claires, et puis ça fonctionne, donc pas mal !
Bon courage pour la suite, n'hésite pas à poster ton avancement !
Merci de m'avoir fait part de ton avis Kaoron,
Cela me fait plaisir de voir quelqu'un s'intéresser à mon travail
Je viens de corriger les erreurs d'encodage, j'ai commiter un peu trop rapidement
Suite à tes conseil, je vais revoir en détail mes d'importations ainsi que ces fameuses répétitions (Et là, il y a du travail...).
J'ai une petite idée mais je sais pas si sa pourrait marcher (Vu que j'ai pas ton code devant les yeux , et que je sais pas si python le fait
Tu fous un bon gros switch dans tous ça avec case ----- breack , et tu répéte ça tous le temps :]
J'aspire personnellement connaitre suffisamment pygame et le python pour pouvoir faire un travail comme le tien :]
Magnifique boulot ![]()
Je me permet tant que je trouve des connaisseurs en Python ici poser une ou deux question, ensuite je m'en irait pour ne pas "voler" l’intérêt du topic dont mes question ne sont pas le sujet
Voilà, je suis grandement intéressé par le développement d'un jeu sous Game Blender, je le connais etc, le seul problème c'est que pour pas mal de fonctions avancées il faut connaitre le python, et c'est là que je vous demande, est ce que le tutoriel du site du zero est utile pour aboutir à ce genre d'utilisation du langage python ? ![]()
et si "Non", où pourrais-je apprendre le codage de ce type de script python ?
J'imagine que oui mais j'aimerais en être sur
Merci, et encore désolé d'utiliser ce topic, mais après ma réponse, je m'en vais ![]()
Ti-samu : Je ne connais pas l'api de gameblender, mais les programmes développés en python sont généralement plutôt homogènes dans le style (longue vie à la PEP 8), et les différences se marquent à un plus haut niveau, au contraire d'un langage comme C++ où un framework peut complètement redéfinir ton utilisation du langage (Qt en est un exemple).
Bref, n'importe quel bon cours/tuto de python te sera utile. Je ne connais pas celui du site du zéro, j'ai commencé avec The Python Tutorial http://docs.python.org/tutorial, et je me réfère parfois à Dive into Python http://diveintopython.org/
Plus généralement, la documentation de référence python est la ressource à garder en favoris, l'interpréteur interactif est un outil magnifique pour tester et expérimenter (l'interpréteur ipython y ajoute quelques améliorations agréables) et quand un point reste obcsur, le net regorge de discussions autour de python : blogs, sites de questions/réponses (stackoverflow pour n'en citer qu'un), newsgroups, irc...
D'accord, c'est bien ce que je pensais, merci beaucoup pour cette réponse complète, je rend son topic à l'auteur ![]()
J'aime bien lire du code, je reviens à la charge avec quelques menus points de langage.
--------------------
Ce petit bout de code dans menu.py
input = range(0, 1000, 1)
for i in range(len(input)): input[i] = 0
Peut avantageusement être remplacé par celui_ci :
input = [0]*1000 # l'opérateur de multiplication sur un tuple/liste effectue une réplication
--------------------
preponse = preponse + "a"
preponse += "a"
--------------------
de même dans app.py :
self.size = [800, 600]
self.fenetre = pygame.display.set_mode((self.size[0], self.size[1]), pygame.DOUBLEBUF)
peut être remplacé par :
self.size = (800, 600) # un tuple (immutable) est plus approprié qu'une liste (mutable)
self.fenetre = pygame.display.set_mode(self.size, pygame.DOUBLEBUF) # le tuple ou la liste peut être passé directement
C'est tout pour l'instant.
Alors ça, c'est vraiment génial.
Je vous me mettre au python il y a quelques temps et j'ai eu pas mal de difficulté à me lancer. Du coup, j'ai regardé un peu ton code et ça m'a remotivé.
En plus de ça, j'aime beaucoup de boulot fournis. Je vais suivre ce topic. ![]()
Moi j'apprend le python doucement (Très doucement
) mais surment , j'apprend vite fait les bases de la syntaxe et après je me lance dans un jeu que je pense depuis 5-6 mois avec un pot :]
Enfin bref , je posterais peut être l'avancement içi , et si quelqu'un voudrait m'apprendre des trucs sur le python ou pygame je suis preneur :]
C'est cool ton jeu l'ami. Par contre tu es sûr que ton fps counter fonctionne bien ? Il est souvent en-dessous de 20 et pourtant le tout paraît assez fluide de ce que mes yeux en voient.
Sa dépend du PC , enregistrer une vidéo pompe pas mal de frame :]
Genre moi qui tourne en moyenne à 60 fps sur les jeux , qu'en j'enregistre je tombe dans les 25-30 quoi :/
Autrement Il est possible que la vidéo ait été accélérée.