Archivo

Archive for the ‘Manuales y tutoriales’ Category

Libros y Papers sobre C++

¿Querés aprender C/C++? Ahora no vas a tener excusa.

Les traigo una post del foro elhacker.net donde se encuentran, para descarga directa, una gran cantidad de libros y papers sobre programación en C y C++, tanto en plataformas Windows como Linux. Hay gran variedad de temas sobre programación en C/C++, como programación de videojuegos, de sockets, o de interfaces Qt4.

El link para ingresar al post: [Libros/Papers] Programación en C/C++.

Artículo sobre programación de un "Bong" con SDL

Navegando por la web encontré un artículo bastante interesante que explica cómo programar un “bong” con SDL, implementando un sistema de colisiones.

Enlace: http://acuv.webs.upv.es/index.php?option=com_content&view=article&id=199:tutorial-sdl-hagamos-un-qbongq&catid=8:general&Itemid=12

Manual sobre SDL en castellano

Tanto tiempo. Aquí les traigo un manual sobre SDL (Simple DirectMedia Layer), la librería por excelencia para trabajar con multimedia e imágenes, que nos facilitará el trabajo de la programación de videojugos 2D con imágenes.

Este libro enseña los conceptos de una forma “muuy” clara y concisa y además nos enseña cómo programar un simple juego.

Enlace: http://www.scribd.com/doc/8689046/eBookProgramacion-de-Videojuegos-Con-SDL.

Se encuentra alojado en Scribd.com. Este “gran tutorial” nos dará la base suficiente para comenzar a programar nuestr juego desde 0. Yo ahora estoy terminando el mío, en breve lo subiré :).

Videotutoriales sobre Packet Injection (inyección de paquetes)

Vagando por el mundo HTTP llegué a un sitio donde se encuentran una serie de videotutoriales muy interesantes sobre Packet Injection. Explican desde el concepto, pasando por la estructura de los paquetes, hasta cómo armar nuestro propio inyector.

Muy interantes, aunque lamentablemente están en inglés.

La URL del sitio: www.security-freak.net/packet-injection/packet-injection.html.

Además en la sección videos de esa web pueden encontrar videos sobre seguridad informática bastantes interesantes.

Tutorial: compilar *.py a *.exe

Bueno en este pequeño tutorial les voy a explicar como compilar un archivo *.py de python a *.exe, primero que nada veremos la pagina oficial del programa http://www.py2exe.org/ , luego lo descargamos d la siguiente dirección: http://sourceforge.net/project/showfiles.php?group_id=15583

Empezamos con el procedimientos

Paso 1

Primero que nada instalamos el py2exe en la maquina en el directorio donde quedo instalado el python; Una vez ya creado nuestro archivo que queremos compilar, creamos otro archivo *.py que contenga estas lineas :

from distutils.core import setup
import py2exe
setup(console=["nombre_de_archivo.py"])

Donde dice nombre_de_archivo lo cambiamos por el nombre del archivo a pasar a *.exe.

Paso 2

Ahora guardamos los dos archivo setup.py y nombre_de_archivo.py, en el directorio de instalación de python que va a depender de la versión…  entonces nos dirigimos a la consola de comandos Inicio > Ejecutar > “CMD”

y nos dirigimos al directorio de instalación de Python c:\python25 ( usando el comando cd.. para subir de carpeta y cd python25 para entrar o acceder a la carpeta, comandos basicos batch)

Una vez dentro del directorio en el cmd tecleamos la siguiente linea de comandos

c:\python25> setup.py py2exe

Lo que hará será ejecutar nuestro archivo setup.py y arrancar el py2exe para compilar

Despues al compilar nos aparecerá algo como esto:

running py2exe
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'zlib'
creating python loader for extension 'unicodedata'
creating python loader for extension 'bz2'
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
byte-compiling C:Tutorialbuildbdist.win32winexetempbz2.py to bz2.pyc
byte-compiling C:Tutorialbuildbdist.win32winexetempunicodedata.py to unicodedata.pyc
byte-compiling C:Tutorialbuildbdist.win32winexetempzlib.py to zlib.pyc
skipping byte-compilation of c:Python24libStringIO.py to StringIO.pyc
[skipping many lines for brevity]
skipping byte-compilation of c:Python24libwarnings.py to warnings.pyc
*** copy extensions ***
*** copy dlls ***
copying c:Python24libsite-packagespy2exerun.exe -> C:Tutorialdisthello.exe
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.
ADVAPI32.dll - C:WINDOWSsystem32ADVAPI32.dll
USER32.dll - C:WINDOWSsystem32USER32.dll
SHELL32.dll - C:WINDOWSsystem32SHELL32.dll
KERNEL32.dll - C:WINDOWSsystem32KERNEL32.dll

Por último el programa creará una carpeta en c:\python25\dist\ que es dodne se ha guardado nuestro *.exe compilado con todas librerias necesarias para ejecutarlo, ( queda bastante pesado o.o)

Fuente: foro.code-makers.net

Manuales y Tutoriales sobre programación

Aquí algunos manuales y libros sobre programación en los diferentes lenguajes:

Java

La Biblia De Java 2

Anaya Multimedia | ISBN 8441510377 | PDF | Spanish | September 30, 2005 | 960 pages | 11.5 MB

Este libro está diseñado para mostrarle toda la historia del lenguaje de programación Java que un libro puede contener. Veremos no sуlo toda la sintaxis de Java, desde la declaración de variables hasta temas de orientación a objetos avanzada, sino también el lenguaje Java en el mundo real. Se cubrirán temas como permisos de acceso a applets, uso del visualizador de Java, creación de conexiones cliente/servidor sobre Internet, creación de Java Beans, conexión de bases de datos y multithread.

En este libro se tratan cientos de temas, y cada uno de ellos viene con un ejemplo que muestra cómo funciona. Está dividido en temas separados y fácilmente accesibles y en cada uno de ellos se trata un caso de programación diferente. Algunos de estos temas son los que se muestran a continuación:

  1. Toda la sintaxis de Java 2.
  2. Programación orientada a objetos.
  3. Herencia y clases internas.
  4. Abstract windowing toolkit (AWT).
  5. Botones, casillas de activación y botones de opción.
  6. Selectores, listas y cuadros de lista desplegables.
  7. Gráficos, imágenes, texto y fuentes.
  8. Menús, cuadros de diálogo y ventanas.
  9. Barras de progreso, barras de desplazamiento, separadores y cuadros de Desplazamiento.
  10. Tratamiento y ajuste de imágenes.
  11. Java Swing.
  12. Cambios de apariencia con Swing.
  13. Todos los componentes Swing.
  14. Componentes de texto Swing.
  15. Colecciones Java.
  16. Multithreads.
  17. Flujos de E/S.
  18. Manejo de ficheros.
  19. Redes y sockets.
  20. Árboles y tablas.
  21. Java Beans.
  22. Paquetes, interfaces y ficheros JAR.
  23. Seguridad.
  24. Manejo de excepciones.
  25. Manejo del teclado y del ratón.

Esta lista no es completa. Uno al que prestaremos especial atención y que no se trata en la mayoría de los libros, es Java Swing, la nueva y revolucionaria interfaz para la programación de clases Java.

Links de descarga

PHP

PHP5, El lenguaje para los profesionales de la web

Anaya Multimedia | ISBN 8441517851 | PDF | Spanish  | September 30, 2004 | 384 pages | 2.02 MB

Este libro está dirigido a usuarios noveles que no sepan programar en ningún lenguaje de desarrollo y a usuarios que ya conocen PHP, pero desean tener una base sólida sobre la nueva versión. PHP 5 está ligado a Internet, por lo tanto, todas las aplicaciones prácticas del lenguaje están orientadas a realizar contenidos dinámicos para páginas. Por eso el lector debe conocer los aspectos básicos de diseño en HTML.

El libro puede dividirse en dos partes. Una primera en la que se detallan los conceptos principales del lenguaje como las variables, estructuras de control, manejo de cadenas de caracteres, creación de objetos y conectividad con bases de datos, que dará al lector novel una visión general de PHP 5 y le permitirá comenzar a desarrollar sus primeras aplicaciones.

La segunda parte, algo más compleja, hará las delicias del usuario novel y del medio. Esta cuenta con técnicas avanzadas para la lectura / escritura de archivos XML, creación de imágenes en tiempo de ejecución, conexiones de FTP y correo electrónico o diseño de plantillas con Smarty.

El Software Libre está presente en el ámbito de la programación. Por eso, podemos utilizar algunos programas libres como base para construir aplicaciones más complejas. El diseño de plantillas o la creaciуn de llamadas a procedimientos remotos no serнa posible sin las librerнas Smarty o IXR para XML-RPC desarrolladas por la comunidad de PHP para su uso libre.

Por tanto, el libro va dirigido a usuarios noveles que no saben nada de PHP. Pero también a usuarios medios o avanzados que desean conocer las nuevas características de PHP 5 y manejar técnicas avanzadas de comunicación y diseño.

Links de descarga

C++

Manual completo de programación en C++

Manul completo, como lo dice su título, sobre programación en C++. Enseña claramente todos los conceptos y técnicas que abarca este lenguaje de programación, y ayuda a los recién iniciados a entenderlo mejor.

Links de descarga

Documento tutorial C++

Simple pero completo tutorial sobre programación en C++.

Links de descarga

Más…

Aquí les dejo un link de una carpeta que contiene gran cantidad de manuales y tutoriales de los diferentes lenguajes de programación donde pueden descargarlos directamente:

https://docs.google.com/#folders/folder.0.0B2JypZq0PpPOZWQxYmVmZDAtYjRhNi00Y2JlLWIyYmItOGU2Yzc5Yjg5NGQ1

 

Bueno, luego subiré más. Con esto ya tienen bastante para aprender.

Categorías:Manuales y tutoriales

¿Qué es un Engine para videojuegos?

Cualquier persona que quiera dedicarse seriamente a trabajar dentro de la industria de los videojuegos debe de conocer la respuesta a esta pregunta y además conocer una lista de ejemplos de este tipo de programas. Para aquellos que se quieran especializar en la programación deben al menos haber utilizado algún Engine previo a aspirar a un puesto o inclusive una entrevista de trabajo en alguna empresa de la industria. Si bien, no es algo que se vea en las clásicas clases de programación de sistemas dentro de la universidad o en los cursos o talleres de creación de contenidos multimedia, el “Game Engine” es un elemento que diferencia el desarrollo de videojuegos del desarrollo de software en general.

Un Engine para videojuegos, también conocido como “Game middleware”, es un sistema creado exclusivamente para el desarrollo de videojuegos; es una herramienta creada por programadores y para programadores; para facilitar y agilizar el proceso de la creación de un videojuego. Este software provee toda la funcionalidad que se necesita para renderear gráficos, detectar colisiones, simular física, administrar la comunicación con periféricos, manipular sonido, crear inteligencia artificial, manejar memoria, etc., sin que el programador tenga que comenzar desde cero cada vez que empieza un desarrollo.

Si lo traemos al mundo cotidiano, un Engine de videojuegos es equivalente a un procesador de textos; dentro de este último, como usuarios, no tenemos que preocuparnos como es que cada vez que oprimo una tecla esta se transforma en un carácter impreso en pantalla. De igual forma un Engine facilita que un programador pueda agregar elementos a un escenario o nivel, sin preocuparse en cómo es que la computadora renderea esos elementos.

 

Los Engines han evolucionado a lo largo de la historia de los videojuegos, siempre respondiendo a los requerimientos tecnológicos de nuevas mega producciones o a la usabilidad que se  requiere para satisfacer a los gamers. Dos clasificaciones importantes se da entre uso de gráficos 2D y 3D ya que el procesamiento de imágenes y el tipo de animación de cada uno son muy distintas, sumando también otros muchos factores que hacen a los primeros usualmente más ligeros.

También existen Engines clasificados por la consola con la cual son compatibles, debido a que cada una de ellas utiliza un sistema operativo diferente y no existe un estándar.  Entre las muchas clasificaciones de Engines se encuentra la más “importante”,  con  Costo o Gratuitos. Esta división se ha dado por la evolución que han tenido los modelos de negocio dentro de la industria.

Hace algunos años nadie regalaba mini juegos dentro de dispositivos móviles o inclusive consolas, o no se cobraba solo por desbloquear algún elemento de juego. Hoy, los Engines han adoptado algunas de estas prácticas. Finalmente existen Engines disponibles al público y otros cuyas casas desarrolladoras no muestran a la luz ya que estas herramientas se convierten en el almacén del conocimiento de generaciones de desarrolladores que han adaptado y re-adaptado funcionalidades.

Los Engines son herramientas que los programadores han creado para hacer del desarrollo de videojuegos algo más ágil y sencillo, sin quitarle el alto nivel de especialización necesario. Los Engines seguirán evolucionando y adoptarán nuevas tecnologías, como el uso de gráficos en 3D real, perfeccionamiento de física, generación de partículas, inclusive nuevos métodos y protocolos de comunicación.

Game-Engines disponibles:

Dentro de los Engines más sobresalientes se encuentran: RAGE (Rock Advance Game Engine) con el que se creó el título de Read Dead Redemption y se rumorea que L.A Noire; Cry Engine por Crytek con el que se crearon Far Cry, Crysis y Crysis 2; Naughty Dog Engine herramienta utilizada para crear Uncharted: Drake’s Fortune y Uncaherted 2: Among Thieves; Unreal Engine de Epic Games con el que se crearon: Gears of War, Mass Effect, BioShock, Unreal Tournament  entre muchos otros. La lista puede continuar pero sería muy extensa y con alguna pequeña búsqueda en Internet podrán encontrar información muy valiosa.

Aquí pueden encontrar una lista con los Game Engines más importantes (tanto libres como comerciales): Game Engines.

Categorías:Manuales y tutoriales