Voy a crear un videojuego. ¿Consejos?

Veinx

#29 me dejas ASI ---> O.O

Una clase para cargar mallas simples no llega ni a tener 30 lineas de codigo... es preferible hacer eso a usar un engine o xna y aprender las distintas forma de meter en memoria la geometría, son chorradas de ''aprentice'' que vienen en el sdk del directx. Y si no quiere hacerse su propia clase, que use el dxutil para cargar mallas, solo va a tener que escribir 200 lineas como mucho para hacerse un pang...

Me dices el ""barrizal"" de los loaders/manager? LOL, pero si hablo de clases de c++, que son estupideces de c++. Que dificultad tiene escribir el código usando clases, por dios, que barrizal.
Quieres que te pege mi clase para cargar mallas? quieres ver su gran dificultad? LOL

Le recomiendas empezar por xna y después que se meta en el directx? es una estupidez, es mejor empezar por el directx /win32 / c++. Todo el tiempo que le dedique al directx le sera mas util que si usa el xna desde el principio.
Si el chaval sabe c++ porque cojones va a perder el tiempo en el c#, cuando puede directamente aprenderse el api del directx y empezar a hacer sus jueguecillos.

elkaoD

#31, en respuesta a tu pregunta final: porque es más divertido y compensa más. Ya tendrá tiempo de aprender todo eso cuando sepa como funciona la mecánica de un juego. De hecho, le insto a que use SDL con C++. Es fácil y práctico, y los resultados se ven mucho más pronto.

Veinx

#32 pues si tio, el SDL+ c++ le puede venir mejor.
La mecanica de un juego, para los guiris ''game loop'' la puedes aprender con mucha facilidad con cualquier lenguaje o api que se use, no hace falta empezar por el xna. Eso es como la tonteria de que hay que aprender antes c y despues c++, una completa estupidez.

"porque es más divertido y compensa más." Ese es tu punto de vista, a mi me parece igual de ''divertido'' el sdl, opengl, dx o xna. El xna la unica ventaja que podria tener es que le seria de mucha facilidad hacer sus jueguecillos para jugarlos en la xbox.

C

oi oi oi oi!!! que level de programación de videojuegos hay por aquí!! por dios!!! EA, venid aquí que hay buena cantera!! cuanto pr0-gramming!! omg

Viva el no mencionado ASM en este hilo y la madre que lo parió a la par que el álgebra lineal, la trigonometría y demás ramas de las matemáticas.

xDDD

S

Dandote una respuesta concreta a tu post, y teniendo en cuenta que estas comenzando y parece que prefieres el idioma castellano, te recomiendo echarle un vistazo a Fenix ó Bennu (este ultimo es un fork del primero)

Es un lenguaje de programacion ya orientado a videojuegos, gratuito y de código abierto, facilmente ampliable mediante librerias en C. Reune algunos de los requisitos que te recomiendan arriba (con un buen manual y un par de horas ya puedes tener algo "ejecutable" y que puedas pasar a tus amigos pa vacilar) y de ahi lo complicas tanto como quieras.

YiTaN

Muchos mencionan por aquí OGRE y DirectX, pero ninguno habla de OpenGL. Yo estoy interesado en esto también, a nivel bastante básico, ¿qué librería gráfica pensáis que es la mejor? Teniendo en cuenta que me interesaría bastante mantener la portabilidad, por lo que DirectX descartado :P

bLaKnI

SDL. Infinitas veces antes que Glut.
Cuando quieras añadir cierto AA de lineas, descubrirás que SDL, no tiene precio.

elkaoD

#36, pues OpenGL está bastante chachi la verdad, y si usas SDL como backend se simplifican mucho las cosas.

El único problema es que para usar OpenGL hay que tener una idea previa de geometría o investigar mucho. De todas formas, hay unos tutoriales bastante facilillos para ir empezando en http://nehe.gamedev.net Son cojonudos y se aprende mucho con ellos, solo que están en inglés. El resto.

He encontrado unos cuantos links que tenía apuntados en un txt, que siempre vienen bien como referencia o para aprender nuevas cosas:

No sólo se dedican a la programación gráfica, sino a otras áreas como el desarrollo de la IA, por ejemplo.

YiTaN

Gracias!! La verdad es que había tocado lo basiquísimo en una optativa de la uni que es Fundamentos Gráficos por Computador, en la que en las últimas prácticas tocamos OpenGL + Glut.

A ver si le echo un vistazo a ese SDL del que ya había oído hablar.

B

#38 Opengl actua igual que SDL si le pones la componente z a 0 :).

#1 Te lo voy a dejar claro: no sabes donde te metes. Pero aun asi te dare algun consejo.

-Necesitas elegir un lenguaje que se te de increiblemente bien, para programar juegos los mas utilizados son: C++, Java, C#...

-Necesitas un motor de renderizacion o motor grafico y otro de fisica, salvo que uses alguna herramienta de creacion de videojuegos como la que has nombrado XNA porque aunque utilizases algun motor prediseñado como gore3D tendrias que aprender a optimizarlo y a manejarlo. Te hablan por ahi de directx, opengl y sdl, antes de meterte ahi, practica con algo.

-Necesitaras tambien alguien que te ayude con el sonido y el grafismo y esi es en 3D con modelado.

-Otra cosa que ayuda, por lo menos con los mmorpgs es tener conocimientos de bases de datos, yo te recomendaria exprimir SQL que tiene librerias para casi todos los lenguajes de programación y es bastante sencillo.

  • Hay alguna herramienta que hace aun mas sencilla la creacion de tu videojuego como el rpg maker y esta en concreto te permite ver el codigo del juego despues de crearlo. Pero no tienes ni la mitad de variaciones que exprime hoy dia un little big planet.

-Para la idea del juego puedes tener la tipica idea feliz que dices, madre mia, esto es un melocotonazo de miedo. Pero incluso veras que si vas a hacer un shooter necesitas contar con valores añadidos en cuanto a las acciones, guion etc... o te veras programando algo que ya esta hecho con disitintos colores...

elkaoD

#40, no me refiero a usar SDL para dibujar 2d. Me refiero a usar OpenGL y SDL a la vez.

Usando SDL como backend te libras de usar la WinAPI para la ventana, y de un montón de cosas más (Manejo de eventos, timers, etc.) Vamos, que SDL no es sólo para el 2D. De hecho, ni siquiera tiene primitivas 2D (Que me lo digan a mí que me duele el culo de programar y todo.)

JuAn4k4

#40 SQL no es ninguna base de datos, no tiene librerias ni nada por el estilo. Es el gestor de bases de datos el que las tiene para determinado lenguaje, si las tiene.