LPC es un lenguaje de programación de computadoras que se usa principalmente en juegos, pero que también tiene aplicaciones en otros entornos, quizás más notablemente como base para el lenguaje Pike. Fue desarrollado por el informático sueco Lars Pensjö, y de ahí proviene la parte “LP” del nombre. La «C» proviene del lenguaje C, del cual se derivó. C es uno de los lenguajes de programación más comunes, y en su parte posterior se han construido muchas plataformas y programas diferentes. Pensjö creó su programa, al menos en parte, como una forma de crear objetos y planos de manera más efectiva en mazmorras multiusuario (MUD), que son una faceta de varias plataformas de juegos en línea. Una de las características más definitorias de este lenguaje es que permite a los jugadores escribir comandos con una redacción más o menos natural, y varias plataformas de juegos diferentes hacen uso de su sintaxis y especificaciones centrales. Aunque tiende a ser más popular dentro de la comunidad de jugadores, también ha encontrado una serie de usos en otras partes del mundo de la codificación de código abierto.
Inicio y propósito original
Los MUD son partes populares de un par de plataformas de juegos en línea convencionales diferentes. Los jugadores de cualquier parte del mundo, es decir, cualquier lugar con conexión a Internet, pueden reunirse, generalmente en la persona de un avatar, e intercambiar información, pelear o crear objetos entre ellos a través de controles codificados. Cualquiera que juegue a un juego multiusuario como este normalmente necesita al menos un conocimiento básico de la sintaxis de codificación y comandos para poder participar. El formato más simple basado en C fue diseñado principalmente para hacer que esa parte del juego sea más accesible.
Sintaxis Básica
La sintaxis básica de cualquier lenguaje de codificación es el sistema utilizado para generar analizadores léxicos y sintácticos. En términos más simples, son los aspectos básicos de cómo se ejecuta la codificación, se escribe y es recibida por los hosts. En la mayoría de los aspectos clave, LPC refleja el lenguaje C, pero no tiene variables fuertemente tipadas. Esto permite que se utilice para crear objetos en lugar de elementos. En un entorno de mazmorra, por ejemplo, las habitaciones, las armas, los monstruos y las armaduras son objetos. El lenguaje de programación permite a los usuarios crear, modificar, eliminar y reproducir estos objetos en casi cualquier forma que elijan.
Especificaciones de programación
En general, el lenguaje admite muchos tipos diferentes de programación, incluidos procedimientos, modulares, estructurados, orientados a objetos, datos definidos y variables débiles, lo que lo convierte en un lenguaje informático completo y que lo abarca todo. Una característica clave del diseño de Pensjö es su relativa resistencia a los errores de programación comunes de los creadores de contenido. La estabilidad general de un servidor casi siempre se mejora con este lenguaje en uso, lo que puede permitir a los nuevos programadores concentrarse en la tarea de construir cosas en lugar de consumirse con la lógica de programación en sí.
Papel de los planos
Aunque casi todo es un objeto en LPC, no usa el concepto de clases. En cambio, un objeto en esta configuración es un objeto de plano o un clon de un objeto de plano; aunque técnicamente son diferentes de una clase, estos planos a menudo se pueden tratar de la misma manera. Se puede acceder a todos los atributos y métodos en los niveles de instancia y clase en este lenguaje, lo que no siempre es el caso en otros lenguajes orientados a objetos que permiten que se limiten a clases e instancias.
Relación de objetos con el archivo central
En el código LPC, los objetos comunes se definen en archivos centralizados. A medida que se crean diferentes “salas” de juego, heredan objetos del archivo central y, en consecuencia, un cambio en ese archivo también afectará a cada fragmento de código donde se use ese objeto. Esto evita la necesidad de codificar cada uno de esos objetos en cada ubicación, lo que hace que el código sea más fácil de escribir y mantener. Esta centralización no es única, pero es parte de lo que hace posible crear juegos complicados con este lenguaje de programación.
Flexibilidad y otros usos
La flexibilidad del código en su conjunto ha llevado a que se utilice para una variedad de propósitos además de para la creación del juego MUD. Los usos de amplio alcance incluyen la creación del lenguaje de programación Pike, que se basa casi en su totalidad en el modelo de Pensjö. Pike se usa ampliamente para aplicaciones multimedia, tareas de administración de sistemas y servidores de Internet.