Question

Je voudrais savoir comment créer un jeu fps avec SDL lib?

Existe-t-il des livres qui expliquent par des exemples?

Était-ce utile?

La solution

cela gagne la question la plus ouverte. Vous pouvez littéralement écrire un livre. Mais réglons-nous pour pointer dans la bonne direction ...

La première étape consiste à acquérir de bonnes compétences en débogage pour un projet comme celui-ci. Pick up Code Complete de Steve McConnell. Lire le tout. Le temps investi sera plus rentable que tout ce que vous pourriez lire / expérimenter.

Mettez la main sur un code source de certains jeux. N'importe quel jeu. Assurez-vous de voir quelque chose de simple avant de voir quelque chose de grand et de complexe, et gardez à l'esprit que lorsque vous examinez un code de jeu quelconque, une équipe combinée a peut-être fait passer plus de temps que prévu à une équipe combinée. Le but est de voir la structure du code.

Obtenez une référence pour les mathématiques 3D, vous n'avez pas besoin de savoir CELA de manière approfondie, mais vous aurez besoin de connaître des produits tels que les produits scalaires en amont et en aval, pour savoir comment créer la matrice de votre appareil photo dans le monde. etc. (même si vous écrivez 0% du code de rendu)

(modifier) ?? Voici un excellent livre sur les mathématiques 3D Mathématiques pour la programmation de jeux 3D et l’infographie, deuxième édition (série de développement de jeux) Ce n’est pas ce que vous apprenez au collège, c’est plus un croisement entre trig et des concepts pratiques plus avancés: comment créer une boîte à outils pour vous-même physique simple, détection de collision efficace, etc.

Vous devez avoir des connaissances en matière de rendu et de pipelines. SDL vous donne un coup de pouce, mais assurez-vous de bien comprendre les concepts de ce qu’il fait.

Renseignez-vous sur la conception pratique du système. Vos différents systèmes devront s’emboîter. Réfléchis bien. Votre système peut être juste un bon en C ou en C ++, c’est la pensée qui va compter dans la façon dont vos données / contrôles vont s’écouler, et non pas comment vous imitez parfaitement les modèles de conception (même s’ils sont très utiles en termes grossiers)

Principes de base de l'IA, pas "réels" AI, mais AI fonctionnel; Il y a une grosse différence. Les machines à états sont idéales pour commencer et suffisantes pour un simple FPS.

En savoir un peu plus sur l'estimation et la planification. Vous n'aurez pas le temps de faire tout ce que vous voudriez faire pour bien faire un FPS. Vous devrez trier ET apprendre à trier; Ce sont deux choses distinctes, la dernière étant plus difficile. L'expérience est le meilleur professeur ici de grossière. (Bien que le légendaire McConnell ait aussi un livre à ce sujet)

Ayez un système pour insérer votre jeu dans votre niveau. Si c'est JUSTE en tant que programmeur, votre meilleur choix est d'écrire un plug-in pour un programme d'édition déjà existant, tel que 3DS Max. Je recommande fortement Max au lieu de Maya pour un programmeur. Le script Maya est bien, mais il est plus destiné aux non-programmeurs intelligents. Je trouve que 3DS Max réfléchit davantage à la manière dont un programmeur créerait et éditerait votre monde.

Vous pouvez passer des années à créer des outils vous permettant de le faire correctement. Vous voulez donc faire les choses de manière à pouvoir éditer rapidement et avec précision Si vous créez votre propre éditeur, intégrez-le dans votre monde de jeu. Si votre monde n’est pas vraiment 3D et que vous souhaitez effectuer beaucoup de niveaux rapidement, vous pouvez enregistrer vos données de niveau sous cette forme, ce qui vous fera gagner beaucoup de temps. Où X est un mur, les autres lettres sont des objets de jeu qu’un simple analyseur de terre peut traduire en objets de jeu et en coordonnées mondiales

 xxxxxxxxxxxxxxxxxxxxxxxx
 xx..........P..........x
 xxxxxxx...........I....x
 xR....xxx...........E..x
 xx.................0xxxx
 xxxxxxxxxxxxxxxxxxxxxxxx

Mais tout dépend de votre jeu. Ce que je veux dire, c’est que vous devrez recourir à " codage ghetto " la manière dont vous introduisez vos données de jeu dans votre monde est très importante et vous devez penser à quelque chose qui est à la fois rapide à mettre en œuvre ET à travailler avec vous.

Et en bout de ligne, quel est votre but ici? Si c’est pour apprendre à coder quelque chose de la bonne façon, attendez-vous à passer la plus grande partie de votre temps à effectuer une itération sur du code qui semblait convenable il ya un mois

Autres conseils

Téléchargez les sources de quake 3 à l'adresse fileshack et apprenez-en.

Bien que le très long message ait une valeur sur le long terme, j’estime qu’il ne donne pas la motivation instantanée nécessaire pour que les choses soient affichées à l’écran. Voici quelques faits, avec mon opinion

-SDL est une bibliothèque graphique 2D, vous ne pouvez pas écrire de FPS en 2D, vous devez donc utiliser une bibliothèque 3D, DirectX ou OpenGL

.

-SDL a la capacité de "synchroniser" avec OpenGL, l’utiliser pour les graphismes, mais il n’ya pas beaucoup d’aide en ligne sur ce sujet

Je vous suggère d’aller sur Lazyfoo.net, qui est une ressource absolument incroyable pour les débutants en programmation de jeux avec SDL. Il vous explique comment dessiner à l’écran, mais vous apprend également à les appliquer à la programmation. Après cela, vous pourrez faire un clone de tetris ou la plupart des autres jeux de type 2D

Après cela, vous serez prêt pour la 3D (c'est beaucoup plus complexe, il nécessite une meilleure compréhension des mathématiques et prend beaucoup plus de code pour faire des choses plus simples). Si vous utilisez OpenGL, consultez les didacticiels de NeHe. travaille actuellement sur un nouvel ensemble, utilisant SDL avec openGL, car les didacticiels plus anciens, bien que valables, sont codés plutôt mal et utilisent l’API windows (win32)

Gardez à l’esprit, le développement de jeux est l’un des programmes les plus exigeants et les plus enrichissants que vous rencontrerez, alors bonne chance

Bien qu'ils ne soient pas spécifiques à SDL, les tutoriels NeHe sur OpenGL constituent un excellent point de départ pour apprendre à faire de la 3D.

S'il s'agit de votre première partie, vous voudrez probablement viser plus bas qu'un FPS. Écrire un simple jeu de Tetris 2D en utilisant SDL vous apprendra tout ce que vous devez savoir sur cette bibliothèque.

Presque tout ce qui se dit dans les mots "Les astuces du jeu" Gurus de la programmation " va vous montrer comment faire un jeu FPS. LeMothe les aime.

Modifier: j'ai oublié ces titres.

J'ai trouvé ce site il y a quelque temps, alors que je jouais avec SDL , vous Je vais trouver des exemples de programmes que vous pouvez télécharger ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top