Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como crear un simulador(juego)

Estas en el tema de Como crear un simulador(juego) en el foro de Programación General en Foros del Web. Hola a todos, quisiera crear un simulador de formula 1, pero no un simulador gráfico, sino un simulador tipo esms_plus, que mediante la introducción de ...
  #1 (permalink)  
Antiguo 18/03/2010, 05:16
Avatar de jose91  
Fecha de Ingreso: septiembre-2009
Ubicación: Cordoba
Mensajes: 48
Antigüedad: 14 años, 7 meses
Puntos: 1
Pregunta Como crear un simulador(juego)

Hola a todos, quisiera crear un simulador de formula 1, pero no un simulador gráfico, sino un simulador tipo esms_plus, que mediante la introducción de unas variables, el programa elabore un documento .txt con el resultado de la carrera.

Os explico el funcionamiento de esms_plus (de futbol) para que entendais lo que quiero hacer, a este simulador tu le das unas plantillas y unas alineaciones, seleccionas los dos equipos que juegan el partido y como resultado te da un documento .txt con el partido escrito, es decir, los comentarios del partido, y al final el resultado los goles... etc; es el programa que se utiliza en las ligas virtuales.

Yo lo que quiero hacer es un simulador al que le introduzcas variables como pueden ser, neumaticos blandos, 50 litros de gasolina, gran carga aerodinamica, y me dé unos tiempos para cada circuito.

Se que debe ser dificil, pero me gusta aprender (soy muy mañoso para estas cosas), así que si alguno podeis indicarme webs o foros donde pueda documentarme y aprender os lo agradecería.



Gracias por adelantado, ya no por este post, sino porque siempre resolvéis mis dudas entre unos y otros :P; espero vuestra respuesta, si no entendeis algo de lo que digo, preguntarmelo por favor.
  #2 (permalink)  
Antiguo 18/03/2010, 09:01
Avatar de jose91  
Fecha de Ingreso: septiembre-2009
Ubicación: Cordoba
Mensajes: 48
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Como crear un simulador(juego)

He estado leyendo y quizás esto se consigue mediante C++ no? a ver si alguien puede orientarme.
  #3 (permalink)  
Antiguo 18/03/2010, 13:45
Avatar de Jime25  
Fecha de Ingreso: septiembre-2009
Ubicación: Mi casa
Mensajes: 1.213
Antigüedad: 14 años, 7 meses
Puntos: 138
Respuesta: Como crear un simulador(juego)

para eso pasá mejor por el foro de programación.

Saludos!!
__________________
Jime~

Mi blog.
Mi twitter.
  #4 (permalink)  
Antiguo 21/03/2010, 11:21
 
Fecha de Ingreso: marzo-2010
Mensajes: 31
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como crear un simulador(juego)

Estoy en la misma tesitura(de buscar un lenguaje), aquí mis avances.
Para elegir un lenguaje hay que valorar muchas cosas, pero por lo que dices yo me decantaría por uno de estos:

No necesitas velocidad, es absurdo complicarse la vida con c o c++, es posible que acabes odiando la programacion. Además por mucho que digan, para mí C, C++, Java, C#, Visual Basic etc. son lenguajes de segunda.

Alguno de programacion declarativa, Haskell, Prolog, Mercury, Lisp, Clean, etc. te costará aprender. Aunque yo con Haskell vi la luz.

Por otra parte no necesitas gran cosa en cuanto a librerias. En ese sentido te sirve cualquiera. Yo te recomendaría algo orientado a objetos que siempre facilita las cosas.
Smalltalk es bueno, pero su curva de aprendizaje es pronunciada.
Objective C, interesante.
Python, no es tan bueno, salvo por su popularidad, eso siempre beneficia(como a java), pero no indica nada, sólo que tendrá más esfuerzos volcados en mejorarlo y darle soporte, pero a veces casi es contraproducente.

Mis grandes propuestas por orden son:
Cobra - dinamico+statico+OO+Python style, en .NET proximamente en JVM
Boo - parecido a Cobra, algo anterior, solo en .NET
Nimrod - compilado a C "efficient, expressive, elegant"
Dylan - aunque parece complicado

Aún no los he probado, he ido descartando hasta quedarme con estos, aunque si tengo experiencia con los que descarté primero.
Si quieres jugártela con uno de ellos adelante, yo tb lo haré, quizá te salga bien, si quieres apostar sobre seguro tírate a java yo no lo haré más, quien prueba la miel no quiere volver a comer pan seco.

No mirados: Lua(no demasiado rico?) Perl(complejo?(o demasiado rico xD) aunque dicen que es bueno para reportes) Ocaml(lei cosas malas sobre el) (CLOS LISP family - es ke no me gusta su sintaxis, pero algun dia les dare una oportunidad)

Otros descartados:Io, Self, Eiffel, Go(el de google), ATS
Se me olvidó mencionar Pascal... no está mal tampoco, pero yo lo abandoné hace poco porque no encontraba cosas ni ayuda, sobre todo por no encontrar un generador de parsers decente.... pero bueno.... además decir que se ha quedado algo atiguo, no?(y la genericidad no funciona bien)

Última edición por biribau; 21/03/2010 a las 11:39
  #5 (permalink)  
Antiguo 21/03/2010, 11:36
 
Fecha de Ingreso: marzo-2010
Mensajes: 31
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como crear un simulador(juego)

La forma de hacerlo debería ser fácil, en un fichero tienes los datos formateados. Necesitas algún tipo de parser, si lo tuvieras en XML sería mucho más fácil(yo en mi proyecto lo usaré)
Construyes con los datos un objeto del mundo que quieres modelizar, por ejemplo, Carrera que tiene los objetos Pista y Participante, cada uno de ellos tienen un Equipo, un Piloto y un Coche, cada Coche tiene unos Neumáticos, y una ResistenciaAerodinamica y velocidad aceleracion, etc cada clase hace sus calculos por ejemplo:
clase Coche
metodo hacerCarrera(in Piloto, in Pista) = out Tiempo :-
Tiempo := Pista.distancia / self.calcularVelocidadMedia(Pista, Piloto)
metodo calcularVelocidadMedia(in Pista, in Piloto) = out Velocidad :-
Velocidad = Piloto.destreza * self.velocidad_maxima * self.aceleracion/ Pista.cantidadDeCurvas() ....

Es una simple idea, todo lo que quieras modelizar debería tener un objeto, asi a más detalle, más clases tendrás. La OO es ideal para modelizar simulaciones.

Luego el objeto carrera debería generar un objeto ReporteDeCarrera por ejemplo, ya de ahi lo procesas para escribirlo en texto.
Espero haber ayudado, suerte
  #6 (permalink)  
Antiguo 22/03/2010, 02:52
Avatar de jose91  
Fecha de Ingreso: septiembre-2009
Ubicación: Cordoba
Mensajes: 48
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Como crear un simulador(juego)

Cita:
Iniciado por biribau Ver Mensaje
La forma de hacerlo debería ser fácil, en un fichero tienes los datos formateados. Necesitas algún tipo de parser, si lo tuvieras en XML sería mucho más fácil(yo en mi proyecto lo usaré)
Construyes con los datos un objeto del mundo que quieres modelizar, por ejemplo, Carrera que tiene los objetos Pista y Participante, cada uno de ellos tienen un Equipo, un Piloto y un Coche, cada Coche tiene unos Neumáticos, y una ResistenciaAerodinamica y velocidad aceleracion, etc cada clase hace sus calculos por ejemplo:
clase Coche
metodo hacerCarrera(in Piloto, in Pista) = out Tiempo :-
Tiempo := Pista.distancia / self.calcularVelocidadMedia(Pista, Piloto)
metodo calcularVelocidadMedia(in Pista, in Piloto) = out Velocidad :-
Velocidad = Piloto.destreza * self.velocidad_maxima * self.aceleracion/ Pista.cantidadDeCurvas() ....

Es una simple idea, todo lo que quieras modelizar debería tener un objeto, asi a más detalle, más clases tendrás. La OO es ideal para modelizar simulaciones.

Luego el objeto carrera debería generar un objeto ReporteDeCarrera por ejemplo, ya de ahi lo procesas para escribirlo en texto.
Espero haber ayudado, suerte

Gracias, esto me ha sido de ayuda, pero ahora te pido que te mojes, para mi proyecto, que me vendría mejor? he buscado información sobre cobra y no he encontrado mucha, el java dicen que es mas sencillo pero no sé si con el podré hacer lo que me propongo.


PD: Para aprender java o cualquier otro lenguaje me recomendaron iniciarme con visual basic, lo crees conveniente?

Última edición por jose91; 22/03/2010 a las 04:15 Razón: ampliar el contenido.
  #7 (permalink)  
Antiguo 22/03/2010, 14:11
 
Fecha de Ingreso: marzo-2010
Mensajes: 31
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como crear un simulador(juego)

Dios me ha borrado todo el tocho xD
Mejor
Me mojo y voy al grano.
Tírate por Boo tiene docu ordenada y con ejemplos([URL="http://boo.codehaus.org/Language+Guide"]http://boo.codehaus.org/Language+Guide[/URL]) solo que tienes que saber algo de ingles. Tiene canal irc y todo. Si te ves perdido sigue tutos de python y adáptalos.
Si de inglés, zero potatoeiro tira por java tiene mucha doc en español tambien. Pero seguramente te sera más dificultoso e improductivo. Es mal lenguaje, que no te engañen todos sus fascinantes y brillantes neones.

Lo que necesitarás tambien es seguir algun manual de programacion orientada a objetos, las nociones, es bastante intuitivo.

Visual basic realmente no lo veo lo suficientemente sencillo como su nombre indica y encima es un cacho peor que todo.
  #8 (permalink)  
Antiguo 22/03/2010, 14:23
 
Fecha de Ingreso: marzo-2010
Mensajes: 31
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como crear un simulador(juego)

Para empezar hazte con todo el equipo: compilador, ide, debugger, maquina virtual, etc
El problema es que no sabes nada de programación, según he entendido.
Mientras sigues el tutorial, párate en cada término que no entiendas y googealo o wikipedialo, inheritance, polymorphism, type, type inference

La forma de hacerlo es "de a pocos", es empezar con una funcionalidad muy básica e ir añadiendole poco a poco mejoras, o refinamientos. Por ejemplo empieza solo con los objetos Carrera, Pista y Participante, cuando todo funcione le añades algo más, por ejemplo, Pista solo tenía índice de dificultad, pues ahora le añades estado de la pista, como lluvioso o estado del asfalto. Lo vuelves a arrancar y a probar con diversas entradas y sigues, luego añades quizás el objeto Piloto y Coche, en cada refinamiento puedes añadir algunos objetos más al modelo o simplemente mejorar los ya existentes con información adicional.
Esto se llama ciclo de desarrollo, no recuerdo muy bien, pero es algo así como el de basado en prototipos(hay más tipos de ciclos). Esta forma va muy bien, porque vas viendo lo que consigues segun avanzas.
Un saludo.

Etiquetas: crear, simulador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:46.