COMO - Arcades 3D y Linux - Duke nukem 3D

Iniciado por Karnizero, Junio 14, 2005, 08:34:12 PM

Tema anterior - Siguiente tema

Karnizero

Buenas de nuevo, amigos frikis :)

Como seguramente sepais por el título del post, aquí os traigo una nueva edición de la revista, que bautizo ahora como "Arcades3D y Linux". Esta edición trae el reportaje de cómo hacer rular el GRAN JUEGO (aunque no tan grande como el Quake1 jajaja) llamado Duke Nukem 3D.

Antes de empezar la explicación, daré las gracias a nuestro mayor FRIKI, sin el cual, todos sus discípulos (nosotros todos), no existiríamos, es más, seríamos unos pobres infelices, viviendo bajo un puente, fumando porros y bebiendo San Simon a pelo. No tendríamos todos estos juegazos que se ofrecen de forma gratuíta en la web de webs, en la mejor, la única, la grande: WWW.ARCADES3D.COM. Y sin que nos demos cuenta, llega Dark Vader, salido directamente del Dark Forces, para combatir del lado de los demonios de la UAC, listo para derrotar a nuestro héroe, el señor Duke Nukem. Sin embargo, en cuanto Dark Vader atterriza con su titánica nave, la tierra tiembla. Duke Nukem prepara su RPG, y antes de que se dé cuenta, una enorme brecha se abre, dejando ver las enrañas de la tierra y de ellas, un hombre sale volando, con un arma lanza-clavos en una mano, y un Rocket Launcher en la otra, y dice, con una voz oscura y demoníaca: "El poder de Quake me protege. Nadie se opone a mi...y vive para contarlo" y entonces...Bueno, que me voy por las ramas, que lo que quiero decir es que quiero agradecer a, nada más y nada menos que a Eye del Cul por esta magnífica página y por su magnífica labor y su gran esfuerzo en el mantenimiento de la misma. Y gracias también por enviarme el código fuente del Duke3D para que pueda ponerlo en Linux.

Un fuerte aplauso para Eye, el grande --->>>>  PLAS PLAS PLAS PLAS PLAS PLAS PLAS

Y bueno, después de la emocionante introducción, pasaré, sin entretenerme más, a explicar cómo se puede hacer rular el Duke3D en Linux. (Ahora ya no tendré que usar más el Wind*ws Muahahahaha)

Como siempre, comenzamos con los requisitos. En este caso, son muy pocos:

1.- Necesitaremos SDL, SLD_mixer, SDL_net, SDL_dev, SLD_mixer_dev, SDL_net_dev. Las dev son para que podamos compilar el código fuente.
2.- Targeta de sonido compatible con OSS/ALSA
3.- Entorno gráfico X
4.- gcc 3.x + (osea, gcc 3.0 en adelante)
5.- Programa para acceder a un directorio CVS (por ejemplo el Cervisia)

Y esto es todo amigos.

También tendremos que tener los archivos originales del juego, a saber:
- Game.com
- Defs.com
- User.con
- Duke3d.grp
- Duke3d.cfg

Todos estos archivos tienen que ser de la Atomic Edition. Ya he probado yo con la versión normal, y no funciona.

Abrimos una sesión de consola.
Creamos una carpeta que se llame juegos:

$ mkdir juegos

Y dentro de esta otra que se llame duke3d

Es recomendable, tanto si usais Linux como si usais wind*ws, que tengais todos los juegos y, en general, todos los programas de la misma categoría, en un mismo directorio:

$ cd juegos
$ pwd
/home/alberto/juegos
$ mkdir duke3d

A continuación copiamos todos los archivos que he citado antes, a este directorio (/home/alberto/juegos/duke3d)

Una vez hecho, nos bajaremos el código fuente hecho. Seguramente sabréis que 3DRealms ha liberado el código fuente del Duke3D y del Shadow Warrior, así que nos lo podemos bajar sin problemas. El único problema es que dicho código fuente está hecho para ser compilado con un compilador llamado Watcom C++, el cual ya NO es gratuíto. Watcom C++ es un lenguaje de programación basado en C++, con lo cual es casi igual, excepto por una serie de componentes y librerías que usa, las cuales habían sido usadas por 3DRealms para compilar el Duke, así que si nos bajásemos ese código fuente, no nos serviría de mucho. Y de esto mismo también se dieron cuenta los de Icculus, así que revisaron TODO el código fuente para que pueda ser compilado con un compilador normal de C++.

Así que lo que tendremos que bajarnos es el código fuente de Icculus. Para ello seguiremos los siguientes pasos:

1.- Desde la sesión de consola, tecleamos lo siguiente (o copiar-pegar):  cvs -z3 -d:pserver:anonymous@cvs.icculus.org:/cvs/cvsroot login

Nos pedirá una contraseña, que es anonymous. La escribimos entonces.

Accedemos a los directorios duke3d/source y buildengine, y nos bajamos los archivos todos que hay en dichos directorios.

Los guardamos en el directorio que habíamos creado antes (/home/alberto/juegos/duke3d)

Salimos de la sesión CVS y nos dirigimos al directorio del duke3d.

Como podemos comprobar, tendremos dos carpetas: una que pone buildengine y otra que pone source. Primero tendremos que mover el buildengine a la carpeta source. Escribimos lo siguiente

$ yes|mv -R -v ./buildengine ./source
.
.
.<----Nos sale la lista de lo que está moviendo
.
$ cd source
$ ls
.
..
... <----comprobamos si está todo correctamente
....

Si todo está bién, procederemos con la compilación.

Primero tendremos que compilar el buildengine. nos dirigimos a la carpeta buildengine, y listamos los archivos que hay en ella:

$ cd buildengine
$ ls
.
..
...
Makefile  <----Fijaros que hay este archivo.*
....
.....
......

* Siempre que haya un Makefile, es que se puede compilar, a no ser que haya otro archivo llamado configure. En este último caso, ejecutamos primero configure, y luego compilamos.

Como aquí sólo tenemos el Makefile, procederemos a compilar directamente:

$ make
.
.
.
.
.
$

Si no nos salió ningún error de compilación, ya tenemos el builengine compilado, con el ejecutable.

Luego ascendemos por los directorios hasta estar en el directorio del source:

$ pwd
/home/alberto/juego/duke3d/source/buildengine
$ cd ..
$ pwd
/home/alberto/juego/duke3d/source
$

Y una vez aquí compilamos el juego en sí:

$ make
.
.
.
$

Y ya está todo hecho.

Para juagr, copiamos los .con, el .grp y el .cfg que teníamos al pricipo, a la carpeta buildengine, y ejecutamos el programa duke3d para juagr, y el build para arrancar el editor build.

Y a continuación, os pondría unos screenshots, pero como no sé cómo se hace para poner el Duke3D en una ventana, no puedo.

Si alguien sabe cómo se hace, le agradecería que lo dijera. :)

Eye del Cul

Me alegro de que por fin hayas podido disfrutar de Duke3D en Linux... ¡Ah!, y muchas gracias por tus cumplidos.
:¡yepa!:

A todo esto, no sé si ya te lo comenté, ¿pero no te molaría que reuniera tus tutoriales en una sección propia? Así la gente podría localizarlos al primer vistazo, en vez de rastrear el foro para encontrarlos. Vamos, a mí me parece buena idea, los veo completos y sencillos de seguir.

PD: No imaginas lo que tuve que pelearme con el CVS, en la vida había usado ninguno. Sí, es muy fácil..., pero hay que pillarle el punto.
«Porque buscar a alguien patético en Internet es como buscar caballos en un establo: encontrarás alguno, seguramente» -- Phobos Anomaly

Karnizero

Claro, molaría una sección Linuxera en Arcades3D  ::oeoe::

Si quieres puedes ir poniéndolos a pelo, osea, copiando y pegando el texto, pero yo, como dije hace un tiempo, iré pasando los documentos a pdf con las fotos y todo, para que sea más cómodo. Aunque tu tienes la última palabra, para eso eres el admin.

Lo malo es que se me acumula trabajo...entre el manual de Instalación y COnfiguración de Linux, los manuales que voy posteando, pasarlos a pdf y la universidad, uno no tiene tiempo casi. Aun así, haré todo lo que pueda.

Es más, si necesitas ayuda para esa nueva "sección", cuenta conmigo/nosotros para lo que sea. Yo, por mi parte tengo imágenes, fotos, algunos textos, etc...

Bueno, pues eso. Taluego

Eye del Cul

Bien, pues en ese caso iré copiando tus textos, y cuando los vayas teniendo las versiones en PDF las iré añadiendo... Desde luego, tu ayuda sería necesaria para ir haciendo grande la sección; nadie mejor que un linuxero para hablar de Linux ;).

Por ejemplo, ¿crees que valdría la pena publicar tu copia de Duke Nukem 3D? Más que nada para que el personal no tenga que compilarlo por su cuenta...
«Porque buscar a alguien patético en Internet es como buscar caballos en un establo: encontrarás alguno, seguramente» -- Phobos Anomaly

Karnizero

Cita de: "Eye del Cul"Bien, pues en ese caso iré copiando tus textos, y cuando los vayas teniendo las versiones en PDF las iré añadiendo... Desde luego, tu ayuda sería necesaria para ir haciendo grande la sección; nadie mejor que un linuxero para hablar de Linux ;).

Ok, pues entonces cuenta conmigo. Te enviaré periódcamente los PDFs y cualquier otra cosa que necesites. Ya sabes mi mail de gmail y el messenger (el que tengo en el perfil), así que para cualquier cosa, ya sabes. Como ambos (creo) somos de España, no será dificil que coincidamos :)

Mañana mismo te envío el primer texto en pdf.

Cita de: "Eye del Cul"Por ejemplo, ¿crees que valdría la pena publicar tu copia de Duke Nukem 3D? Más que nada para que el personal no tenga que compilarlo por su cuenta...

Si, pero hay un problemilla, que es mejor que pongas el código fuente que me has pasado, ya que yo lo compilé en Linux Mandrake, y si otro tiene otra distribución de Linux, la cosa puede cambiar, ya que hay algunas cosillas que cambian de una distro a otra.

Karnizero

Una pregunta Eye ¿quieres que ponga el logo de Arcades3D en la portada de los manuales? O también puedes enviarme las fuentes con las que hiciste las letras del logo para que ponga en la portada.

Estoy probando con varios formatos, así que te los enviaré para que me digas el que te gusta más, o si no te gustan y me dices cómo los quieres.

Enga, nos vemos