Asociación de Desarrolladores de Videojuegos Argentina
Septiembre 09, 2010, 02:13:32 *
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: ADVA tiene nuevo foro!
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2 3 4 5 ... 9
  Imprimir  
Autor Tema: Con respecto a C++  (Leído 9173 veces)
whaitie
Usuario
*
Desconectado Desconectado

Mensajes: 25


"Lo que aga de joven severa el fruto en mi futuro"


Ver Perfil WWW
« en: Mayo 13, 2008, 10:12:52 »

hola a todos.

mirando un libro de programacion en c++ me decia que hay 3 tipos,entre ellas la programacion basada en objetos.

Es a esta a la que  me tengo que especificar para ser creador de juegos,aparte de tener en cuenta la fisica?

y si puedo llegar a hacer juegos en 3d con c++?¿?¿?
« Última modificación: Mayo 13, 2008, 10:15:07 por whaitie » En línea
Proyecto_Zero
Usuario
*
Desconectado Desconectado

Mensajes: 27


Ver Perfil
« Respuesta #1 en: Mayo 13, 2008, 10:25:24 »

 La programacin en objetos es otra forma de programar, es un concepto en el cual ves todo a partir de "objetos" propiamente dichos y las relaciones entre ellos, C++, especialmente C# (C sharp) y java (objeto como instancia de una clase aclaro) trabajan asi, de los mas conocidos, estaria bueno que leas bien, pero te adelanto que la programacion de objetos incluye la otros tipos de programacion UP & Down, etc.
En línea
david
Moderador Global
Usuario
*****
Desconectado Desconectado

Mensajes: 1154



Ver Perfil WWW
« Respuesta #2 en: Mayo 13, 2008, 10:58:31 »

La programación orientada a objetos es uno de varios paradigmas de programación.
Con cualquier paradigma podes hacer juegos.

Hay lenguajes de programación que tienen una mejor implementación del paradigma de objetos que otros, smalltalk es el mas fiel a este paradigma, por ejemplo.

Estos paradigmas de programación sirven para que puedas acomodar tu manera de pensar en uno de estos paradigmas para que despues puedas programar ese programa que diseñaste previamente.

Saludos!
En línea

whaitie
Usuario
*
Desconectado Desconectado

Mensajes: 25


"Lo que aga de joven severa el fruto en mi futuro"


Ver Perfil WWW
« Respuesta #3 en: Mayo 14, 2008, 11:10:31 »

Pero como ago para meter o usar modelos 3d para c++?

quieisra saver si hay alguna extencion en especial,o algo necesario.

esa es mi mayor duda en cuanto a 3D

saludos!
En línea
david
Moderador Global
Usuario
*****
Desconectado Desconectado

Mensajes: 1154



Ver Perfil WWW
« Respuesta #4 en: Mayo 14, 2008, 11:18:40 »

Programar orientado a objetos no tiene nada que ver con las cosas 3D de los juegos. Para decirlo de otra manera, uno puede hacer un juego en 3D usando cualquier paradigma de programación.

Creo que hay librerias que levantan un modelo hecho en 3d max para que la puedas usar en tu juego.
En línea

tulsi
Moderador Global
Usuario
*****
Desconectado Desconectado

Mensajes: 906



Ver Perfil WWW
« Respuesta #5 en: Mayo 14, 2008, 11:26:58 »

whaitie recomiendote antes de empezar con 3D intentar hacer un juego completo más sencillo, 2D
En línea
pabloreda
Usuario
*
Desconectado Desconectado

Mensajes: 124


Ver Perfil WWW
« Respuesta #6 en: Mayo 14, 2008, 11:55:51 »

Programar un juego en 3D es utilizar el algebra, vectores y Matrices (no la de morfeo y neo), y trigonometria (para las rotaciones)

No tiene nada que ver con los lenguajes o los paradigmas.

Intuyo que queres hacer un juego de autos  Cool

En el bannergame curiosamente aparecieron varios juegos sobre autos, podrias empezar fijandote como funciona, mi entrada tiene el codigo fuente !!

Si queres hacer un juego 3d para aprender no me parece mal, depende del esfuerzo y la ganas.

Suerte



En línea
whaitie
Usuario
*
Desconectado Desconectado

Mensajes: 25


"Lo que aga de joven severa el fruto en mi futuro"


Ver Perfil WWW
« Respuesta #7 en: Mayo 14, 2008, 10:37:31 »

whaitie recomiendote antes de empezar con 3D intentar hacer un juego completo más sencillo, 2D

anterirormente mensione el uso de sprites  en otros d emis post, y la creacion de menus,me aburri del 2d.

saludos!
En línea
shadow_of__soul
Moderador Global
Usuario
*****
Conectado Conectado

Mensajes: 970



Ver Perfil
« Respuesta #8 en: Mayo 14, 2008, 11:00:20 »

whaitie recomiendote antes de empezar con 3D intentar hacer un juego completo más sencillo, 2D

anterirormente mensione el uso de sprites  en otros d emis post, y la creacion de menus,me aburri del 2d.

saludos!

el tema no es aburrirte, es aprender y completar una idea o projecto.

todavia no tenes una nocion clara de lo que es un lenguaje maduro y complejo como c++ y no esta mal que uses otro lenguaje como dark basic y otros mas sencillos para empezar (yo te recomiendo python y pygame, en muy poco tiempo podes tener un juego andando con estas herramientas).

escucha los consejos, y empeza con algo chico, asi sea un pong, empezalo y terminalo, asi vas evolucionando, y lo mas importante entendiendo lo que estas haciendo y no solo un copy-paste  de ejemplos e informacion incompleta de las cosas que estas haciendo.

y otra, de las cosas, las firmas echas con imagenes no estan permitidas en este foro (no es de amargo, solo te aviso  Sonreir)

Regards,
Shadow.
En línea

El Hombre Gris
Usuario
*
Desconectado Desconectado

Mensajes: 130


True Believer


Ver Perfil
« Respuesta #9 en: Mayo 15, 2008, 12:36:47 »

Voy a intentar explicar algunos términos y conceptos a lo mejor que dé mis capacidades. Si alguien nota alguna falta haganmela saber.

Para entender la programación orientada a objetos (se dice generalmente de esta manera, ni "basada" ni "en" objetos) hay que primer entender que es el análisis y diseño de sistemas, ya que el paradigma orientado a objetos es una paradigma para el análisis y modelado de sistemas. Luego existen lenguajes de programación que facilitan la implementación de dichos modelos, de ahí que se habla de "programación orientada a objetos". Pero el simple hecho de utilizar las herramientas de implementación de modelo de objetos no implica el correcto uso del paradigma orientado a objetos.

El A/D (análisis y diseño) es una disciplina de las ciencias de la computación en donde se estudia un problema particular, y se esboza una solución informática apropiada. Las soluciones se presentan en documentos generalmente compuestos de diagramas (el modelo) que los programadores deben tomar de base para elaborar la solución. La forma en que interactúan los analistas con los programadores es digno de un estudio más extenso sobre las metodologías de desarrollo, que acá no voy a elaborar.

Existen varios paradigmas del A/D, que generalmente se confunden con el uso de las herramientas que facilitan la implementación de un modelo. De los paradigmas que conozco están: procedural, orientado a objetos, orientado a eventos, orientado a aspectos.

El paradigma procedural es el más conocido, seguido por el OO (orientado a objetos). En este paradigma el sistema se modela separandolo en  bibliotecas/librerías (library) de procedimientos con funcionalidad relacionada. Cada library funciona como una caja negra, donde se expone al resto del sistema solo aquello que cumple el propósito de la library en el sistema.

El paradigma OO es originario del campo de las simulaciones. Se ideo para modelar situaciones reales que se quieren simular. En el OO se modelan las entidades que participan en la solución del problema como "clases". Las clases son moldes que definen como se comporta un objeto, de un género dado, en la simulación.

A modo de reseña, comento que en el paradigma orientado a eventos se modela el sistema en una suerte de grilla de interactividad, donde se identifican los eventos que pueden suceder y los posibles orígenes, a lo cual se asigna acciones que atiendan dichos eventos. El paradigma orientado a aspectos es muy reciente y bastante complejo como para explicarlo en un solo post.

----

C++ es en esencia una extensión del lenguaje C, un lenguaje tradicionalmente procedural, que agrega herramientas para implementar modelos OO. Estrictamente hablando C++ no es un lenguaje OO, permite usar OO pero no es OO. Es todo cuestión de cuan integrado esta el paradigma con el lenguaje.
En línea
Nikko_Bertoa
Usuario
*
Desconectado Desconectado

Mensajes: 612



Ver Perfil WWW
« Respuesta #10 en: Mayo 15, 2008, 01:00:00 »

La diferencia con los demas lenguajes orientados a objetos es que ademas no es de tan alto nivel.
C++ como la mayoria dice y se equivoca no es C con features y agregados, tiene su base en el lenguaje C, pero fue creado principalmente por la reutilizacion de codigo, y solucion a errores y programacion sucia que habia en C ( macros, auto-casteo, malloc y free, etc).
Piensen por ejemplo en hacer personajes para un juego, un mago, un arkero y un barbaro. En C deberiamos usar structs, algo horrible, en C++ se usa herencia y clases que permite un codigo limpio y facil de entender.
Creo que de esto solo se da cuenta el que programo en C, sobretodo usando char* y luego usa la clase string en C++, hay una diferencia enorme y es hermoso.
En mi opinion, aprendan primero C y despues C++, porque van a notar esa diferencia ademas hay cosas de C++ que se hicieron basadas en lo que ya habia en C, por ejemplo para almacenar espacio y liberarlo se usan los keywords new y delete, donde en su implementacion se usan nada mas y nada menos que malloc y free.

Si saben ingles les aconsejo Thinking In C++, pq no es como todos los libros que enseñan la sintaxis, un par de ejemplo faciles y listo. Este ahonda en cada contenido de cada tema, explicando los porques de cada cosa y da ejemplos faciles y complejos, ademas de que tiene muchos ejercicios al final de cada capitulo. El autor te habla como si estuvieras tomando un cafe con el. Se puede descargar gratuitamente desde la web del autor
 http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Ademas tambien se puede bajar el codigo fuente.

Hay traducciones al castellano en la web, no las he leido, primero pq me gusta leer en ingles y 2do porque las traducciones de la gente suelen ser muy malas.

Saludos
En línea

My Game Programming Portfolio:

https://sites.google.com/site/nicolasbertoa/
Proyecto_Zero
Usuario
*
Desconectado Desconectado

Mensajes: 27


Ver Perfil
« Respuesta #11 en: Mayo 15, 2008, 03:09:42 »

 Es cierto que C++ no es OO pero los permite, el mas desarrollado en esta area es C#. Pero me parece que estabas mezclando un poco las cosas, porque resolver un problema, con la forma a implementar y las herramientas que uses en realidad son cosas diferentes.. es un metodo para encontrar la solucion el utilizar diagramas de bloques, o diagramas de flujos o lo que quieras, es simplemente una fomra de ver el problema de forma mas clara para identificar bien lo que se quiere lograr y asi determinar el como.
 Por otro lado tenes el paradigma de programacion que vallas a utilizar, esto dependera de la familiaridad que tengas con el mismo y lenguaje junto con algun compilador que lo implementen.

 Un paradigma es un ejemplo, un esquema, un modelo. En el mismo es en lo que se va a basar lo que necesitemos. En el caso de un paradigma de programacion es en la forma en la que se va a encarar la situacion, es decir por ejemplo, podriamos ver las cosas desde una forma lineal (paradigma 1) o verlo como que cada cosa (todo) es un objeto (paradigma OO). En la programacion OO se idealizan los objetos, a esto se lo denimona CLASE, una clase consta basicamente de un nombre que la define, cualidades y acciones (propiedades y metodos respectivamente).
 Un objeto es una instancia de una clase y trabaja mandando mensajes de un objeto a otro, en este paradigma de programacion lo que mas importa son las relaciones entre los objetos, ya que todo es un objeto, hasta el entorno en el que trabajamos, es cuestion de verlo de esa manera nada mas.

 PD: son las 3 am si no se entiende mucho lo que dije haganmelo saber y lo corrijo mañana con la cabeza mas clara. Saludos.
En línea
whaitie
Usuario
*
Desconectado Desconectado

Mensajes: 25


"Lo que aga de joven severa el fruto en mi futuro"


Ver Perfil WWW
« Respuesta #12 en: Mayo 15, 2008, 05:27:10 »

gracias por a info.

y ya cambie la firma q tanto me incharon jajaja(de broma lo digo)

suerte y gracias!!
En línea
El Hombre Gris
Usuario
*
Desconectado Desconectado

Mensajes: 130


True Believer


Ver Perfil
« Respuesta #13 en: Mayo 15, 2008, 05:48:00 »

C++ como la mayoria dice y se equivoca no es C con features y agregados, tiene su base en el lenguaje C, pero fue creado principalmente por la reutilizacion de codigo, y solucion a errores y programacion sucia que habia en C ( macros, auto-casteo, malloc y free, etc).

Ahora no tengo a mano el libro de Stroustrup como para verificarlo, pero estoy cuasi completamente seguro que el propósito inicial del C++ no era más que proveer las herramientas para trabajar mejor con el paradigma de objetos.

Algo en lo que insisto siempre es en destronar el mito del OOP como facilitador de la reusabilidad. Usar OOP no garantiza reusabilidad, por el contrario, una de las críticas académicas más fuertes al OOP es que la reusabilidad por herencia resulta en malas prácticas que afecta la mantenibilidad (esa palabra es un trabalenguas) del sistema. En contraposición, el paradigma procedural tiene un modelo de reusabilidad mucho más organizado, que genera una mayor independencia entre componentes.

Sobre esto, el "Grupo de los Cuatro" (Gang of Four) popularizo los términos de "white-box reuse" (reusabilidad a caja abierta) y "black-box reuse" (reusabilidad a caja cerrada). La reusabilidad a caja abierta, o reusabilidad por herencia, es la que es criticada por generar dependencias entre los componentes a la hora de hacer tareas de mantenimiento. La reusabilidad a caja cerrada, o reusabilidad por interfases, es la usada en el paradigma procedural y la que el GoF propone recuperar en el paradigma OO mediante patrones de diseño.
En línea
david
Moderador Global
Usuario
*****
Desconectado Desconectado

Mensajes: 1154



Ver Perfil WWW
« Respuesta #14 en: Mayo 15, 2008, 10:52:44 »

No podria estar mas de acuerdo con Hombre Gris.
No importa tanto la herramienta, he visto programas hechos en Java sin utilizar nada de OOP, eran solo un par de clases y cada clase no tenia nada de coherencia entre si.

@nikko_bertoa: C++ te permite usar macros, defines y las mismas cosas que te quejas de C. Realmente tendrian que haber quitado todas esas cosas de C en C++, no dejarlas y dar otra forma de hacerlas; lo único que haces es que un lenguaje tenga mas de 1 forma de hacer lo mismo. por ejemplo: ¿Qué uso un #define o un const? y asi tenes innumerables ejemplos.

Saludos!
En línea

Páginas: [1] 2 3 4 5 ... 9
  Imprimir  
 
Ir a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2007, Simple Machines LLC XHTML 1.0 válido! CSS válido!