En poco más de 2 horas tengo el último examen … (Aunque me queda una práctica sobre concurrencia para el día 25.)
El caso, es que ha sido un gran año(a costa de bajar la los posteos del blog y no tener nunca tiempo …), y prácticamente no me queda nada para acabar la carrera el año que viene. En el primer cuatrimestre solo me matricularé a 2 asignaturas !. En el segundo habrá que esperar a las notas, pero calculo que unas 6 asignaturas. Lo que me deja un año bastante sabático para centrarme en el PFC.
Me he matriculado a 2 curos de verano, que organiza la universidad:
- Curso de auditoría y seguridad informática ( http://www.cc.uah.es/ie/cursos/auditoria10/ ) – 6 creditos por 120€
- Introducción al mundo 3D ( http://www.uah.es/cultura_deportes/documentos/cursos_verano/alcala/12-01.pdf ) – 1 credito (una mierda, para 75 pavos que vale, pero me interesa el tema demasiado).
El segundo curso, me he matriculado porque precisamente sobre algo parecido a eso, quiero dedicar mi PFC. Todavía no tengo un profesor, ni he hecho el anteproyecto, pero me pondré a ello en el mes de julio. Pero ya tengo mucho código escrito, y muchas ideas pensadas.
El PFC me gustaría hablar sobre la arquitectura de los juegos. Me gustaría hacerlo en 2 partes: Una parte densa teórica. Y una implementación práctica.
Voy a comprar unos cuantos libros por amazon, y sobre todo estudiar el código de John Carmack (quake 1,2 y III). Como gran referente y pionero en crear buenas arquitecturas en los juegos.
El PFC es bastante ambicioso por lo que no descarto, hacer un PFC más modesto, y postponerlo para el Grado de Ingeniería Informática. Ya que cuando acabe me gustaría convalidar con GII y hacer 2 años más. Para entonces habré aprendido más sobre IA, y otros temas, y estaré más preparado que ahora.
Cambiando de tercio, he recibido ya un total de 25€ (restar las tarifas de paypal) en donaciones (de españoles 0€, ojo al dato) para el proyecto Wiithon, por lo que me siento un poco en deuda. Además que utilizando Wiithon como usuario, todavía se pueden mejorar algunas cosas. Como probar que tal funcionaría con una SGBD decente, en lugar de sqlite. En mi caso, tengo más de 600 juegos de Wii y aunque va muy rápido, en ordenadores de +4 años, se nota que sqlite se queda corto.
Bueno, me voy al examen, que le pedido salir al jefe antes : D
Filed under: Inclasificable, informatica, ingenieria, juegos, wii | Tagged: examen, PFC, wiithon |
Weeee!! Suerte con el examen y ahora a disfrutar de las vacaciones!!
Del curso de auditoría y seguridad informática saldrás contento, trabajo con uno de los profesores (Ramiro) y es un crack, y por lo poco que conozco a Valentín, también lo es XDD
Del PFC espero que vayas hablando en el blog para tenernos al día, que yo al menos tengo curiosidad :P Y sí, has elegido buen referente al hablar de God Carmack XDDD :_D
Bueno tío lo dicho, suerte y happy coding!
Buah el examen era una chorrada, 10 preguntas cortas (era de laboratorio).
Pues lo del curso, me trankiliza que me digas eso … ya te contaré…
Si, iré poniendo posts de algunas cosas del PFC.
Voy a utilizar boost para implementar el patrón observer con el tema de signals y slots que tiene boost que esla ostia para crear Listeners y Señales.
Tambien estoy estudiando todo el tema de punteros a función, funtores. Para saber hacerlo con boost y sin boost.
Para semaforos, mutex y todas esas cosas, estoy usando SDL_thread pero me estudiaré lalibrería boost.
A pesar de que John Carmack es mi referente, y en esa época todos los juegos eran single thread, pos me gustaría coger ideas de su arquitectura pero me gustaría usar multithread en las partes que sea posible.
Me he hecho mi propia implementación para ejecutar tareas multithread y va ligeramente más rápido que usando OpenMP. Asi que no se k hacer, por k en contra, la sintaxis de OpenMP es mucho más simple.
De motor gráfico, usaré Ogre por supuesto. Sobre todo ahora, que con la 1.7 ya soporta la mezcla de animaciones. Y lo prioritario es hacer un API que abstraiga la complejuidad de OGRE para centrarnos en lo importante.
Tambien necesitaré crear un script para interpretar durante la ejecución,,, Tenía pensado implementarme un analizador lexico + sintactico. Para una pequeña programación de triggers por scripts. Con un lenguaje declarativo simplongo.
Para la física antes usaba PhysX, pero cada día me gusta menos, Nvidia me ha defraudado mucho, y seguramente intente aprender Bullet que es software libre y se k es muy bueno. (la física de la peli 2012 esta hecho en bullet).
El sonido no tengo ni idea, antes usaba SDL_mixer, pero amos lo normal sería usar OpenAL, ya que estoy tirando de software libre.
A partir del viernes me liaré con algo que tengo pendiente, hacer una maquina de estados para el tema de las animaciones, con transiciones de estados difusas (de 0 a 1).
Y después ya veré… no hay prisa y estoy en vacaciones :D
Veo que lo tienes todo planeado! :P
Pues nada yo estaré atento a tus actualizaciones, que te tengo en el RSS xDDD
Vas a usar Bazaar para el PFC? (Launchpad, vaya)
Pos no te creas que tanto, es más bien, tareas acumuladas.
Uso bazaar, pero en local y para sincronizar con otros PCs en red. En principio no voy a usarlo a launchpad, ya que todo código que subas a launchpad debe ser licenciado como software libre u open source. Y en principio, para un PFC, no me interesa.
Te paso un código muy interesante que llevo un par de días haciendo. Es un cpp aparte, ajeno al PFC que solo uso para aclarar conceptos.
http://paste.ideaslabs.com/show/oyTbUMdc4
Compilalo con: g++ -Wno-deprecated -fopenmp -I/usr/include/SDL -lSDL mainloop.cpp -o mainloop
Solo hace falta SDL, normalmente.
Tengo bastante pruebas en él, pero seguro que te interesa la función mainloop(). La quiero perfeccionar para concurrencia. Pero ahora mismo funciona muy bien para un inicio de un juego single thread.
Monitoreo tiempos de cada frame, puedo controlar máximo de fps y en función de la carga, dinámicamente puedo decidir si haces espera activa y si el bucle va ligero hacer sleep() por SSOO para aliviar a la CPU.
He cogido ideas del mainloop del quake 1, y otras cosas que ya tenia hechas, pero lo he mejorado bastante, como por ejemplo que el quake 1, te iría la cpu al 100% siempre. No tiene un solo sleep(), claro que en esa época es normal xDD
Ola Ricardo,
Gostaria de agradece-lo pelo Wiithon!
Antes de testar o wiithon eu testei qwbfsmanager, mas este não funcionou bem em amd64.
Ja wiithon funcionou de forma excelente!
Espero que voce continue atualizando o wiithon.
Um grande abraço,
Alan