2009-10-23 4 views
3

Je suis en train d'écrire un RTS pour pygame et j'ai écrit un certain nombre de modules sur pygame pour des choses courantes, comme la détection efficace des collisions, un système d'état et plusieurs sprites. Maintenant, tout en écrivant des jeux, sauf pour Rect et Surface, je écris à peine tous les appels à Pygame lui-même.Moteurs construits sur pygame

En cherchant sur ce sujet, je n'ai rien trouvé qui semble vraiment prendre le relais de pygame pour la plupart du game design. Donc, je me demandais si quelqu'un d'autre a utilisé un moteur construit sur pygame et a trouvé bon de travailler avec. J'avais également prévu de sortir le jeu et le moteur en open source, donc je veux savoir combien d'autres ont fait, et donc ce que je devrais faire ou intégrer dans mon moteur.

+2

Je pense que vous utilisez peut-être mal le terme wrapper ici. Parlez-vous d'un moteur de jeu superposé à Pygame? –

+0

Je pense que vous avez raison, je voulais dire un moteur de jeu en couches sur le dessus de pygame au lieu d'un wrapper. Je vais maintenant éditer la question. – Nikwin

Répondre

6

Bien Pygame lui-même est essentiellement un wrapper Python aux appels SDL. Je pense en substance que vous seriez juste en train d'emballer un emballage.

Vous pouvez toujours créer votre propre API d'adaptateur, mais qu'est-ce qui vous déplaît le plus en ce qui concerne l'API de Pygame, au point que vous ayez besoin de la séparer de votre code? Je pense que vos méthodes génériques, comme la détection des collisions personnalisées, pourraient être séparées dans leur propre module moteur, en le séparant essentiellement du reste de votre code de jeu, mais vous êtes simplement en train de superposer Pygame avec cette approche, pas l'emballage.

EDIT:
Tout comme un suivi maintenant que la question a changé. Réponse courte, non je n'en connais pas. Vous voudrez peut-être vérifier The Independent Gaming Source forums, ces gens semblent assez bien connaître. Assurez-vous de poster toutes les réponses que vous trouvez ici. Longue réponse, il pourrait être possible que l'espace "moteur" entre le Pygame, qui gère les appels à SDL et je pense que la logique supplémentaire (comme la détection de collision), et le code du jeu lui-même est trop petit pour tout le monde pour écrire une bibliothèque générique pour cela. Les différents types de jeux ont des exigences de moteur différentes, et les parties génériques du moteur qui sont partagées entre tous les types de jeu semblent être couvertes par Pygame lui-même. Si vous avez écrit un jeu RTS dans Pygame, alors vous pourriez certainement séparer le moteur RTS de votre logique de jeu, cela aiderait probablement votre conception globale en séparant les préoccupations. En outre, il peut être utile de libérer ce moteur afin que les autres personnes qui veulent écrire un RTS dans Pygame puissent en bénéficier.