domingo, 6 de febrero de 2022

Cómo empezar a programar en JavaScript

Comencemos respondiendo la siguiente pregunta: si podemos usar HTML para construir la estructura de una página web y CSS para que se vea bonita, ¿por qué necesitamos JavaScript?

La respuesta es que técnicamente no lo hacemos. Si estamos contentos con un sitio estático que se sienta allí y se ve bonito, estamos listos para usar solo HTML y CSS.

La palabra clave aquí es "estático". Sin embargo, si queremos agregar funciones dinámicas a nuestras páginas web, como cambiar el contenido e interacciones de usuario más complejas, necesitamos usar JavaScript.

¿Qué es JavaScript?


Entonces, ¿qué es exactamente JavaScript? JavaScript es un lenguaje de programación creado específicamente para sitios web e Internet. Como mencionamos en la sección 2, la mayoría de los lenguajes de programación se compilan o interpretan, y los programas generalmente se ejecutan de manera independiente.

JavaScript es algo único a este respecto, ya que fue diseñado para ejecutarse directamente dentro de los navegadores web. Nos permite escribir código que representa conjuntos de acciones que se ejecutarán en nuestras páginas web para hacer que nuestros sitios sean mucho más dinámicos.

Puede escribir código JavaScript en archivos de texto nombrados con una .jsextensión o dentro <script>de etiquetas directamente en el HTML.

Durante muchos años, el código JavaScript estuvo principalmente relegado a ejecutarse dentro de los navegadores web. Pero el proyecto Node.js cambió este paradigma al crear un entorno de JavaScript independiente que podía ejecutarse en cualquier lugar.

En lugar de quedar atrapado en un navegador (es decir, del lado del cliente), Node.js se puede instalar localmente en cualquier computadora para permitir el desarrollo y la ejecución de código JavaScript. También puede instalar Node en servidores web, lo que le permite usar JavaScript como código de back-end para aplicaciones en lugar de simplemente como código de front-end del navegador web.

Ahora que hemos cubierto algunos antecedentes, profundicemos en algunos conceptos básicos del lenguaje JavaScript.

Variables y asignación en JavaScript

Las variables posiblemente representan el concepto más fundamental en la programación. Una variable es simplemente un nombre o marcador de posición que se utiliza para hacer referencia a un valor particular.

La palabra variable implica que el valor almacenado puede cambiar a lo largo de la ejecución del programa.

Puede usar variables para almacenar números, cadenas de caracteres de texto, listas y otras estructuras de datos de las que hablaremos más en un minuto.

Todos los lenguajes de programación usan variables, pero la sintaxis varía entre los diferentes lenguajes.

Las variables son útiles ya que podemos hacer referencia a sus valores a lo largo de nuestro código. Esto nos permite verificar sus valores según sea necesario y realizar diferentes acciones dependiendo de cómo cambie el valor de la variable.

En JavaScript, declaramos variables usando la letpalabra clave, así: let x;.

Esto declara x como una variable que podemos usar en nuestro código. Tenga en cuenta que agregamos un punto y coma al final de la línea. En JavaScript (y muchos otros lenguajes) se utilizan puntos y comas para especificar el final de cada instrucción de código.

Ahora que hemos creado la variable x , podemos asignarle un valor usando el signo igual, también llamado operador de asignación :x = 10;

Aquí asignamos el número 10 a la variable llamada x . Ahora, cada vez que usemos x en nuestro código, se sustituirá el valor 10.

Tanto la declaración como la asignación de variables se pueden hacer en una línea de la siguiente manera:

let x = 10;

Tipos de datos en JavaScript

En la última sección, almacenamos un valor entero (número entero) en la variable llamada x . También puede almacenar números decimales o números de punto flotante como se conocen. Por ejemplo, podríamos escribir: let x = 6.6;.

Los diferentes tipos de valores que podemos almacenar en las variables se denominan tipos de datos . Hasta ahora solo hemos visto tipos de datos numéricos (enteros y números de punto flotante), pero solo estamos arañando la superficie. También podemos almacenar datos de texto en variables.

En la terminología de codificación, un fragmento de texto se denomina cadena . Podemos almacenar un valor de cadena en nuestra variable x rodeándolo con comillas simples o dobles:

let x = 'Hello there!';

let y = "Hey bud!";

El siguiente tipo de datos que discutiremos es el booleano . Un valor booleano solo puede contener uno de dos valores, trueo false, y deben estar todos en minúsculas. En JavaScript, verdadero y falso son dos palabras clave que se usan específicamente como valores para variables booleanas:

let x = true;

let y = false;

Tenga en cuenta que los valores truey falseno aparecen entre comillas como lo hacen las cadenas. Si los encerramos entre comillas, los valores serían cadenas, no booleanos.

A menudo usamos booleanos para controlar el flujo de programas en sentencias condicionales (if/else) sobre las que aprenderemos a continuación.

Declaraciones de control de flujo de programa en JavaScript

Ahora que comprendemos las variables y los tipos de datos básicos de JavaScript, echemos un vistazo a algunas cosas que podemos hacer con ellas.

Las variables no son tan útiles sin poder decirle a nuestro código que haga algo con ellas. Podemos hacer que nuestras variables hagan cosas usando sentencias .

Las declaraciones son palabras clave especiales que nos permiten realizar alguna acción en nuestro código, a menudo en función del valor de una variable que hemos definido. Las declaraciones nos permiten definir el flujo lógico de nuestros programas, así como realizar muchas acciones útiles que dictarán cómo funcionan nuestros programas.

Declaración si / si no

La primera declaración que discutiremos es la ifdeclaración. La ifdeclaración nos permite realizar alguna acción solo cuando una condición deseada es verdadera. Así es como funciona:

let x = 10;

if ( x > 5 ) {

    console.log('X is GREATER than 5!');

} else {

    console.log('X is NOT GREATER than 5!');

}

Definimos una variable llamada x y establecemos su valor en 10. Luego viene nuestra ifdeclaración. Después de la palabra clave if, tenemos un conjunto de paréntesis que contiene la condición a evaluar, en este caso, x > 5. Acabamos de definir x igual a 10, por lo que sabemos que esta condición es verdadera en este ejemplo.

Dado que la condición entre paréntesis es verdadera, el código entre las llaves se ejecutará y veremos la cadena "¡X es MAYOR que 5!" impreso en la pantalla. (No discutimos el significado de console.log(), así que por ahora solo sepa que imprime el valor entre paréntesis en la pantalla).

En el mismo ejemplo, también incluimos una elsedeclaración. Esto nos permite ejecutar código específico en caso de que la condición en la condición sea false.

Mientras bucles

El siguiente tipo de declaración que discutiremos es el ciclo while . Los bucles nos permiten repetir un bloque de código tantas veces como queramos, sin tener que copiar y pegar el código una y otra vez.

Por ejemplo, supongamos que necesitamos imprimir una oración en la pantalla 5 veces. Podríamos hacerlo así:

console.log('This is a very important message!');

console.log('This is a very important message!');

console.log('This is a very important message!');

console.log('This is a very important message!');

console.log('This is a very important message!');

Esto funciona bien para solo 5 mensajes, pero ¿qué pasa con 100 o 1000? Necesitamos una mejor manera de repetir fragmentos de código varias veces, y los bucles nos permiten hacer esto. En la terminología de codificación, la repetición de un fragmento de código varias veces se denomina iteración.

Este siguiente whileciclo continuará ejecutando el bloque de código dentro de él mientras la condición especificada se mantenga verdadera:

let x = 1;

while ( x <= 100 ) {    

    console.log('This is a very important message!');    

    x = x + 1;    

}

En este ejemplo, inicializamos x al valor de 1. Luego escribimos un whileciclo. Similar a la ifdeclaración, agregamos una condición entre paréntesis. En este caso la condición es x <= 100. Esta condición será truesiempre que x sea ​​menor o igual a 100.

A continuación especificamos el bloque de código a ejecutar entre llaves. Primero, imprimimos nuestro mensaje a la consola. Luego incrementamos x en 1.

En este punto, el ciclo intenta volver a evaluar la condición para ver si todavía es true. La variable x ahora tiene un valor de 2 ya que se incrementó en la primera ejecución del ciclo. La condición sigue siendo trueya que 2 es menor que 100.

El código en el ciclo se repite hasta que x se incrementa al valor de 101. En este punto, x es mayor que 100, por lo que la condición ahora es false, y el código en el ciclo deja de ejecutarse.

La etiqueta HTML <script>

Ahora que hemos introducido JavaScript, analicemos cómo agregar archivos de código JavaScript en una página HTML. Podemos hacer esto usando una etiqueta HTML que aún no hemos discutido: la <script>etiqueta.

Esto es similar al <link>elemento que usamos para agregar archivos CSS a nuestro HTML, excepto que el <script>elemento es específicamente para JavaScript.

Digamos que guardamos uno de los ejemplos anteriores de JavaScript que discutimos en un archivo llamado customscript.jsen la misma carpeta que nuestro archivo HTML. Podemos agregar este archivo JavaScript a nuestro HTML agregando la siguiente etiqueta HTML en la <head>...</head>sección de nuestro HTML:

<script type="text/javascript" src="customscript.js"></script>

Esto cargará el código JavaScript del archivo, que se ejecutará cuando la página web se muestre en el navegador.

lunes, 20 de diciembre de 2021

Little Big Adventure: el juego que marcó una época

Little Big Adventure fue uno de los primeros juegos de PC que tuve la oportunidad de jugar, fugazmente, mientras mi padre miraba alrededor del mundo de la PC cuando era más joven. No tenía idea de lo que estaba haciendo, y lo jugué durante aproximadamente 2 minutos en total, por lo que es un testimonio del estilo visual único del juego que recordé mi pequeña prueba de juego cuando me topé con el juego casi media década después.


LBA es una aventura de acción con el énfasis puesto por una vez en la "aventura". La historia gira en torno al protagonista del juego, Twinsen, mientras lucha contra la opresión del dictador planetario Dr. Funfrock, que ha convertido al mundo entero en un estado policial. Suena como la configuración de un juego bastante oscuro, pero la presentación general del juego es brillante y colorida, y se parece más a algo de Richard Scarry que a George Orwell.

Interactuar con personas y objetos y hacer un buen inventario de rompecabezas a la antigua iban de la mano con elementos de plataforma y secuencias de acción increíblemente frustrantes, pero la forma en que se controlaba el juego era lo más singular.

Usando cuatro modos diferentes, el protagonista Twinsen respondería de manera diferente al mismo conjunto de controles. 

Lo que podría haber sido un sistema de control desastroso y complicado le dio al juego una mayor profundidad a medida que descubría la mejor manera de abordar una situación. El propio Twinsen es bastante débil, y combinado con el hecho de que tu arma principal es esencialmente una pelota que rebota, el juego se trataba tanto de permanecer fuera del combate como de abrirte camino.

Sin embargo, la alegría de Little Big Adventure no está en los controles o el combate, sino en los hermosos y fluidos detalles de los entornos del juego, en la divertida actuación de voz y en el conocimiento de que estás jugando un juego sobre la opresión brutal.

Quizás te interese más sobre la historia de Adeline Software, sus creadores.

lunes, 24 de septiembre de 2018

Little Big Adventure 2

Debo admitir que estaba nervioso por regresar a Little Big Adventure 2 (también conocida como la Odisea de Twinsen). En su mayor parte, los juegos de mis años formativos se han mantenido, pero LBA2 es diferente: nunca encontró su lugar en el PC canon. Es un nicho, una aventura de culto, intensamente amada por un grupo de personas que, por lo que sé, estaban igualmente engañadas. Cuando se despoja de la manta reconfortante de la nostalgia, es probable que sea basura.



Bueno, sí, un poco. Little Big Adventure 2 no ha envejecido bien, y algunas de sus ideas deben haber sido cuestionables, incluso cuando fue lanzado en 1997. También está claro de inmediato por qué es querido. Es una aventura de payasadas con mucho corazón. A pesar de toda la tontería y el peligro, también hay una gran vena de positividad en todo momento. Es tan entrañable como no pulido.

La historia de LBA 2 es un seguimiento directo de su predecesor de 1994. En Little Big Adventure, el protagonista Twinsen tuvo la tarea de poner fin al malvado dictador Dr. Funfrock y su ejército de clones de elefantes. Lo hizo viajando por el planeta Twinsun (tiene dos soles) lanzando una bola mágica y diciendo "¿cómo va todo?" A todos los que conoció. Solo esta visión general básica debería dar una idea de las excentricidades de la serie, desde el determinismo nominativo de Twinsen como el héroe de Twinsun hasta la población antropomórfica del planeta. Además, eso es gobernado por un hombre llamado Funfrock. Es todo muy, muy francés.

Para el comienzo de Little Big Adventure 2, Twinsen se establece como el héroe de un mundo que aparentemente no necesita ser salvado. Su túnica ceremonial y su medallón mágico están prestados al museo local. La introducción recorre las habitaciones de su casa, mostrando imágenes de su aventura anterior antes de pasar a la guardería a medio construir que anuncia el embarazo de su novia Zoe. Con su ritmo sereno, lento y obsesivo musical, el momento solo lo arruina el propio Twinsen: su voz temeraria y discordante baja el tono establecido.

La voz en inglés es débil, un puñado de personas que representan caricaturas caricaturescas y límites a los estereotipos ofensivos. Le da al juego una pista equivocada de los shows de variedades de los primeros años 90. Fuera de lugar porque, a pesar de sus extravagantes personajes y de los enemigos de Looney Tunes (uno es un extraterrestre en una papelera, que pone los pies en el suelo y las patadas), no se siente particularmente infantil.


Es difícil imaginar al público objetivo de LBA2, porque se siente tan amplio. El manual tiene una oportunidad, explicando qué desarrollador Adeline pretendía. "En pocas palabras", afirma, "hemos tratado de crear un entorno realista en un estilo cartoonés". Yo debatiría sobre "realismo", pero hay muchos momentos en los que la payasada se desvanece. Al final de la primera misión, Twinsen y su novia caminan cogidos del brazo a lo largo de Citadel Island. Es un pequeño evento encantador. Son raros los juegos que podrían describirse como dulces. Para toda la acción y el desconcierto, LBA2 funciona mejor cuando está siendo agradable.

Poco después de esto, aparecen los alienígenas. La apertura de LBA2 es bastante tranquila: tus únicos problemas son una tormenta y una mascota de dinosaurio volando herida llamada Dino-Fly. Twinsen debe despejar la tormenta rescatando a un farero. Es esto lo que desencadena la invasión alienígena. Abrazan la paz y la amistad, pero muy pronto los hechiceros y los niños del planeta desaparecen en circunstancias misteriosas y claramente extraterrestres.

Una de las cosas más extrañas acerca de la campaña es lo cargado que está. Gran parte de la búsqueda inicial gira en torno a recolectar cosas y completar tareas en Citadel y Desert Island. Constantemente saltas de ida y vuelta entre los dos rumbo a Desert Island para encontrar la academia de hechiceros, a Citadel Island para arreglar tu coche, y luego de vuelta a Desert Island para saltar ese coche sobre un acantilado (los magos lo requieren como un condición para unirse a su orden, a pesar de que los trucos del automóvil no son intrínsecamente mágicos). Twinsen viaja varias veces en los primeros dos actos, solo un breve viaje al planeta Zeelich rompiendo la monotonía.


Su interfaz de usuario y controles residen en esa incómoda etapa de los 90 antes de que las reglas se formalizaran adecuadamente. Es muy parecido a los trucos de videojuegos.

Durante la segunda mitad, las cosas se vuelven más emocionantes. A pesar de que más de la mitad del juego se desarrolla en Twinsun, el mundo alienígena del acto final del juego ofrece muchos más lugares. Es un lugar extraño y misterioso, supuestamente maldecido por un dios desfigurado llamado Dark Monk. Existe en dos niveles, las islas del planeta propiamente dicho, y la parte inferior debajo de nubes de gas infestadas de monstruos.

Mecánicamente, LBA2 es torpe. Su interfaz de usuario y controles residen en esa incómoda etapa de los 90 antes de que las reglas se formalizaran adecuadamente. Hay cuatro posturas de estado de ánimo, sin incluir las específicas del elemento, y tienes que cambiarlas manualmente para hacer cosas como correr, saltar, escabullirse o luchar. Es extraño, pero me gusta. Es molesto tener que cambiar del modo Normal al deportivo para saltar un espacio, pero al mismo tiempo, Adeline imbuyó a cada modo con una gran personalidad. Mientras está inactivo en el modo deportivo, Twinsen se ejecuta en el lugar y toma respiraciones cortas y agudas. En el modo Agresivo, se tambalea como un borracho que se ensució a sí mismo, gruñendo maniáticamente de una manera que suena menos amenazante que el estreñimiento.

El mayor problema es el control del tanque. El círculo de giro de Twinsen es espantoso, lo que duele cuando tu ataque principal es tan geométrico. Twinsen está armado con una pelota mágica que rebota, porque su vida es ridícula. Pero apuntarlo a los niveles interiores isométricos es una pesadilla. La mayoría de las veces, perderás tu objetivo varias veces antes de aterrizar el golpe. Es más fácil en exteriores, donde LBA2 te permite actualizar la cámara detrás de la cabeza de Twinsen, lo que hace posible alinear saltos y ataques.

No quiero centrarme demasiado en las fallas, pero son inevitables, y me hizo más evidente el hecho de que mi memoria defectuosa y envejecida lo había etiquetado como un juego casi perfecto. Al mismo tiempo, está claro por qué LBA2 es un clásico de culto. Es ridículamente encantador, hasta el punto en que es imposible no empezar a divertirse. Me reí a carcajadas ante la resignación gruñona de un camello que encontré. Cuando se le preguntó dónde estaba un determinado edificio, respondió, sin rodeos, con la frase: "No conozco a Twinsen, no vivo aquí. Solo me importaron ". Escrito, no es particularmente divertido. Pero en el juego, es difícil no entrar en el espíritu.

Si hay una lección que aprender, es que los juegos no tienen que ser serios para crecer. La segunda aventura de Twinsen es un jugueteo estrafalario y fantástico. Es tonto de muchas maneras diferentes. Pero mientras guiaba a su novia embarazada a través de una ciudad lluviosa y pintoresca, me di cuenta de cuán pocos juegos se molestan con representaciones tan matizadas de las alegrías más tranquilas de la vida.

Thanks Trucos de videojuegos

Little Big Adventure


Ha pasado mucho tiempo desde que escuchamos a Little Big Adventure. Creado por Frederick Raynal después de ser pionero en el género de terror y supervivencia con Alone in the Dark, fue una aventura extensa y ambiciosa, que se entendía como la obra maestra de Raynal. Junto con su secuela de 1997, ofreció una visión convincente de los juegos de acción y aventura para una tercera dimensión naciente, y para aquellos que lo recuerdan, es considerado como un clásico. Sin embargo, ha pasado mucho tiempo desde entonces, y el nuevo puerto de DotEmu es una sorpresa agradable, pero también se enfrenta a serios desafíos que hacen que un juego de PC viejo y torpe funcione con una simple interfaz táctil.

Adoro este juego cuando fue lanzado originalmente en los EE. UU. Como implacable, pero es difícil no reconocer la antigüedad de algunos aspectos. El diseño de arte, aunque colorido y no exento de cierto encanto naïve, huele a modelado 3D temprano, con personajes simples construidos a partir de primitivas geométricas básicas. La música sigue siendo maravillosa, y las melodías midi han sido renderizadas con una calidad superior a la que la mayoría de nuestras antiguas tarjetas de FM podían reunir, pero la actuación de voz horrible es casi ofensiva. Solo las voces en inglés están disponibles, pero no son muchas las pérdidas, ya que los otros idiomas fueron tan mal interpretados.
Si puede superar estas deficiencias básicas de presentación, todavía hay un juego ambicioso y fascinante aquí. Little Big Adventure sigue a Twinsen, un joven (un Quetch, en realidad, una de las cuatro especies / razas del planeta) que ha estado soñando con la diosa de una religión prohibida, y se encuentra encarcelado por el déspota del planeta, el Dr. Funfrock ( si lo se). Es un precursor obvio de juegos como Beyond Good and Evil, y a pesar de algunas tonterías, es un juego para adultos con un tono mayormente serio.

Mucho se ha hecho para adaptar los controles del juego, y si bien los resultados no son perfectos, los controles originales tampoco fueron los mejores, y se siente como un movimiento lateral. Los torpes controles del tanque se han ido, y en su lugar, un simple sistema de tap-to-travel. Esto funciona muy bien y no parece alterar seriamente la forma en que se juega el juego. Algunos de los otros cambios, sin embargo, exigen un poco más de explicación.
Uno de los principales ganchos de LBA fue su sistema de "comportamiento". Twinsen tenía cuatro tipos diferentes de "comportamiento" que podían cambiarse sobre la marcha: Normal, Deportivo, Agresivo y Sigiloso. Cada uno de estos modos afectaba la forma en que los personajes reaccionarían ante usted y le permitía realizar diferentes tipos de acciones; corriendo y saltando en Deportivo, peleando en Agresivo, y sigilosamente en sigiloso. Para el puerto, DotEmu ha simplificado todos estos, excepto el Stealthy, de modo que cambiarás automáticamente para realizar una acción. Toca dos veces o salta a cualquier parte y cambiarás de forma invisible a deportiva, y luego de vuelta cuando camines a cualquier lugar con un solo toque. Toca dos veces a un enemigo y correrás hacia él y atacará y luchará automáticamente, lo que agilizará enormemente el torpe combate del juego. Sin embargo, todavía hay un interruptor de alternar para hacer furtivamente, por lo que no se modifica. Estos cambios funcionan razonablemente bien, pero los vestigios del antiguo sistema pueden confundir a algunos jugadores nuevos.
Gráficamente, muy poco ha cambiado. Los mismos modelos sin texturas y fondos isométricos de baja resolución aparecen aquí como lo hicieron en el original, sin apenas efectos o mejoras añadidos. No hay ningún intento de enmascarar que este es un juego de casi 20 años, pero sigue siendo funcional. Hay un poco de desplazamiento, donde originalmente el juego no tenía ninguno, pero el cambio más llamativo es la simple capacidad de acercar y alejar con una pizca. En realidad, esto tiene algunas repercusiones reales en el juego, ya que ahora puedes ver mucho más allá de lo que podrías en el juego original.

Por desgracia, el juego hace poco para abordar quizás el defecto más irritante del original, su sistema de salvar. La interfaz de guardado de LBA fue notoriamente torpe e implicó copiar archivos y salir del juego. Este puerto ha eliminado estas tonterías, pero también ha eliminado por completo el sistema de salvar. Ahora estás a merced de los autoguardados del juego, lo que podría estar bien si los puntos guardados no fueran a la vez invisibles y, a veces, demasiado frustrantes. Esto parece especialmente desafortunado en un juego móvil, donde las jugadas breves o las interrupciones son una realidad del medio.
 
Si puede superar esto, LBA sigue siendo una obra maestra de diseño. Tiene un mundo enorme, bastante abierto, lleno de escenarios únicos y variados, muchos de los cuales tienen múltiples enfoques para completar, así como secretos y áreas opcionales para explorar. También es un juego enormemente positivo, y si bien no puedo darte una cuenta exacta de horas, parece a la par con la mayoría de los juegos de rol. Es fácil quedar atrapado en el mundo y la historia de LBA, tal como siempre lo fue, pero la falta de un mejor sistema de guardado o artilugios modernos como un registro / indicador de misiones hace mucho para minar este juego como entretenimiento portátil. Little Big Adventure todavía se disfruta mejor en sesiones largas, tal vez en una tableta, y se toma mejor con una gran dosis de nostalgia. 
 

Historia de Adeline Software

Formado en febrero de 1993 como resultado de desacuerdos creativos entre Infogrames y su equipo de desarrollo Alone in the Dark, Adeline Software International era una filial de Delphine Software International, dirigida por Frédérick Raynal y un equipo pequeño de cuatro personas.
 

Produjeron tres juegos, los dos Little Big Adventures y Time Commando, antes de silenciarlos en 1997. A mediados de ese año, el equipo central fue vendido a Sega, convirtiéndose en el efímero No Cliché y terminando de manera efectiva con esa iteración de Adeline.
Resurrección

En 2002, Delphine, que se tambaleaba financieramente, resucitó el nombre con un nuevo equipo para desarrollar para Game Boy Advance. Lanzaron un proyecto, Moto Racer Advance, y se abrieron paso en el desarrollo de Flashback Legends antes de que se sacara el enchufe en 2003. Delphine murió desangrada un año después, y Adeline lo siguió.

Juegos

  • Little Big Adventure: Enhanced Edition (2015)
  • Moto Racer Advance (2002)
  • Toy Racer (2000)
  • Toy Commander (1999)
  • Twinsen's Odyssey (1997)
  • Time Commando (1996)
  • Relentless: Twinsen's Adventure