CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python] The Secret Tower

pierrot30994
pierrot30994
Niveau 3
29 juillet 2011 à 13:50:49

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/

Poneymove
Poneymove
Niveau 7
29 juillet 2011 à 14:32:32

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 :p) 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 :bave:

Pocolo
Pocolo
Niveau 10
29 juillet 2011 à 14:37:06

Ça a l'air pas mal du tout, félicitations et bonne continuation.

pierrot30994
pierrot30994
Niveau 3
29 juillet 2011 à 16:22:01

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.

Poneymove
Poneymove
Niveau 7
29 juillet 2011 à 16:35:14

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 !!

pierrot30994
pierrot30994
Niveau 3
29 juillet 2011 à 17:08:32

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.

Poneymove
Poneymove
Niveau 7
29 juillet 2011 à 17:10:51

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 :]

Kaoron
Kaoron
Niveau 9
30 juillet 2011 à 19:09:13

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 !

pierrot30994
pierrot30994
Niveau 3
30 juillet 2011 à 19:53:33

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 :rouge:

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...).

Poneymove
Poneymove
Niveau 7
31 juillet 2011 à 08:41:53

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 :p)

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 :]

noml
noml
Niveau 10
31 juillet 2011 à 10:40:35

Magnifique boulot :ok:

Ti-samu
Ti-samu
Niveau 10
31 juillet 2011 à 10:43:17

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 :oui:

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 :oui:

Kaoron
Kaoron
Niveau 9
31 juillet 2011 à 11:02:30

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...

Ti-samu
Ti-samu
Niveau 10
31 juillet 2011 à 14:52:36

D'accord, c'est bien ce que je pensais, merci beaucoup pour cette réponse complète, je rend son topic à l'auteur :noel:

Kaoron
Kaoron
Niveau 9
31 juillet 2011 à 17:56:48

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.

prefactor
prefactor
Niveau 10
01 août 2011 à 11:30:37

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. :)

Poneymove
Poneymove
Niveau 7
01 août 2011 à 18:34:03

Moi j'apprend le python doucement (Très doucement :rire: ) 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 :]

tbop2
tbop2
Niveau 10
01 août 2011 à 19:20:50

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.

Poneymove
Poneymove
Niveau 7
01 août 2011 à 19:26:39

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 :/

Pocolo
Pocolo
Niveau 10
01 août 2011 à 19:45:07

Autrement Il est possible que la vidéo ait été accélérée.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware