UTNianos

Versión completa: Modificar código fuente de un juego OpenSource
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
Bueno gente, a ver si me pueden ayudar con esto. El juego en cuestión es el teeworlds, y me gustaría para aprender un poco del lenguaje (C++, si estoy en lo cierto) empezar a toquetearle algunas cosas, el tema es que no sé ni cómo empezar.

Cuando me bajo el juego, tengo una carpeta con varios archivos, pero no sé cómo sacar el código fuente del juego para modificarlo. ¿Alguno me da una mano? ¿tengo que conseguir un descompilador o algo así? Todo tipo de ayuda o sugerencia es bienvenida.

Desde ya, gracias de antemano. Saludos!
En Downloads donde dice el sistema operativo para bajar ahi un link que es Source, ese tiene el codigo fuente
Dentro de la carpeta src.
Efectivamente es C++
Ahh, qué boludo, no había mirado por ahí.

Buenísimo entonces, ahora otra consulta, ¿con qué conviene abrir los archivos de código para editarlos y luego compilar?
Cualquier editor de C++

ej Visual C++, Dev C++, o si usas linux, podes usar el vim o el nano y compilar mediante la consola
Cualquier editor de texto es lo mismo...para compilarlo probablemente uses un Makefile que te hace todo (e.g. make juego en vez de gcc y mil flags =P)

PD: Si el juego no tiene el fuente, por mas que llegues a poder usar un decompilador, el codigo va a ser inentendible. Muchos compiladores generan a proposito codigo de maquina ofuscado para que sea complicado decompilar el programa. Y muchas veces es ilegal =P
dar tus primeros pasos con la programacion de un juego me parece que no es lo mas recomendable Confused

sobretodo en c.

pd. una vez quise hacer la vivorita y no me salio =(
Depende en el SO que quieras trabajar.
Si vas a usar linux. No uses nano xD, no uses vim, por el amor de dios no. Tenes el monodevelop para trabajar en C++. Tenes el QT en una de esas. Tenes el eclipse. No uses el VIM no al NONO! NO al GEDIT!!!!!!!!!!

Eso es para la gente que quiere hacer ver a linux complicado. Si queres, podes editarlo con VI (notese la falta de M al final) y compilarlo con la consola, pero para que? si tenes SDKs que te vienen con el compilador y debugger integrados?

En windows?
Tenes, visual studio, eclipse, devc++, qt, infinidad de softwares.

Conocimientos?
Leete antes que nada la biblia del c.
Kernighan & Ritchie, C programing language.

Despues fijate que seguro esta desarrollado con OpenGl, vas a tener que buscar minimo alguna guia de OpenGL, que te explique el funcionamiento. Ahi necesitas conocimientos algebraicos basicos para entender como funca.

Vas a necesitar conocimiento de sockets, aunque todo el mundo diga "YO SE CREAR UN SOCKET" no es cosa tan facil para un juego, porque lo tenes que sincronizar con threads, y objetos y la mar en coche.

Si te sentis capaz, estaria copado que armes un proyecto en sourceforge y busques gente que se quiera copar en el desarrollo :B....

yo segun cmo venga la mano me prendo :B,
aye dijo el otro dia que quiere hacer algo en c++

Off-topic:
Si se meten con vim/gedit se meten conmigo eh =P
(21-12-2011 10:53)rld escribió: [ -> ]
Off-topic:
Si se meten con vim/gedit se meten conmigo eh =P

Spoiler: Mostrar
Si te gusta usar assembler para levantar un socket, bien por vos (?) JAJAJA
Antes que nada gracias por las respuestas. Igualmente mi idea no es desarrollar un juego entero (lo digo por el comentario de Maik), sino toquetearle algunas boludeces nada más, algo básico, por ejemplo cambiar la velocidad con la que se mueve el personaje. El problema es que estoy casi en bolas para empezar, los únicos conocimientos previos que tengo son los que me entregaron materias como Algoritmos y Estructuras de Datos y Paradigmas de Programación.

Nunca usé linux, pero casualmente hace poco formatié la PC y dejé un espacio del disco para instalarme alguna distro y empezar a usarlo. Arbitrariamente elegí Fedora (me recomendaron Ubuntu para empezar, pero por lo que me comentaron se veía muy fácil y quería algo un poco más desafiante =P), y si todo sale bien hoy o mañana voy a instalarlo en la partición que mencioné antes.

Ahora con todo lo que me aclararon tengo algunas otras dudas. Primero, ¿la biblia de C se puede conseguir en español? Sino no hay drama, me manejo con inglés pero me sería más cómodo tenerlo en español sin dudas. Segundo, el código del juego que bajé tiene muchas carpetas con archivos de distinto tipo, ¿cómo es la mejor manera de idenfiticar para qué sirve cada uno? Tercero y más importante creo, ¿estoy apuntando muy alto para empezar? La idea esta se me ocurrió porque jugando al juego se me ocurrieron varias modificaciones para hacerle que me parece que le quedarían copadas, pero ahora que puedo ver más claramente qué conocimientos necesito y qué conocimientos tengo, creo que estoy un poco lejos de poder alcanzar mi objetivo ahora.

Bueno, eso es todo por el momento. Saludos!
No elijas una distro por lo dificil de instalar que sea, al contrario, usa Ubuntu que tiene muy buen soporte para drivers de todo en general. Si tenes una maquina relativamente decente podes instalartelo en una maquina virtual con VirtualBox o similar, y no hace falta particionar ni nada. Linux es una herramienta, no deberia ser dificil usarlo. Para aprender tenes Gentoo o LFS, aunque en el 99% de los casos Ubuntu te va a servir.

El K&R se consigue en español, si. De hecho yo lo tengo asi =P

Vos fijate lo que puedas hacer con el juego, se aprende por prueba y error en muchisimos casos.
¿Pero tanta diferencia de "dificultad" habrá entre Fedora y Ubuntu? ¿qué dificultades se me pueden aparecer para instalar Fedora?

¿El K&R lo podré conseguir en PDF? Porque busqué y conseguí la versión en inglés, pero no la versión en español. Voy a seguir buscando igual, pero si me facilitan el link estaría agradecido =P
No se, a lo sumo un problema de compatibilidad de drivers (aunque creo que Fedora tiene un kernel mas nuevo, asi que viene con mas drivers...)

No es dificil instalar ninguno de los dos, eso seguro =P
¿Cómo es el tema de los drivers? Onda, instalo la distro que sea, una vez instalada quiero instalar los drivers de mi VGA, los busco en la página oficial y bajo la versión para linux, ¿qué pasa si el SO no me los toma? ¿qué hago?
En Linux, la gran mayoria de los drivers vienen con el kernel. Los drivers de video oficiales de NVIDIA y AMD son de codigo cerrado (solo proveen los binarios) y pueden andar bien o no. Es decir, si andan mal no es culpa de Linux ni de la distribucion =P. Hay drivers open source que hicieron unos flacos cualquiera, pero creo que ni tienen aceleracion 3D, es para tener el escritorio y un poco de Flash y listo.

Ubuntu tiene un programita que te instala los drivers de codigo cerrado automaticamente, cuando tenia NVIDIA siempre me funciono de 10. Ahora tengo una 6850 y despues de instalar los drivers, cuando inicia la interfaz el monitor me dice "Out of Range" y no puedo ver nada. Todavia no encontre como arreglarlo.
Páginas: 1 2
URLs de referencia