Buenas! A algun les parecerá raro que me pase por estos rincones del coder... pero lo cierto es que este año he comenzado 1º D.A.I. y entre otros módulos, empiezo con C/C++ en programación.
Para no ser menos, yo también quiero desarrollar juegos, y me gustaría que me dieseis opiniones y consejos para empezar con este lenguaje que escojo como iniciación, no necesito que me orienteis y habléis de nuevos lenguajes, pues esto ya lo he aclarado con algunos que circulan por aquí... pero sí que me informeis a grandes rasgos hasta donde debería mirar C/C++ para empezar a utilizarlo para programar videojuegos, en un principio en 2D con la librería SDL que también me han recomendado en #stratos.
Me he bajado el tutorial de " c con clase " y puesto que son unas 400 páginas en pdf, necesito saber hasta donde más o menos necesitaría mirar y comenzar con lo que ya comenté.
Toda información a mayores opiniones personales o lo que sea que me pueda servir de ayuda y orientación me vendrán bien!! muchas gracias de antemano ;) .
Pues yo te aconsejo (aunque parezca raro) que entres en la web de una universidad y busques por los departamentos alguna asignatura de laboratorio de programación o programación o lo que sea, mires su temario y vayas tema por tema aprendiendo a hacer cada cosa, realmente es la mejor forma de aprender lo básico.
Te dejo el de la de Málaga (ande la hice yo):
Citar
//primer cuatrimestre
IV. TIPOS DE DATOS SIMPLES
IV.1.- Elementos básicos.
IV.1.1. Objetos: atributos y operaciones. Constantes, variables.
IV.1.2. Tipos. Concepto y necesidad.
IV.1.3. Operadores básicos (asignación e igualdad).
IV.2. Clasificación de los tipos (simples y estructurados).
IV.3. Tipos simples predefinidos.
IV.4. Tipos simples definidos por el programador.
V. SUBPROGRAMAS
V.1. Subprogramas. Procedimientos y funciones.
V.1.1. Subprogramas como abstracción de operaciones.
V.1.2. Declaración y llamada a subprogramas.
V.1.3. Parámetros formales y reales.
V.1.4. Interfaz.
V.1.5. Paso de parámetros por valor y por referencia.
V.1.6. Procedimientos y funciones.
V.2. Anidamientos y ámbitos.
V.2.1. Subprogramas anidados.
V.2.2. Declaraciones locales y globales. Reglas de ámbito.
V.3. Prácticas de laboratorio
VI. ESTRUCTURAS DE CONTROL
VI.1. Estructuras de selección.
VI.1.1. Condiciones y expresiones booleanas.
VI.1.2. Sentencias de selección.
VI.1.3. Anidamientos.
VI.2. Estructuras de iteración.
VI.2.1. Diseño de bucles. Concepto de invariante de un bucle.
VI.2.2. Bucles anidados.
VI.3. Prácticas de laboratorio
VII. TIPOS DE DATOS ESTRUCTURADOS
VII.1. Arrays.
VII.2. Cadenas de caracteres.
VII.3. Registros.
VII.4. Prácticas de laboratorio
//segundo cuatrimestre
1.Estructuras Estáticas Avanzadas.
1.1. Arrays multidimensionales.
1.2. Arrays como parámetros.
1.3. Arrays y Funciones.
1.4. Cadenas de caracteres.
1.5. Enumerados.
1.6. Registros.
1.7. Bibliografía.
2. Introducción a la recursividad
2.1. Concepto de recursión.
2.2. Ejemplos de programas recursivos.
2.3. Búsqueda y ordenación usando recursión.
2.3.1. Búsqueda.
2.3.2. Ordenación.
3. Gestión dinámica de memoria
3.1. Introducción
3.2. El tipo de datos Puntero
3.3. Operaciones con punteros
3.4. Asignación Dinámica de Memoria
3.5. Creación Dinámica de Arrays
3.6. Punteros a Estructuras
3.7. Operaciones básicas sobre listas enlazadas
3.8. Otras clases de listas enlazadas
4. Gestión básica de ficheros
4.1. Introducción .
4.2. Archivos C++.
4.2.1. Apertura de ficheros.
4.2.2. Cierre de ficheros.
4.2.3. Detección de fin de fichero y otras funciones.
4.2.4. Comprobación de apertura correcta.
4.3. Lectura/Escritura en ficheros de texto.
4.3.1. Avance del cursor.
4.3.2. Ficheros de texto.
4.4. Ficheros binarios.
4.4.1. Utilidad de los ficheros binarios.
4.4.2. Lectura/Escritura byte a byte.
4.4.3. Lectura/Escritura por bloques de bytes.
4.5. Acceso aleatorio a ficheros.
4.6. Ficheros pasados como argumentos.
4.7. Ejemplos de utilización de ficheros binarios y de texto.
5. Modulos
5.1. Introducción.
5.1.1. Ventajas de la modularización de programas.
5.1.2. Creación de un proyecto con Dev-C++.
5.2. Módulos de biblioteca.
5.2.1. Espacios de nombres.
5.2.2. Módulos de Definición.
5.2.3. Módulos de Implementación.
5.2.4. Ejemplo. El módulo Mcomplejo.
5.3. Compilación separada.
5.4. Estructuras de Datos Avanzadas.
5.4.1. Pilas.
5.4.2. Colas.
5.4.3. Árboles Binarios.
5.5. Un Ejemplo Completo.
Ale, ya tienes pa empezar ;)
CitarMe he bajado el tutorial de " c con clase " y puesto que son unas 400 páginas en pdf, necesito saber hasta donde más o menos necesitaría mirar y comenzar con lo que ya comenté.
¿Hasta dónde? Hmm. Pues leelo entero, y luego sigue con otros libros más avanzados como Effective C++, More Effective C++ y Modern C++ Design.
Evidentemente conocer C++ a fondo no es estrictamente necesario para hacer un juego, ahí tienes a id Software, que sigue haciendo sus juegos en C, pero yo te lo recomiendo altamente, pues cuanto más conozcas el lenguaje más fácil te resultará usarlo y entender código de terceros.