Follow By Email

jueves, 23 de agosto de 2012

Un Informático en tercer año de Carrera

   Ser informático ha sido mi sueño de pequeño, tuve mi primer computador a los 7 años, un windows 92. Desde ese momento no pude estar sin uno en mi hogar. Ya teniendo claro lo que quería ser, no sabía que iba a realizar... ¿Qué hace un informático?. Pues existen variadas especialidades para ello, sin embargo siempre esta el estigma de "Es el que arregla computadores" algo totalmente erróneo.
  Yo aun no defino que especialidad seguir, me llama mucho la atención el análisis y desarrollo de aplicaciones  pero también la seguridad Informática me atrae. El hecho de combatir con Hackers malos me da cierto placer. 

  Como Informático de tercer año de la carrera aun no se define realmente a lo que uno se dedicará. Aun quedan ramos de programación, desarrollo web con Java o .Net cosa que llega a aburrir un poco por el motivo de que ya uno sabe programar a ese tiempo. Los ramos de análisis UML, creación de algoritmos e ingeniería de Software son muy llamativos ya que te llevan a pensar a lo grande. Sin embargo un ramo que adoro es el de S.O GNU/Linux, algo tan desconocido para la gente normal y algo tan grande a nivel de comunidades informáticas. Para que hablar de los demás ramos, estadística, cálculo , etc.. complementos importantes para ser un buen profesional.




   ¿Que puedes hacer ya teniendo 3 años de experiencia?

  - Muchos se dedican a estudiar y estudiar, sin embargo cuando llega el momento de la titulación se tienen que enfrentar a un mundo laboral totalmente desconocido para ellos.

  - Freelancear, realizar pequeñas aplicaciones web, realizar clases de programación y publicar avisos todos los días de lo que uno hace. En este campo me encuentro yo y bueno he podido sobrevivir y aprender bastante.

  - Trabaja como desarrollador Part-Time en una consultora. Muy buena opción, solo que debes considerar tener trabajo para la casa. Ademas de considerar tener que votar algunos ramos.

  - Por último trabajar en un Call Center como personal de soporte computacional. 




miércoles, 22 de agosto de 2012

La lógica de la programación de video-juegos

   Como programador siempre me ha gustando el tema de desarrollo de vídeo juegos, es claro que se tiene que tener un conocimiento de ciertos años, pero claramente depende del entusiasmo y la dedicación que se requiere. Muchas veces la lógica de programación para el desarrollo de vídeo juegos es lo más complicado, pero una vez entendiéndola, te das cuenta que puedes realizar lo que quieras. Lo principal es entender lo que es un loop. Muchas veces se habla de ello, pues es el motor de nuestro juego.

   Un loop es una función repetitiva que contiene la lógica del juego y que se debe estar llamando cada cierto tiempo indefinidamente, hasta que exista un botón o una acción que la detenga. Antiguamente los loops eran programados para que cumpliera un ciclo con la velocidad del procesador. Esto provocaba que en algunos computadores el juego funcionaba más rápido o en otros más lentos. Actualmente los loops cumplen un tiempo determinado con una función de timer.




var personaje;
var vida = 5;
 do{
 personaje.x = personaje.x + 1;
 vida = vida-1;
 }while(vida = 0)


    Este es un pequeño algoritmo de loop la cual hace que el personaje se mueva en forma horizontal y cuando la vida sea igual a cero este loop termina, La lógica del loop puede ser aplicado para cualquier lenguaje de programación solo se debe investigar ciertas funciones básicas como: timer(loop(),1000) = función que permita manejar un tiempo para un determinado ciclo. colision(), hittest() = función que permita colisionar(tocar) un objeto con otro. funciones de posicionamiento x,y = muchos lenguajes manejan la posición de objetos con coordenadas x,y o z(en 3d). boton event() = función que permita detectar un botón presionado. Pues una vez entendiendo esos conceptos, la programación de videojuegos es más fácil. En distintos tutoriales el Loop se le llama actualizar(), es lo mismo , una función que pueda actualizarse en un determinado tiempo.