Código Fuente de Quake 3 liberado

Uno de los momentos más esperados por la comunidad del software libre ha llegado, John Carmack acaba de liberar bajo licencia GPL el código fuente del juego Quake 3. A parte de ser un regalo para programadores y estudiantes, permitirá hacer ports para otras plataformas, así como que se realicen nuevos juegos también GPL que utilicen el mismo motor. Tenéis más información y descargas en quakesrc. Gracias a Rurouni por el aviso.
PRIMENS!!!

Pues esta muy bien...ojala todo fuese liberado....
dio la de ports que se haran de este codigo [babas]
Si señor, un 10 para este caballero. Si algún día me lo encuentro le invito a unas cañitas y unas tapas
hola por fin una buena noticia con la licencias del software libre, pero esta gente del marketing no se dan cuenta q cuando mas liberen mas la gente necesitara mantenimiento y compraran mas???
Lo mejor es que apenas pesa 5MB por lo que cualquiera puede acceder rapidamente a el.
pero descomprimido son unos 24 megas xD wai
Una pregunta, se tiene que saber programar para hacer uso del motor y hacer un jueguillo y eso ?
xLoNaDaRx escribió:Una pregunta, se tiene que saber programar para hacer uso del motor y hacer un jueguillo y eso ?


Para nada, eso como zp, en dos tardes te haces 30 clones del quake 3.

[carcajad]
Hummm... veo un port a Xbox en ciernes... XD
cybblade escribió:dio la de ports que se haran de este codigo [babas]

pozi, y esto no es lo unico weno, la de juegos q van a empezar a salir basados en este codigo :D
xLoNaDaRx escribió:Una pregunta, se tiene que saber programar para hacer uso del motor y hacer un jueguillo y eso ?
Si... y no... tienes dos posibilidades (en resumidas cuentas):

* Utilizar directamente el código fuente del engine para crear un juego derivado: un FPS tipo Quake, un MMORPG, un juego de carreras de pulpos selenitas... lo que quieras, si sabes programar y tienes tiempo.

* Utilizar las herramientas para crear MODs para crear uno y distribuirlo sin necesidad de tener el Quake original, ya que con la versión que te puedas compilar será sufuciente, por lo que más que un MOD será un juego en toda regla... pero depende de la complejidad del mismo tendrás que programar o no (hay utilidades que te hacen prácticamente todo el trabajo).

Rercordemos que es "sólo" el código fuente... no se distribuye el "arte" de Quake 3, el cual sigue siendo propiedad de id Software. Por cierto, aunque se haya liberado el corazón de Quake 3... este sigue estando de venta al público y no quiere decir que no se puedan sacar más versiones comerciales (una versión para móviles está en camino).

Otra cosa: Carmack enfatiza en el hecho de que podéis hacer juegos de pago utilizando este engine, siempre que deis el código fuente... es más os anima a ello :)

Saludos!!!
q buena noticia, a ver si se sacan ports y juego basados en el.


PD: para cuando un quake 3 en GP32?? sera posible?? :P
Sabéis si hay galerías de texturas, mapas y/o modelos 3D freeware (libres de royalties)? En qué formato han de estar los modelos 3D? (es lo que faltaría, eso... y tiempo XD)
Imagen


Bueno... ya intentare descargarmelo mañana... [poraki]
Pues lo veo muy bien, yo creo q cualquier programa q haya dejado de dar beneficios se deberia liberar su codigo, por eso de compartir los conocimientos entre la humanidad y esas cosas.
Me encanta la sinceridad de los programadores al hacer comentarios...


Mirad xD:

m-(~/quake3/quake3-1.32b)-(10 files, 68Kb)--> grep -ri fuck *
code/bspc/aas_map.c: //NOW close the fucking brush!!
code/game/q_math.c: i = 0x5f3759df - ( i >> 1 ); // what the fuck?
code/q3_ui/ui_atoms.c: // fuck, don't have a clean cut, we'll overflow
code/server/sv_main.c: // since the cmd formatting can fuckup (amount of spaces), using a dumb step by step parsing
code/ui/ui_main.c: // fuck, don't have a clean cut, we'll overflow
code/ui/ui_shared.c: // vm fuckage
code/ui/ui_shared.c: // vm fuckage
code/ui/ui_shared.c: //FIXME: this is a fucking mess
code/unix/ChangeLog: Note: Unix CR/LF in *.dsw/*.dsp fucks up MSVC++.
code/unix/ChangeLog: How the fuck did this happen?
code/unix/ChangeLog: some files, and between their revisions and ours we fuck this up.
q3radiant/DRAG.CPP: break; // dragged backwards or fucked up
q3radiant/ECLASS.CPP:// FIXME: this code is a TOTAL clusterfuck
q3radiant/EPAIRS.H: {"rem", "Less than half a fucking man."},
q3radiant/EPAIRS.H: {"rem", "You're fucking dumb! Suck it down."},
q3radiant/igl.h:// cleaning up after merging and thinks badly fucked up
q3radiant/MAP.CPP: this could fuck up if you have only part of a complex entity selected...
q3radiant/PMESH.CPP: // FIXME: this bend painting code needs to be rolled up significantly as it is a cluster fuck right now
OFFTOPICAZO:

Desarrollareis el Bomber Gum con este engine ahora?? No se cómo irá el proyecto, pero un bomberman en primera persona seria la repera X-D
xLoNaDaRx escribió:OFFTOPICAZO:

Desarrollareis el Bomber Gum con este engine ahora?? No se cómo irá el proyecto, pero un bomberman en primera persona seria la repera X-D
xDDD no... no utilizaremos en engine de Quake3, pero lo tomaré ejemplo.

El proyeto está parado por trabajo/estudios/problemas personales en los que llevo metido un tiempo.

En estos momentos estoy construyendo un IDE para poder crear el juego más rápidamente... que a decir verdad no paro de saltar de un entorno de ventanas a otro: de wxWidgets/C++ he llegado a GTK#/C# con mono.

Espero poder tener tiempo para dedicarselo seguido al engine de BG (que por cierto, ya tiene nombre... y en breve inauguraré la web del proyecto :)).

Saludos! y gracias por el interés!
CaT_Os_MandRoS escribió:Me encanta la sinceridad de los programadores al hacer comentarios...


Mirad xD:

m-(~/quake3/quake3-1.32b)-(10 files, 68Kb)--> grep -ri fuck *
code/bspc/aas_map.c: //NOW close the fucking brush!!
code/game/q_math.c: i = 0x5f3759df - ( i >> 1 ); // what the fuck?
code/q3_ui/ui_atoms.c: // fuck, don't have a clean cut, we'll overflow
code/server/sv_main.c: // since the cmd formatting can fuckup (amount of spaces), using a dumb step by step parsing
code/ui/ui_main.c: // fuck, don't have a clean cut, we'll overflow
code/ui/ui_shared.c: // vm fuckage
code/ui/ui_shared.c: // vm fuckage
code/ui/ui_shared.c: //FIXME: this is a fucking mess
code/unix/ChangeLog: Note: Unix CR/LF in *.dsw/*.dsp fucks up MSVC++.
code/unix/ChangeLog: How the fuck did this happen?
code/unix/ChangeLog: some files, and between their revisions and ours we fuck this up.
q3radiant/DRAG.CPP: break; // dragged backwards or fucked up
q3radiant/ECLASS.CPP:// FIXME: this code is a TOTAL clusterfuck
q3radiant/EPAIRS.H: {"rem", "Less than half a fucking man."},
q3radiant/EPAIRS.H: {"rem", "You're fucking dumb! Suck it down."},
q3radiant/igl.h:// cleaning up after merging and thinks badly fucked up
q3radiant/MAP.CPP: this could fuck up if you have only part of a complex entity selected...
q3radiant/PMESH.CPP: // FIXME: this bend painting code needs to be rolled up significantly as it is a cluster fuck right now


[qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto] [qmparto]

Gran noticia, la de mods que se podrán hacer con eso [fumeta]
[tadoramo] John Carmack. Ojalá más desarrolladores siguieran su ejemplo. Además parece que es una de las esperanzas de que sobreviva OpenGL...

Salu2
Con esos comentarios la programación se hace más amena sin duda... [jaja]
ufff. no me gusta el lenguaje C... creo que por esta ocacion dejo esto a un lado...
BladeRunner escribió:Con esos comentarios la programación se hace más amena sin duda... [jaja]


Ni que lo digas! Todos a tomar ejemplo :p
mcklain escribió:Hummm... veo un port a Xbox en ciernes... XD


ateo te oiga [tadoramo]
oskuro está baneado por "Utilizar clones para soltar spoilers salvajes en el hilo del horizon: Zero Dawn"
Ya está bajado, voy a indagar un poquito antes de irme a la cama, y mañana ya lo miro mejor, una gran noticia [fies]
KAISER-77 escribió:PD: para cuando un quake 3 en GP32?? sera posible?? :P


si ya le cuesta mover el quake 1... lo dudo mucho

mejor dejalo para la gpx2, seguro que en esa consola ya se podra hacer algo decente
buena noticia... a ver si salen juegos GPL buenos... y la gente empieza a pasarse a linux para viciarse.... ;)

salu2
Ya intenté compilar y me salen errores, a ver si alguien se anima que yo en C/C++ toy medio pez... [looco]
SrJimenez escribió:mejor dejalo para la gpx2, seguro que en esa consola ya se podra hacer algo decente
Pues no se hasta que punto se podrá portar el Q3Engine a GPX2 ya que esta solo tiene 200Mhz (la GP32 tiene 133-166Mhz en el mejor de los casos) y no tiene aceleradora 3D. La XGP tiene más o menos las mismas características pero tiene aceleradora que trabaja con OpenGL 2 ES y sería muy fácil portarlo para esta.

Ya intenté compilar y me salen errores, a ver si alguien se anima que yo en C/C++ toy medio pez...
Tienes que tener compilado antes el compilador para Quake y indicarle el path en el Makefile. Viene incluido en el código fuente, pero antes lo tendrás que compilar también :)

Decir que en MacOS X compila directamente en el XCoder si se abre el proyecto correspondiente.

Por cierto, también incluye el editor de mapas (su código fuente) QRadiant... así que no hay excusa para no hacer un FPS :)

Saludos.
Excelente noticia, seguro que todos podemos aprender algo
Notición!!! Este Carmack es el puto amo. Así, así hay que pensar, señores.

Imagen
(No, si ya lo sé, ya se que soy bueno, ya) XD

PD: Entregaré mis trabajos de la uni con comentarios por el estilo. xD
Mmm... yo el Quake lo tengo un poco olvidado. Pero me engancho mucho en su momento.

Entiendo que la liberación del codigo fuente permitira hacer muchas cosas a medio-largo plazo.

Pero a corto plazo.. ¿podran los creadores de Mods sacar una nueva versioón Full-game que no requiera el Juego original?

Y aprovechando, ¿alguien conoce una buena pagina de Mods del Quake3?
muad_did escribió:Pero a corto plazo.. ¿podran los creadores de Mods sacar una nueva versioón Full-game que no requiera el Juego original?

Si, ya que la mayoria solo usan el quake3 como motor grafico.
Pues yo me lo he bajado y no entiendo ni papa, y eso que se C

De donde salen todos esos archivos??
Como se crea un juego nuevo teniendo el codigo??

Llamadme inutil pero no tengo ni idea.
JO, pues yo lo que me pregunto es si se podra hacer algo decente con ese motor, me refiero´, con tanto unreal engine y tal, se podra hacer algo tipo ´half life2 decente?

Llamadme isnörante de la vida xD
adri58, si sabes C y pregunta eso, es que lo sabras en la parte teorica, pero en practica parece que nada...

Esos archivos salen de los programadores de ID software, al parecer John Carmack es uno de ellos, que es conocido como un revolucionario en esto de los graficos 3D y tal.

Un juego nuevo teniendo el codigo, pues depende, ya que con el Quake3 podias hacer un juego completamente nuevo sin tenerlo. Lo que podrias es añadirle nuevas caracteristicas al motor del Quake3 como ciertos efectos para tener mejores graficos en ciertas cosas y demas o cualquier otra cosa que no este en el motor original que quieras usar en tu juego...

eduy1985, yo creo que si, pero para equipararlo graficamente habria que coger el motor del Quake3 y darle unos buenos repasos a ciertas cosas, pero he visto un motor de Quake2 llegar al nivel del Quake3 e incluso añadiendo cosas nuevas que ni Quake3 tiene, con el codigo de Quake3 que dicen que esta tan bien hecho y tal, esperemos que la gente se supere a si misma demostrando lo que el software libre es capaz...
El codigo mas o menos lo entiendo (con bastantes dificultades) pero no se que pintan los exe por ahi.

No seria suficiente un unico archivo con todo el codigo??

De todos modos yo no sería capaz de hacer un juego partiendo del codigo.

PD:El código es C o C++ ??? Porque si es C++ ni idea (ademas hay un monton de funciones que ni habia visto por lo que supongo que sera C++)
adri58 escribió:No seria suficiente un unico archivo con todo el codigo??


http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
nxname escribió:ufff. no me gusta el lenguaje C... creo que por esta ocacion dejo esto a un lado...


mmm, un juevo en Java, va a ser que no, y en Visual Basic, ni te cuento, bueno, hablando de un juego que necesite potencia...

Me parece de puta madre (como dirían los programadores a fucking great release) que hayan liberado el código, voy a echarle un vistazo a ver si aprendo algo :D
Hummm... veo un port a Xbox en ciernes...


por Xbox-scene.com, carcharius, autor de uno de los emulatas de megadrive entre otras cosas, comenta ke ya está trabajando en ello [beer]
La gente q no tenemos nidea de programacion podriamos hacer chorradillas con esto?? o directamente me olvido y dejo q sean los demas los q me hagan las chorradillas??? XDXDXD


¿Y qué tiene que ver la POO con esto? Ni que en la programación estructurada clásica no se dividieran los programas en módulos...
Torres escribió:La gente q no tenemos nidea de programacion podriamos hacer chorradillas con esto?? o directamente me olvido y dejo q sean los demas los q me hagan las chorradillas??? XDXDXD

Opcion B. :p
adri58 escribió:El codigo mas o menos lo entiendo (con bastantes dificultades) pero no se que pintan los exe por ahi.

No seria suficiente un unico archivo con todo el codigo??


Lo primero, no te dan el código de un único binario, sino de unos cuantos, así que habría que hacer algo más que eso (o el código se replicaría por 3 o 4 ficheros enormes). Luego, esa revolucionaria idea que has tenido fue desechada, afortunadamente, hace muchísimos años (¿como 30-40?). ¿Un fichero de más de 20MB de código? Menuda idea de bombero.

adri58 escribió:PD:El código es C o C++ ??? Porque si es C++ ni idea (ademas hay un monton de funciones que ni habia visto por lo que supongo que sera C++)


Es sobretodo código C, pero tiene un poco de C++. C++ no aporta funciones nuevas a C (salvo las de algorithm y cuatro más, pero lo que supone C++ respecto a C es todo el sistema de objetos y las bibliotecas de objetos, no funciones nuevas para C). Así que todas esas "nuevas" funciones son de C, sin duda alguna. Como ya te dicho, no te alarmes. Es solo que conocer la sintaxis de C no te capacita ni para entender el C ni mucho menos para programar. Te recomiendo que empieces poco a poco, haciéndote pequeños ejemplos y aprendiendo algo sobre física y matemáticas (esencial si quieres entender código matemático y físico). Luego aprender algo sobre metodologías de programación e ingeniería del software. Mirarte arquitecturas de software, en concreto de videojuegos. Eso ayuda mucho. En definitiva, para programar videojuegos hay que saber programar videojuegos. Y para entender el código de un videojuego, también.
Entendido.

Entonces lo que yo se servira para otras cosas pero para juegos no.

Lo que dices de menuda idea de bombero lo preguntaba por que no sabia eeeee. No hace falta que me pongas a parir xDDDDD
Echo de menos las partidazas con los colegas al Quake3 en Dreamcast. Sacarán algun PORT gratuito (bajar y jugar) para PS2??

Gracias!
Si alguien quiere compilarlo en linux aquí están los pasos:
####################
####Dependencias####
####################

# Minimo
gcc >=2.95
nasm
perl >=5.03

# en caso de debian, o distro paquetizada
libc6/libc6-dev 2.3.5-3
libx11-dev 6.8.2.dfsg.1-5
mesag3/mesag-dev 6.2.1-5

######################
#####Preparacion######
######################

# quitar saltos de linea windozeros
cd lcc/src
perl -pi.bk -e 's/\r//' *.md
cd ../..
cd code/game
perl -pi.bk -e 's/\r//' *.c *.h
cd ../..

# arreglar ficheros
lcc/cpp/lex.c::
Linea 56: cambiar a:
START, { ' ', '\t', '\v', '\r' }, WS1,

Linea 170: cambiar a:
WS1, { ' ', '\t', '\v', '\r' }, WS1,

code/cgame/cg_servercmds.c ::
Quitar los '\' del final en las lineas 942 y 943.

# quitar el -Werror (ni el kernel lo usa)
code/Construct : 235
- $BASE_CFLAGS = $COMMON_CFLAGS . '-g -Wall -Werror -O ';
+ $BASE_CFLAGS = $COMMON_CFLAGS . '-g -Wall -O ';

##########################
####Compilacion###########
##########################

cd lcc && make all
cd ../q3asm && make clean && make
cd ../code && perl unix/cons

##########################
###Ejecucion##############
##########################


Si teneis Debian/Sid deberéis cambiar lo siguiente:
En lcc/makefile: Linea 139: - SYSTEM=$(shell cc -print-search-dirs | head -n 1 | cut -b 10-)
+ SYSTEM=$(shell cc -print-search-dirs | head -n 1 | cut -b 11-)


En Fedora Core 4 con el GCC 4.0 para compilar únicamente debereis hacer:

unzip -a quake3-1.32b-source.zip
cd quake3-1.32b/code
(Modificar el fichero Construct y borrar la opcion -Werror del compilador)
./unix/cons


Gracias a la gente de barrapunto por su ayuda.
yo mas que en un port del quake 3 lo que espero mas es un scummvm para juegos con este motor ya de entrada los primeros (quake 3, star treck voyager, alice y heavi metal) y mas tarde para medal of honos asta el call of duty
Danilo Thann escribió:Echo de menos las partidazas con los colegas al Quake3 en Dreamcast. Sacarán algun PORT gratuito (bajar y jugar) para PS2??


Uff, yo tb me vicié lo suyo al de DC...
Estaria bastante bien un port para PS2, y ya si añaden modo Online mejor xD(si, se q es tremendamente dificil xD)

silfredo escribió:yo mas que en un port del quake 3 lo que espero mas es un scummvm para juegos con este motor ya de entrada los primeros (quake 3, star treck voyager, alice y heavi metal) y mas tarde para medal of honos asta el call of duty


Siento si sueno ignorante pero...no te he entendido para nada xD
Q tiene q ver un emulador de SCUMM con el Quake 3, Medal of Honor, etc...?
61 respuestas
1, 2