• Software 21.10.2019 Comentarios desactivados

    Por fin empiezan a verse los primeros pasos de la última versión de Android en los modelos anteriores de OnePlus. Esta vez le toca al OnePlus 6 y 6T recibir la beta abierta. Si quieres probarlo antes que nadie debes tener como mínimo 3 GB de espacio en la memoria y la batería por encima del 30%, todo ello para no tener problemas con la instalación.

    OnePlus 6T

    Si quieres ver qué lleva la última versión puedes echar un ojo al artículo que escribí hace tiempo sobre Android 10. Para estos dispositivos los cambios son los siguientes:

    • Android 10
    • Nuevo diseño de la interfaz general.
    • Mejora de los permisos de localización para preservar tu privacidad.
    • Ahora puedes deslizar desde los extremos hacia dentro de la pantalla para ir hacia atrás.
    • Espacio de juegos donde podrás encontrar todos los títulos descargados y controlar tu experiencia de juego.
    • Mejora del Ambient Display con datos e información inteligente.
    • Ahora es posible bloquear spam entrante en los mensajes desde el menú de ajustes de la propia aplicación.
    OnePlus Android 10 Rollout Schedule
    Calendario de actualizaciones oficial

    Esta versión beta no debería ir mal, aunque si prefieres esperar tendrás la nueva versión estable en unas semanas. Para enterarte de todas las novedades puedes consultar el foro español oficial aquí.

  • Software 21.10.2019 Comentarios desactivados

    Para hacer un Overclock a nuestra tarjeta gráfica de forma segura con MSI Afterburner.

    Lo podremos descargar en su ultima versión en Guru3D.com o en la pagina de MSI

    Primero nos dirigimos a ajustes y en general marcaremos las casillas; desbloquear control de voltaje y Desbloquear monitorización de voltaje.

    Seguidamente, debemos configurar las barras de:Voltaje del núcleo, Límite de potencia y Límite de temperatura completamente a la derecha.  Y aplicaremos los cambios (aun no pasara nada).

    Después hacemos clic en el botón a la izquierda del texto “Core Clock (MHz)”, en la ventana que se nos abre llamada “Voltage/Frequency curve editor” hacemos clic en “OS Scanner”.

    Se nos abrirá una nueva ventana llamada “MSI OverClocking Scanner”, hacemos clic en “scan” para comenzar el proceso de escaneo, este consta de 4 partes, en las que probara varios voltajes y la estabilidad del sistema. Tardara entre 15 min y 20 min

    Una vez termine el proceso de escaneo iniciaremos el test. Tarda entre 5 o 10 min

    Cuando termine veremos la fiabilidad o la estabilidad del sistema con el overclock, en este caso es del 90% lo que esta muy bien y es lo que esperábamos, ademas veremos que aumentamos la frecuencia 125MHz

    Ahora que hemos terminado aplicamos los cambios y guardarnos la configuración en un perfil.

    Para mas información visita este post de MSI.

  • Software 20.10.2019 Comentarios desactivados

    El desarrollo de videojuegos no es una tarea sencilla, mucho menos si quieres hacer un juego AAA(los grandes títulos que todos conocemos). Dentro de los juegos más jugados del momento siempre ha habido algún juego mundo abierto (sandbox) como puede ser “Grand Theft Auto”. Hace unos años se pusieron bastante de moda destacando “GTA: V”, “Far Cry 5“, “Dying Light“, “The Witcher 3: Wild Hunt“, “The Division“, “Watch Dogs 2” y “Red Dead Redemption 2“.

    Todos ellos son grandes obras de ingeniería del Software, pero, ¿cómo lo hace? Bueno voy a intentar explicarlo de forma simple y con la poca información que hay sobre estos grandes trabajos.

    El motor gráfico y de físicas

    Existen muchos motores gráficos en el mercado, algunos gratis como puede ser Unity y Unreal Engine, y otros de pago. Pero Rockstar utiliza una herramienta propia llamada RAGE (Rockstar Advanced Game Engine). Si quieres utilizarlo, necesitas autorización de Rockstar para obtener una licencia, una tarea bastante difícil. Fue desarrollado en 2006 para ayudar a la implementación de juegos para PC y consolas como PS3 y Xbox 360.

    Imagen Read Dead Redemption 2

    El motor también contiene herramientas externas para potenciar las animaciones, con Morpheme With Euphoria, para las físicas, utilizan la libreria Open Source Bullet para simular colisiones, deformación de objetos de escenarios o personajes.

    Además se necesitan herramientas de modelado 3D y de ilustración. Entre las más usadas destacan Zbrush, Maya, Blender, para el modelado, y Photoshop, Sketchbook Pro e Illustrator para los diseños e ilustraciones.

    Para la programación se desconoce concretamente el IDE(Integrated Development Environment) que se usa ya que utilizan su propio SDK (kit de desarrollo de software), pero posiblemente utilicen algunos como Eclipse, Visual o IntelliJ para hacer scprits o para el backend.

    Para organizar todo el desarrollo, como en cualquier proyecto de Software, es imprescindible un gestor de tareas para organizar los trabajos, entregas y necesidades de cada parte del proyecto. Seguramente utilizaran un gestor de tares como es Jira.

    La programación

    No se sabe con seguridad el lenguaje utilizado durante el desarrollo, pero posiblemente se ha combinado C#, C++, Java, Ruby On Rails y Python para la creación del código. Esta se divide en distintas áreas, dependiendo de las necesidades del proyecto. En un sandbox se necesita lo siguiente:

    • Programadores de herramientas: estos son los encargados de mantener actualizado el motor y las distintas herramientas usadas en el desarrollo del juego. Este perfil es necesario si se utiliza un motor propio principalmente, si utilizas uno de código abierto normalmente no, ya que existen frameworks predefinidos y que se actualizan periódicamente.
    • Programador de gameplay: es el encargado de implementar las físicas, las animaciones y combinar las Inteligencias Artificiales con el manejo de personaje y cámaras. Es muy importante, por no decir imprescindible, tener grandes conocimientos matemáticos y de algoritmia.
    • Programadores de Inteligencia Artificial(IA): es un perfil de programador que esta de moda últimamente. En los vídeo-juegos se utilizan para predecir los movimientos y anticipar acciones de los personajes que hay por el mapa. Este trabajo es simultaneo con la programación del gameplay para dar una mejor experiencia de juego.
    • Programadores gráficos: Se encargan de desarrollar los gráficos 3D de los objetos y, actualmente, los encargados de adaptar el juego al RayTracing.
    Raytracing en GTA V
    • Programadores de redes, backend y seguridad: implementan los aspectos del online, de la seguridad de las cuentas y del diseño de la arquitectura de servidores. Esta arquitectura es muy importante, ya que dan soporte a millones de jugadores simultáneos. Se encargan de mantener los servidores activos y con una estabilidad suficiente para la capacidad que tienen.
    • Programadores de QA: se encargan de desarrollas las pruebas de rendimiento, la integración de todas las “piezas” desarrolladas y su ejecución. Y por supuesto crean miles de tests que prueben cada parte del juego, para minimizar errores.

    El mapa

    Los mapas de los juegos sandbox destacan por su extensión, suelen tener extensiones desde unos 36 kilómetros cuadrados de “GTA San Andreas” hasta los 1000 kilómetros cuadrados de “Just Cause 2”, si 1000. A mi parecer demasiada extensión es un problema serio, ya que tienes que rellenarlo de alguna forma, con fauna, poblados, vegetación, etc. En “Just Cause 2” veíamos este problema, era un paraíso inmenso pero carecía de vida.

    Comparación mapas GTA San Andres, GTA V y Just Cause 2

    El coste de un juego así

    Como es de imaginar no es nada barato desarrollar un videojuego, solemos hablar de varios millones de dolares para casi cualquier AAA, pero Rockstar lleva estas inversiones a otro nivel. Sus dos sandbox actuales son los dos juegos más caros hasta la fecha, alcanzando 265 millones de dolares invertidos en “GTA V” y entre 500 y 900 millones de dolares en “Read Dead Redemption 2”.Estos elevados presupuestos se deben a sus largos periodos de desarrollo y al coste tecnológico del material utilizado. Estamos hablando de entre 7 y 8 años de desarrollo con miles de trabajadores a cargo.

    +

    Claro esta que toda esa inversión ha sido recuperada con creces. “GTA V” ha superado las 100 millones de unidades vendidas y se aproximan unos beneficios de diez mil millones de dolares. El titulo ambientado en el viejo oeste por su parte en febrero de este año ya recupero toda su inversión y ganó unos 350 millones de dolares. Estas cantidades crecen diariamente y se espera que aumente mucho más con la salida del titulo en PC.

    ¿GTA VI?

    No se puede hablar de la saga GTA y de la compañía Rockstar sin intentar arrojar algo de luz sobre esa gran incognita que es la salida de GTA VI.

    Decir a ciencia cierta una fecha es complicado, pero si se puede hacer una pequeña estimación basandose en el método que utilizan, sus anteriores desarrollos y las nuevas tecnologías.

    La llegada de la nueva generación de consolas es a finales de 2020. Si vemos la campaña de marketing empleada con la salida de GTA V nos damos cuenta de que se empezaron a mostrar trailers casi dos años antes de su salida. Entonces, ¿por qué aun no hemos visto nada del juego si la nueva generación esta a un año de su salida?

    La respuesta puede ser que Rockstar no ha recibido pronto el kit de desarrollo de la nueva generación de consolas y no tiene sentido lanzar un nuevo título justo antes del cambio de generación, ya que se espera que los usuarios migren a las nuevas consolas. Otro factor importante es el desarrollo de Read Dead Redemption 2 y su salida en PC durante este año. Además, no hace tanto lanzaron una nueva actualización para GTA 5 donde introdujeron casinos y nuevas misiones ,mientras sigan sacando partido al juego o no vean una decaída pueden retrasar el lanzamiento e ir perfeccionando aspectos .

    Según mi parecer, Rockstar va a esperar a mediados de 2021 para lanzar la siguiente entrega de GTA debido a lo siguiente:

    1. Se están recuperando del desarrollo del titulo del salvaje oeste.
    2. Tienen que adaptar todo lo trabajado en estos 6 años para el nuevo kit de desarrollo.
    3. Aún están sacando efectivo de GTA V.

    Posiblemente, empecemos a ver trailers de GTA VI durante el primer trimestre de 2020. Sea cuando sea, se espera una calidad visual superior a Read Dead y posiblemente estemos frente a uno de los mayores proyectos de la historia de los videojuegos.

  • Software 19.10.2019 Comentarios desactivados

    Introducción

    En los últimos años los lenguajes de programación han ido evolucionado en el desarrollo de sistemas o software,
    con el objetivo principal de facilitar al usuario las actividades que
    realiza día con día; por tal motivo, como programador, es importante
    conocer los conceptos básicos de programación, los tipos de lenguajes
    que se utilizan para el desarrollo y su funcionamiento para la
    interpretación de algoritmos, así como para dar solución a los problemas
    que pudieran presentarse.

    Pantalla de computadora

    Código de programación HTML

    El estudio de este tema te permitirá:

    Ubicar los principales lenguajes de programación útiles para el desarrollo de sistemas o software,
    a partir de su clasificación y componentes, para su implementación, así
    como para la solución de problemas que pueden presentarse al momento de
    la programación.

    Definición

    En términos generales, un lenguaje de programación es una herramienta que permite desarrollar software
    o programas para computadora. Los lenguajes de programación son
    empleados para diseñar e implementar programas encargados de definir y
    administrar el comportamiento de los dispositivos físicos y lógicos de
    una computadora. Lo anterior se logra mediante la creación e
    implementación de algoritmos de precisión que se utilizan como una forma
    de comunicación humana con la computadora.

    A grandes rasgos, un lenguaje de
    programación se conforma de una serie de símbolos y reglas de sintaxis y
    semántica que definen la estructura principal del lenguaje y le dan un
    significado a sus elementos y expresiones.

    Programación es el proceso de análisis,
    diseño, implementación, prueba y depuración de un algoritmo, a partir de
    un lenguaje que compila y genera un código fuente ejecutado en la
    computadora.

    La función principal de los lenguajes de
    programación es escribir programas que permiten la comunicación
    usuario-máquina. Unos programas especiales (compiladores o intérpretes)
    convierten las instrucciones escritas en código fuente, en instrucciones
    escritas en lenguaje máquina (0 y 1).

    Los intérpretes leen la instrucción línea por línea y obtienen el código máquina correspondiente.

    En cuanto a los compiladores, traducen los
    símbolos de un lenguaje de programación a su equivalencia escrito en
    lenguaje máquina (proceso conocido como compilar). Por último, se
    obtiene un programa ejecutable.

    Para entender mejor la forma como se
    estructura un lenguaje de programación, observa la siguiente imagen (en
    este apunte se utilizará el lenguaje C).

    En particular, este lenguaje está
    caracterizado por ser de uso general, de sintaxis compacta y portable.
    Así, un lenguaje de programación es una herramienta informática que
    permite desarrollar programas para computadoras.

    Esquema sobre características del lenguaje C