¿Por que realizar video juegos con Python y no con C++?

in #programacion6 years ago (edited)

PRESENTACIÓN

Antes que nada me permito presentarme, mi nombre es Juan Pablo Perez Santos, soy un joven de 19 años que actualmente estudia ingeniería de sistemas en la Universidad Tecnologica de Pereira, en la ciudad de Pereira, Risaralda Colombia.

El principal motivo por el que decido realizar este post es para dar a conocer mi opinión basado en el conocimiento que tengo sobre estos lenguajes de programación a los que ya me he topado alguna vez en la vida y a los que les tengo mucho aprecio por ser de los primeros en los que empece en el mundo de la programación... Este post esta dirigido a todo publico, y mas aun a toda la comunidad de programadores que se encuentren en steemit, de los cuales agradecería que comentaran y dieran su opinión con respecto a cual es su lenguaje preferido a la hora de realizar un vídeo juego.

¿POR QUE UTILIZAR PYTHON EN VEZ DE C++ A LA HORA DE REALIZAR VÍDEO JUEGOS?

Hay que tener claro algo y es que cuando decides en empezar a desarrollar un video juego... Hay miles de "Frameworks de Desarrollo" (Si no tienes muy claro de que es un Framework te dejo el link al final del articulo de una pagina donde te especifican mas detalladamente), que te permiten y facilitan el desarrollo de un video juego, en otras palabras es un programa que te va permitir construir y ensamblar todas las piezas de un juego: modelos 3D, personajes, texturas, materiales, animaciones, scripts, sonidos... Un ejemplo de estos seria Unity.

Pero, ¿Por que no usar un framework en vez de un lenguaje de programación plenamente?... Bueno pues lo pondré así de sencillo, Si te pusieran a elegir entre aprender a manejar con un carro ultimo modelo automático o uno sencillo mecánico, si eres una persona "mediocre" estoy mas que seguro que elegirías el carro ultimo modelo, pero dado el caso que algún día tengas que manejar un carro mecánico, no serias capaz manejar y te verías en aprietos dado el caso que fuera algo importante... Bueno, pues eso es exactamente lo que pasa cuando vas a desarrollar un video juego, los frameworks te facilitaran el trabajo como de modelar, recortar sprite, crear contornos... entre otros, pero la lógica que tendrá el juego se la tienes que dar tu a la hora que te toque codificar, sea en el lenguaje que sea.



Pero ahora si, ¿Por que Pyhton y no C++ ?

Bueno, pues para los que ya saben de programación o tienen un concepto familiarizado de que es la programación, conocen que para realizar cualquier tipo de algoritmo en algún lenguaje programación, se necesita utilizar librerías, pues no es nada mas que:

un conjunto de implementaciones funcionales, ya codificadas en un lenguaje de programación propio, que ofrece una interfaz bien definida para la funcionalidad que se invoca

Y ¿esto que quiere decir?, pues simple, son funciones o fragmentos de códigos que ya están establecidos en el lenguaje de programación y que son utilizados a través de un llamado, ejemplo:

  • C++   se utiliza la palabra "include" acompañado de la librería que se quiera usar y de la simbologia <>... Ejemplo: "include <stdlib.h>".


  • Python se utiliza la palabra "import" acompañado de la libreria que se quiera usar...Ejemplo: "import math".

Teniendo esto claro, pues debemos tener en cuenta que para realizar una aplicación con gráficos en c++ debemos tener instalado el WINBGIM que es el modo gráfico que utiliza c++ y tambien el archivo GRAPHICS.H, sin contar la libreria LIBBGI.A, todos estos son los requisitos minimos para poder crear un nuevo proyecto y ejecutarlo como CONSOLE GRAPHICS en el dev C++.

Ahora bien, si no solo utilizar graficos en C++ requiere de un uso amplio de librerias, también el manejar los "atributos" de estas librerías suele ser algo complicado, pues manejamos atributos de varias librerias en un mismo proyecto. Aclaro que no estoy diciendo que sea complicado, digo que en comparación con Python su nivel de dificultad es mayor.

Python por el contrario tiene una libreria llamada Pygame, la cual te permite realizar graficos de manera sencilla y simple, es tan sencilla de utilizar que la puedes ejercutar por consola, sin necesidad de un editor de texto.La documentación de Pygame de Python con respecto a la de WINBGIM de C++ es mucho mas sencilla de encontrar y se obtienen ejemplos concretos que puedes buscar en: "https://www.pygame.org/docs/".

En conclusión Python te permite realizar vídeo juegos de una manera mas sencilla y con la misma lógica y funcionalidad que C++, como vuelvo y digo no digo que realizar vídeo juegos en C++ sea una tarea complicada, pero a manera personal prefiero Python que C++


También empezare con vídeo tutoriales en la plataforma de Dtube sobre Python y Pygame por si  me quieren seguir, una vez culminado los vídeo tutoriales de Pygame tambien empezare con los de WINBGIM.

https://d.tube/#!/c/juanpabloperez


¿Que es un framework?

https://jordisan.net/blog/2006/que-es-un-framework/


Sort:  

@juanpabloperez, I gave you an upvote on your post! Please give me a follow and I will give you a follow in return and possible future votes!

Thank you in advance!

C++ es un excelente lenguaje para muchas cosas incluso para el desarrollo de videojuegos sobre todo si usas las libreria OpenGL, python es un lenguaje mas "amigable" para el desarrollador por eso facilita mucho las cosas para el desarrollo de diferentes cosas.

En el caso de los videojuegos es muy bueno hacer las cosas directamente desde codigo fuente sin necesidad de Frameworks, pero cuando ya tienes conocimientos de nivel medio o mas es recomendable usar el Framework para hacer las cosas mas rapido ya que se supone que sabes que es lo que internamente hace el Framework, te ahorra tiempo y dinero.

Este post fue curado por la comunidad @developspanish, comunidad que se enfoca en apoyar a programadores de habla hispana tanto los que van aprendiendo como los experimentados

Claro C++ es un lenguaje de programación con muchísimas funcionalidades, y en el desarrollo de vídeo juegos se podría decir que es uno de los lenguajes de programación que mas recomendaría para empezar en el mundo de desarrollo de vídeo juegos... La cuestión es que Python como tu lo has dicho resulta ser mucho mas agradable a la hora de manejar los sprites y los eventos , recomiendo mas Python a los que apenas empiezan en este contexto, por dos razones... La primera, es que Python es un lenguaje de programación que esta empezando a tener un crecimiento exponencial y que en la industria al igual que C++ o Java, es muy demandado, por lo que no muchos programadores o estudiantes de programación conocen este lenguaje o programan es dicho lenguaje, entonces empezar a manejar este lenguaje desarrollando vídeo juegos, se le podría conocer como "Buena practica". Y la segunda razón es la ya mencionada anteriormente, es mas amigable a la hora de programar.

Definitivamente recomiendo igual Python para los que van empezando en la programacion de software, por las mismas razones que tu das.

En lo personal y diciendolo como @shadowmyst no he tocadopython y tal vez no lo toque en un buen tiempo ya que me estoy enfocando completamente a Ruby on Rails y a NodeJS. Pero como la comunidad @developspanish puedo decir que estamos teniendo mucho auje sobre el uso de Python y de hecho se ha echo curacion de un tutorial muy bien detallado para los que inician en ese lenguaje de programación.

Si sigues escribiendo mas sobre programación te invito a que nos visites en la comunidad

Ya te sigo amigo excelente post yo también desarrollo videojuegos pero en Unity de cuando en vez super interesante la info de python ya que estoy comenzando a meterme con este lenguaje saludos.

Me alegra que te haya gustado, espero poder ayudarte, si tienes alguna duda sobre python me ofrezco a colaborarte y si veo que no te puedo resolver la duda, busco alguien que te pueda colaborar... Saludos.

interesante dude tenemos unas cuantas cosas en común yo estudio sistemas igual aunque me especializo mas en c# con unity me parece muy interesante la comparativa entre python y c++ siempre me ha llamado la atención ese primero, estaré al pendiente de tus post un saludo !