Normas y Leyes
Las normas y
leyes para lanzar un videojuego son sencillas y en algunas pueden aplicar
demandas y cárcel para aquel que las rompa o las viole.
1.
Derechos
de Autor (Plagio): El contenido lanzado debe ser original del creador, en caso
de que un autor tercero, vea contenido semejante o plagio en su creación, este
podrá demandar a la empresa por infracción de los derechos de autor.
2.
100%
Legal en el lanzamiento y uso de motor de juego: Los motores de juego permiten
lanzamiento de videojuegos siempre y cuando estén comprados y 100% licenciados
para el uso comercial, en caso de que se evidencie piratería, el motor de juego
adquiere todos los derechos del juego lanzado.
3.
Plataformas:
La plataforma en la que se lanza el juego adquirirá un 1.3% de las ganancias.
Costo.
Basándonos en
las normas y leyes que rigen para crear y lanzar un videojuego, el costo hay
que calcularlo en el valor del motor de juego, ya que lanzarlo a distintas
plataformas es completamente gratis y el costo del material que usas en el
videojuego, ya sean texturas, modelos, etc… Aunque algunos son free.
Esto
equivaldría a un costo de 80$ USD.
Base de datos
Una
base de datos es un “almacén” que nos permite guardar grandes cantidades de
información de forma organizada para que luego podamos encontrar y utilizar
fácilmente. A continuación te presentamos una guía que te explicará el concepto
y características de las bases de datos.
Desde el punto de vista informático, la
base de datos es un sistema formado por un conjunto de datos almacenados en
discos que permiten el acceso directo a ellos y un conjunto de programas que
manipulen ese conjunto de datos.
Cada base de datos se compone de una o
más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas
y filas.
Las columnas guardan una parte de la información sobre cada elemento que
queramos guardar en la tabla, cada fila de la tabla conforma un registro.
Características
Entre
las principales características de los sistemas de base de datos podemos
mencionar:
- Independencia lógica y física de los datos.
- Redundancia mínima.
- Acceso concurrente por parte de múltiples usuarios.
- Integridad de los datos.
- Consultas complejas optimizadas.
- Seguridad de acceso y auditoría.
- Respaldo y recuperación.
- Acceso a través de lenguajes de programación estándar.
Motores de Bases de Datos
MICROSOFT ACCESS
Microsoft
Access es un editor y gestor de bases de datos. Forma parte de Microsoft Office
y te permitirá crear bases de datos con formularios de una manera rápida y
sencilla.
SQLITE
Es
un sistema de gestión de bases de datos relacional compatible con ACID,
contenida en una relativamente pequeña y Libre. biblioteca escrita en C. SQLite
es un proyecto de dominio público creado por D. Richard Hipp.
MYSQL SERVER
Microsoft
SQL Server es un sistema para la gestión de bases de datos producido por
Microsoft basado en el modelo relacional.¢ Microsoft SQL Server constituye la
alternativa de Microsoft a otros potentes sistemas gestores de bases de datos
como son Oracle, PostgreSQL o MySQL.
POSTGRESQL
Es
un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no
es manejado por una empresa y/o persona, sino que es dirigido por una comunidad
de desarrolladores que trabajan de forma desinteresada, libre y/o apoyados por
organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL
Global Development Group).
Framework.
Muchos de
los que nos dedicamos al desarrollo de software utilizamos, conocemos o,
como mínimo, nos hemos tropezado con el concepto de framework (cuya
traducción aproximada sería “marco de trabajo”). En concreto, y por diferentes
motivos, he hecho algún pinito utilizando JavaServer Faces así como en Ruby on Rails.
Sin embargo,
el concepto de framework no es sencillo de definir, a pesar de que
cualquiera con experiencia programando captará su sentido de manera casi
intuitiva, y es muy posible que esté utilizando su propio framework (aunque
no lo llame así).
Siendo
muy simple, es un esquema (un esqueleto, un patrón) para el desarrollo y/o
la implementación de una aplicación. Sí, es una definición muy genérica,
pero también puede serlo un framework: sin ir más lejos, el paradigma
MVC (Model-View-Controller) dice poco más que “separa en tu aplicación la
gestión de los datos, las operaciones, y la presentación”. En el otro extremo,
otros frameworks pueden llegar al detalle de definir los nombres de
ficheros, su estructura, las convenciones de programación, etc.
¿Qué ventajas tiene utilizar un ‘framework’?
Las
que se derivan de utilizar un estándar; entre otras:
- El programador no necesita plantearse una estructura global de la aplicación, sino que el framework le proporciona un esqueleto que hay que “rellenar”.
- Facilita la colaboración. Cualquiera que haya tenido que “pelearse” con el código fuente de otro programador (¡o incluso con el propio, pasado algún tiempo!) sabrá lo difícil que es entenderlo y modificarlo; por tanto, todo lo que sea definir y estandarizar va a ahorrar tiempo y trabajo a los desarrollos colaborativos.
- Es más fácil encontrar herramientas (utilidades, librerías) adaptadas al framework concreto para facilitar el desarrollo.
De acuerdo; pero ¿qué ‘framework’ utilizo?
Buscando
en la red se encuentra mucha información sobre los frameworks existentes
para las diferentes plataformas y lenguajes. Posiblemente uno de sus
principales problemas es que haya demasiados: ya se sabe, lo bueno de los
estándares es que hay muchos para elegir :). Sin embargo, la elección del framework
concreto a utilizar vendrá marcada por:
- El tipo de aplicación a desarrollar
- El lenguaje de programación y otras tecnologías concretas: base de datos, sistema operativo, etc.
Como
introducción a los frameworks, Ruby on Rails me parece una buena opción para
desarrollar una aplicación web y como ejemplo de lo que es un framework.
Dentro del mundo Java, Struts parece uno de los más extendidos.
En conclusión
La
utilización de un framework en el desarrollo de una aplicación implica
un cierto coste inicial de aprendizaje, aunque a largo plazo es probable que
facilite tanto el desarrollo como el mantenimiento.
Programación Orientada a Objetos
La
programación Orientada a objetos (POO) es una forma especial de programar, más
cercana a como expresaríamos las cosas en la vida real que otros tipos de
programación.
Con la POO
tenemos que aprender a pensar las cosas de una manera distinta, para escribir
nuestros programas en términos de objetos, propiedades, métodos y otras cosas
que veremos rápidamente para aclarar conceptos y dar una pequeña base que
permita soltarnos un poco con este tipo de programación.
Clases en POO
Las
clases son declaraciones de objetos, también se podrían definir como
abstracciones de objetos. Esto quiere decir que la definición de un objeto es
la clase. Cuando programamos un objeto y definimos sus características y
funcionalidades en realidad lo que estamos haciendo es programar una clase. En
los ejemplos anteriores en realidad hablábamos de las clases coche o fracción
porque sólo estuvimos definiendo, aunque por encima, sus formas.
Propiedades
en clases
Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.
Métodos en las clases
Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.
Objetos en POO
Los
objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar
tenemos que especificar la clase a partir de la cual se creará. Esta acción de
crear un objeto a partir de una clase se llama instanciar (que viene de una
mala traducción de la palabra instace que en inglés significa ejemplar). Por
ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o
definición de fracción sería la clase, pero cuando ya estamos hablando de una
fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto.
Para
crear un objeto se tiene que escribir una instrucción especial que puede ser
distinta dependiendo el lenguaje de programación que se emplee, pero será algo
parecido a esto.
miCoche = new Coche()
Con
la palabra new especificamos que se tiene que crear una instancia de la clase
que sigue a continuación. Dentro de los paréntesis podríamos colocar parámetros
con los que inicializar el objeto de la clase coche.
Estados en objetos
Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un coche la propiedad color tomará un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado.
Para
acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el
operador punto.
miCoche.color = rojo
El
objeto es miCoche, luego colocamos el operador punto y por último el nombre e
la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el
valor del estado de la propiedad del objeto a rojo con una simple asignación.
Mensajes en
objetos
Un mensaje en un objeto es la acción de efectuar una llamada a un método. Por ejemplo, cuando le decimos a un objeto coche que se ponga en marcha estamos pasándole el mensaje ponte en marcha.
Para
mandar mensajes a los objetos utilizamos el operador punto, seguido del método
que deseamos invocar.
miCoche.ponerseEnMarcha()
En
este ejemplo pasamos el mensaje ponerseEnMarcha(). Hay que colocar paréntesis
igual que cualquier llamada a una función, dentro irían los parámetros.
Otras cosas
Hay
mucho todavía que conocer de la POO ya que sólo hemos hecho referencia a las
cosas más básicas. También existen mecanismos como la herencia y el
polimorfismo que son unas de las posibilidades más potentes de la POO.
La
herencia sirve para crear objetos que incorporen propiedades y métodos de otros
objetos. Así podremos construir unos objetos a partir de otros sin tener que
reescribirlo todo. Puedes encontrar en DesarrolloWeb.com un artículo completo
dedicado a la Herencia.
El
polimorfismo sirve para que no tengamos que preocuparnos sobre lo que estamos
trabajando, y abstraernos para definir un código que sea compatible con objetos
de varios tipos. Puedes acceder a otro artículo para saber más sobre
Polimorfismo.
Son
conceptos avanzados que cuesta explicar en las líneas de ese informe. No hay
que olvidar que existen libros enteros dedicados a la POO y aquí solo
pretendemos dar un repaso a algunas cosas para que os suenen cuando tengáis que
poneros delante de ellas en los lenguajes de programación que debe conocer un
desarrollador del web. Sin embargo, si quieres saber más también puedes
continuar leyendo en DesarrolloWeb.com, en el manual de la teoría de la
Programación orientada a objetos.
Ejemplo concreto de programación orientada a objetos
Para
conseguir un ejemplo concreto de lo que es la programación orientada a objetos,
podemos entrar en el Manual de PHP 5. Realmente este manual explica las
características de orientación a objetos de PHP 5 y ofrece ejemplos concretos
de creación de clases con características como herencia, polimorfismo, etc.
Metodología de la Investigación
Qué es Metodología:
Como metodología se denomina la serie
de métodos y técnicas de rigor científico que se aplican sistemáticamente
durante un proceso de investigación para alcanzar un resultado
teóricamente válido. En este sentido, la metodología funciona como el soporte
conceptual que rige la manera en que aplicamos los procedimientos en una
investigación.
La
palabra, como tal, proviene del griego μέθοδος (méthodos), que significa ‘método’,
y el sufijo -logía, que deriva de λóγος (lógos) y traduce ‘ciencia, estudio,
tratado’. De allí que también sea definida como la ciencia del método.
Podemos
encontrar metodología
en distintas áreas de estudio, como la metodología
didáctica en Educación, o la jurídica en Derecho, del mismo modo como
para la solución de
problemas determinados podemos aplicar una serie de pasos
específicos que, en suma, funcionan como una metodología.
Metodología de la investigación
La
metodología de la
investigación es una disciplina de conocimiento encargada de
elaborar, definir y sistematizar el conjunto de técnicas, métodos y
procedimientos que se deben seguir durante el desarrollo de un proceso de
investigación para la producción de conocimiento.
Orienta
la manera en que vamos a enfocar una investigación y la forma en que vamos a
recolectar, analizar y clasificar los datos, con el objetivo de que nuestros
resultados tengan validez y pertinencia, y cumplan con los estándares de
exigencia científica.
La
metodología de la
investigación, en este sentido, es también la parte de un proyecto de investigación donde
se exponen y describen razonadamente los criterios adoptados en la elección de
la metodología,
sea esta cuantitativa
o cualitativa.
Metodología cuantitativa
La
metodología cuantitativa
es aquella empleada por las ciencias
naturales o fácticas, que se vale de datos cuantificables a
los cuales accede por observación y medición.
Para
su análisis, procede mediante la utilización de las estadísticas, la
identificación de variables y patrones constantes. Su método de razonamiento es
deductivo, para lo cual trabaja con base en una muestra representativa del
universo estudiado.
Metodología cualitativa
La
metodología cualitativa es
aquella empleada para abordar una investigación dentro del campo de las ciencias sociales y humanísticas.
Como
tal, se enfoca en todos aquellos aspectos que no pueden ser cuantificados, es
decir, sus resultados no son trasladables a las matemáticas, de modo que se
trata de un procedimiento más bien interpretativo, subjetivo, en contraposición
con la metodología cuantitativa.
Su
método de razonamiento es inductivo: va de lo particular a lo universal. En su
caso, se accede a los datos para su análisis e interpretación a través de la
observación directa, las entrevistas o los documentos.
Metodología del aprendizaje
La
metodología del
aprendizaje es una disciplina que comprende una serie de
técnicas, métodos y estrategias que, implementadas sistemáticamente,
contribuyen a optimizar la adquisición de nuevos conocimientos y habilidades.
Factores
como la organización del tiempo (horarios de estudio), el acondicionamiento del
lugar de estudio, la concentración, la comprensión, el interés, la memoria, la
claridad de pensamiento, la toma de notas, los buenos hábitos de lectura, el
repaso y la preparación para un examen, son todos aspectos que al aplicarse con
rigor metodológico mejoran las capacidades de aprendizaje y rendimiento
escolar. En resumidas cuentas, es el arte de aprender a aprender.