Cours complet d'introduction à la SDL 2

Dans ce tutoriel, vous apprendrez à manipuler la bibliothèque de 2D, à savoir la SDL, dans sa version 2.

Prérequis

Ce cours suggère que vous n’êtes pas complètement débutant dans la programmation informatique, que vous avez au moins une fois dans votre vie codée. Pour ce nous utiliserons le langage de programmation C++ au lieu du C. Enfin un niveau d’anglais basique sera le bienvenu.

Préambule

Dans ce cours sur la SLD 2 nous allons pas réellement parler de développement de jeux vidéo ce thème sera réservé pour une autre série d'articles qui parleront plus précisément de cela.

En réalité ce cours est plus dédié, à l'utilisation de la bibliothèque 2D, qu'à réellement programmer un jeux-vidéo. J'ai en effet choisi de séparer la création de jeux et l'utilisation d'une bibliothèque 2D, dans le but de vous expliquer d'abord sur ce cours, ce que propose la SDL comme fonctionnalités de base. Et par la suite dans un autre cours vous expliquez comment peut-on utiliser ces fonctionnalités basiques pour créer des mécanismes plus complexes communs à la plupart des jeux vidéo et non présent nativement dans la bibliothèque (comme par exemple la gestion de la gravité).

Comme expliqué plus haut, le code sera écrit en C++, mais sans trop de notions abstraites, comme les pointeurs intelligents pour ainsi faciliter la compréhension du code pour les débutants. Toutefois si vous souhaitez apprendre le langage C++, des cours en ligne disponible à l’annexe de ce cours sur SDL 2.0.

La norme du langage C++ sera la norme 17.

Introduction

Qu'est-ce que la SDL

SDL pour Simple DirectMedia Layer, est une bibliothèque 2D qui va vous permettre l’écriture de programme graphique. Elle permet :

  • L’affichage vidéo
  • Gérer les évènements clavier, souris

SDL se paie aussi le luxe d’être multi-plateforme (Windows, Linux, Android etc...)

Limitation de la SDL

La SDL reste une bibliothèque très minimaliste, elle ne traite que très peu de types de formats de fichiers, pour l’image et l’audio et les formes primitives de dessins restent aussi limitées.

La bibliothèque ne sait pas géré par exemple que le format audio WAV pour l'audio, le format d’image BMP, et sait dessiner des pixels, des rectangles, des lignes.

Mais sachez qu’il y a la possibilité de contourner ses limites en utilisant des bibliothèques non officielles, comme SDL_image pour gérer beaucoup plus de format d’image, mais aussi SDL_mixer pour gérer plus facilement l’audio, voire aussi SDL_ttf permettant ainsi d'écrire du texte avec des polices d'écritures personnalisées.

Pourquoi est-il intéressant de faire de la SDL

Je vais être honnête, si vous voulez être productif dans le développement de jeux vidéo alors la bibliothèque SDL, risque un peu de vous ralentir. Pourquoi me demanderiez-vous ? Car aujourd'hui moulte de développeurs conseillent de passer directement par des technologies qui facilitent la vie du développeur, tel que des bibliothèques offrant plus de possibilités ou carrément d’utiliser des moteurs de jeux (je pense notamment à Unity).

Mais selon moi choisir la facilité, peut vraiment être un double tranchant en effet, savoir tout faire soit même est un vrai enrichissement intellectuel. Ensuite le passage d’un moteur de jeux sera beaucoup plus facile pour vous, or une personne passant directement par un moteur de jeux devra quasiment écrire du code sans savoir réellement ce qui se passe derriére comme par exemple pour l’Entity Component System.

Espace commentaire

Écrire un commentaire

Vous devez être connecté pour poster un message !

15 commentaires

03/07/19

Explications claires sur les limites, bonne transparence

30/06/19

SDL2 c'est la base pour le dev graphique 2D sans prise de tête

28/06/19

Top la partie sur les "Prérequis", c'est souvent le point de douleur

Un setup facile, c'est la clé pour garder la motivation en début de projet

27/06/19

qu'est-ce que la sdl, j'avais besoin d'un bon rappel

24/06/19

Intéressant de voir les avantages de la SDL mis en avant

Membre
22/06/19

Les prérequis sauvent des heures de config à galérer

21/06/19

Merci pour l'introduction générale, très pédagogique

Permet d'appréhender la biblio sans être noyé sous les détails techniques dès le début

20/06/19

SDL2 toujours d'actu pour les projets légers et cross-platform

17/06/19

Préambule bien posé, on capte l'esprit de la SDL

14/06/19

La "Limitation de la SDL" c'est important à connaître

Ça aide à ne pas avoir de mauvaises surprises et à choisir le bon outil pour le bon projet

Membre
12/06/19

qu'est-ce que la sdl clair et concis

09/06/19

Super intro à la SDL2, ça donne envie de coder des jeux

06/06/19

Le "Pourquoi est-il intéressant de faire de la SDL" est super pertinent

Ça motive à se lancer et donne une bonne perspective sur les possibilités de la lib

04/06/19

Prérequis bien listés, parfait pour le setup initial

Membre
03/06/19

SDL2 c'est le pied pour la 2D, thx pour ce guide

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire