elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos  (Leído 3,296 veces)
ruben3344

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos
« en: 22 Junio 2018, 01:47 am »

Tengo un nivel intermedio en C++(he empezado hace unos 5-6 meses) y me ha surgido la duda sobre como hacer interfaces graficas. Me he puesto a buscar y cada persona dice una cosa distinta, me he liado y he llegado a la conclusion de que no se ni que quiero hacer aprendiendo este lenguaje, ¿podriais decirme para que puedo usar C++ a parte de por ejemplo juegos? Porque basicamente todo lo que estoy porgramando se basa en programas de consola y claro, me parece algo aburrido ya que quiero aprender a programar cosas que no tengan que ver con las aplicaciones de consola. Volviendo al tema, lo que mas me ha convencido es Qt pero no tengo ni idea si al programar ahi se cambia un poco el lenguaje, no encuentro libros que expliquen desde 0 el Qt, he visto que uno dice que en Visual Studio al hacer interfaces el lenguaje cambia (C++/Cli creo que es).

Gracias de antemano.


Mod: Otra pregunta es: ¿Deberia aprender de guias que tienen ya un tiempo (Ejemplo: 5-6 años) . Es que tengo un libro de C++6 y claro, en el "Hola mundo" en vez de un int main() pone un void main()(en code::blocks pongo eso y vamos, dice que me olvide) o no se usa el using namespace std; y todo lo que he aprendido tendra como 2-3 años como mucho.


« Última modificación: 22 Junio 2018, 13:38 pm por ruben3344 » En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 437



Ver Perfil WWW
Re: Necesito Ayuda sobre Interfaces Graficas en C++
« Respuesta #1 en: 22 Junio 2018, 02:49 am »

Después de leer tú consulta pienso que no tienes un nivel de C++ medio, sino un nivel bajo de C++, incluso principiante.

¿podriais decirme para que puedo usar C++ a parte de por ejemplo juegos? Porque basicamente todo lo que estoy porgramando se basa en programas de consola y claro, me parece algo aburrido ya que quiero aprender a programar cosas que no tengan que ver con las aplicaciones de consola.

Puedes hacer todo, aparte de juegos. El límite lo pone tú imaginación, tú conocimiento del lenguaje, librerías y el ámbito del programa (si haces un programa de contabilidad necesitas saber contabilidad). Se puede hacer de todo, desde sistemas operativos, lenguajes de programación, navegadores, servidores HTTP, base de datos, herramientas de red, cualquier tipo de aplicación o programa, no hay nada que no puedas hacer en C++.

Logicamente, como no vas a programarte tu propia API ya existen montón de librerías que te facilitarán el desarrollo.

Volviendo al tema, lo que mas me ha convencido es Qt pero no tengo ni idea si al programar ahi se cambia un poco el lenguaje, no encuentro libros que expliquen desde 0 el Qt, he visto que uno dice que en Visual Studio al hacer interfaces el lenguaje cambia (C++/Cli creo que es).

Si programas en Windows deberías usar su propio API el cual está super bien documentado.

https://msdn.microsoft.com/es-es/library/bb384843.aspx

También puedes recurrir si estás en Windows a DirectX, que es una librería gráfica para trabajar a medio/bajo nivel con alto rendimiento y con aceleración por hardware (en caso de estar disponible).

https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh465137(v=win.10)

Luego también tienes alternativas a DirectX, como OpenGL, que se maneja de una forma similar.

QT está pensado para la creación y gestión de interfaces en un ámbito multiplataforma. Esto significa que simplemente con el mismo código podrías portarlo a otros sistemas operativos y usando las librerías para la plataforma que quieras portar. Algunas veces esto suele pintarse muy bonito pero lo cierto es que puede dar muchos dolores de cabeza.

C++/CLI es C++ enfocado al entorno dotnet. Normalmente el Visual Studio permite elegir entre una aplicación pura de C++ (Win32) y CLR.

https://msdn.microsoft.com/es-es/library/z6ad605x.aspx

Aparte Microsoft no respeta el estándar de C++, y existen ligeros cambios que pueden tender a la confusión.

https://es.wikipedia.org/wiki/Visual_C%2B%2B

Mod: Otra pregunta es: ¿Deberia aprender de guias que tienen ya un tiempo (Ejemplo: 5-6 años) . Es que tengo un libro de C++6 y claro, en el "Hola mundo" en vez de un int main() pone un void main()(en code::blocks pongo eso y vamos, dice que me olvide) o no se usa el using namespace std; y todo lo que he aprendido tendra como 2-3 años como mucho.

El C++ está constantemente evolucionando y cada vez más rápido, es bueno que estés actualizado y sepas los cambios existentes en las versiones pero dependerá del compilador que uses.

La versión estable más reciente es la C++17.

https://es.wikipedia.org/wiki/C%2B%2B17

Pero normalmente se programa para la C++11.

https://es.wikipedia.org/wiki/C%2B%2B11


« Última modificación: 22 Junio 2018, 02:51 am por srWhiteSkull » En línea

ruben3344

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Necesito Ayuda sobre Interfaces Graficas en C++
« Respuesta #2 en: 22 Junio 2018, 03:34 am »

Muchas gracias por responder, me has aclarado las cosas. En el tema de la API de Windows he encontrado un enlace donde explican a hacer lo mismo pero este es algo mas reciente y mas completo, ¿me recomiendas leerme el enlace que te voy a dejar abajo o el que me has pasado tu? Te agradeceria a que si tienes tiempo me pudieses pasar alguna guia, libro sobre como programar en la API (en la pagina de microsoft explican bastante pero no creo que sea toda la informacion a aprender). Tambien me vendria bien que me pudieses recomendar algun libro para aprender un buen nivel de C++.

Enlace Aplicacion de Escritorio mas reciente: https://docs.microsoft.com/es-es/cpp/windows/walkthrough-creating-windows-desktop-applications-cpp
« Última modificación: 22 Junio 2018, 03:57 am por ruben3344 » En línea

ruben3344

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Necesito Ayuda sobre Interfaces Graficas en C++
« Respuesta #3 en: 22 Junio 2018, 13:37 pm »

Viendo mas he visto que en el desarrollo de videojuegos no se utiliza WinApi y viendo lo que me has dicho voy a aprender WinApi para el tema de desarrollar aplicaciones de escritorio en Windows y DirectX para videojuegos. Lo que no sé es si DirectX es todo lo que voy a tener que saber para programar juegos, ¿alguna recomendacion para programar juegos aparte de DirectX? ¿Hay mucha diferencia de programar para juegos en PC y juegos para consolas?
Por cierto, he visto un libro que parece muy bueno "C++ Deitel" ademas enseña en C++11 podrian decirme si es realmente bueno(os dejo el pdf aunque mi idea seria comprarmelo en fisico).
https://docs.google.com/file/d/0B_eXfddvHj9wekJmamR1QjNrMzQ/preview
« Última modificación: 22 Junio 2018, 13:42 pm por ruben3344 » En línea

SrMcLister

Desconectado Desconectado

Mensajes: 35



Ver Perfil
Re: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos
« Respuesta #4 en: 22 Junio 2018, 14:54 pm »

Muy interesante tu pregunta, estoy a la espera de más info!!
Yo también tengo un nivel intermedio de C++ y me gustaría aumentarlo en dirección a interfaces graficas, videojuegos etc...
 ;-) ;-) ;-)
En línea

Código
  1. return((u.areHappy() && u.knowIt()) ? u.clapYourHands() : u.goFuckYourself());
srWhiteSkull


Desconectado Desconectado

Mensajes: 437



Ver Perfil WWW
Re: Necesito Ayuda sobre Interfaces Graficas en C++
« Respuesta #5 en: 22 Junio 2018, 21:01 pm »

Viendo mas he visto que en el desarrollo de videojuegos no se utiliza WinApi y viendo lo que me has dicho voy a aprender WinApi para el tema de desarrollar aplicaciones de escritorio en Windows y DirectX para videojuegos. Lo que no sé es si DirectX es todo lo que voy a tener que saber para programar juegos, ¿alguna recomendacion para programar juegos aparte de DirectX? ¿Hay mucha diferencia de programar para juegos en PC y juegos para consolas?
Por cierto, he visto un libro que parece muy bueno "C++ Deitel" ademas enseña en C++11 podrian decirme si es realmente bueno(os dejo el pdf aunque mi idea seria comprarmelo en fisico).
https://docs.google.com/file/d/0B_eXfddvHj9wekJmamR1QjNrMzQ/preview

DirectX puedes usarlo en combinación del WinApi, sobre todo para aplicaciones multimedia.

Diferencias programando en consola y PC? Si, que si programas a bajo nivel necesitas conocer la arquitectura de la consola para acceder a determinadas funciones de esta. Yo así la experiencia que he tenido programando juegos fue con diferentes tecnologías y dispositivos, por ejemplo para un SO Symbia trabajé con J2ME, para Xbox 360 con dotnet (usando C# + DirectX), para Nintendo DS con C (OpenGL), en Android con Java (OpenGL)... incluso usando ensamblador para un procesador MIPS (que solían usarse en las consolas).

Lo otro ya te lo dije, la alternativa a DirectX es OpenGL, porque OpenGL está soportado en la gran mayoría de dispositivos que no son productos de Microsoft. Luego existen otro tipo de librerías encaminadas exclusivamente al desarrollo de videojuegos, ya que DirectX y OpenGL no están enfocadas solo a los videojuegos y son muy básicas. Por ejemplo está Ogre3D, que trabaja en una capa superior (menos complciado).

https://www.ogre3d.org/

Conocimientos para juegos, pues dependerá de que juegos pero en la mayoría de casos será necesario tener un conocimiento bueno de la trigonometría, geometría(líneas de bezier, etc...), también sobre los shaders, algo de sonido, iluminación, imagen, algoritmia avanzada, etc... un programador de videojuegos debe ser alguien multidisciplinar, que tenga conocimientos en varios ámbitos aparte de la programación.

Te pondría una lista de enlaces pero me tomaría tiempo, lo mejor es que te centres en un trabajo en concreto, por ejemplo intenta desarrollar un pequeño juego un experimento, poco pretencioso que puedas acabar en dos meses y según te vayan saliendo dudas de como se hace esto o aquello acudes al foro (a este u otro) y se te vaya facilitando la información. Yo muchas cosas las aprendía así, haciendo experimentos, y es más todos los juegos que desarrollé nunca los acabé aunque eran funcionales, pero era simplemente para aprender y adquirir conocimiento, por eso no te hablo por hablar, te hablo por experiencia aunque nunca haya sido un programador de videojuegos profesional.

También trabajé con motores, que son "programas" diseñados para generar un ejecutable por medio de scripts y componentes personalizables.
En línea

ruben3344

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos
« Respuesta #6 en: 22 Junio 2018, 21:19 pm »

Muchas gracias por lo aclarado. Por ultimo, alguna recomendacion de algun libro para el tema de desarrollo de interfaces o de videojuegos.

Lo dicho, muchas gracias
En línea

Beginner Web


Desconectado Desconectado

Mensajes: 585


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos
« Respuesta #7 en: 22 Junio 2018, 21:44 pm »

Resumiendo su pregunta lo que el intento decir es que se aburrio de la programacion back end y quiere hacer el front end en/con videojuegos

C++ , Como programar, Deitel & Deitel , 6ta Edicion  ;-)
En línea

{_id: "5ef16999f6ce240abc225ss3",
nombre: "Ana Keldysh",
nacionalidad: "Argentina",
edad: "17",
profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.",
"__v": 0
}
ruben3344

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos
« Respuesta #8 en: 22 Junio 2018, 22:15 pm »

Resumiendo su pregunta lo que el intento decir es que se aburrio de la programacion back end y quiere hacer el front end en/con videojuegos

C++ , Como programar, Deitel & Deitel , 6ta Edicion  ;-)

Tengo entendido que el programador front-end es el que "se relacion con el usuario"(tipo javascript) y el back-end el que hace que lo anterior funcione, ¿es eso asi?.
« Última modificación: 23 Junio 2018, 00:28 am por ruben3344 » En línea

DoeJohn

Desconectado Desconectado

Mensajes: 87


Siempre aprendiendo


Ver Perfil
Re: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos
« Respuesta #9 en: 23 Junio 2018, 15:35 pm »

Hola

Yo creo que, para alguien que no lleva mucho tiempo, ponerse directamente con OpenGL o similar va a ser un poco duro y te va a costar más avanzar que si usas alguna librería.

Por ejemplo, para interfaces gráficas tienes librerías como wxWidgets, GTK o Qt. Personalmente uso Qt, es mucho más que una interfaz gráfica, es un frameworks completo para desarrollar todo tipo de aplicaciones móviles o de escritorio.

Para los juegos igual, hay estupendas librerías como SDL o SFML que te van a permitir avanzar mucho más rápido. Y también los motores, que ahora están "de moda", como Unreal Engine, Unity, cocos o Godot.

Un saludo
En línea

Buenas preguntas obtienen mejores respuestas
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cómo crear interfaces gráficas con Look And Feel en Java « 1 2 »
Java
Casidiablo 15 63,207 Último mensaje 11 Diciembre 2011, 19:58 pm
por jorgemora
[SOLUCIONADO]Ayuda Con Interfaces Graficas?
Java
monsefoster 6 4,427 Último mensaje 21 Febrero 2010, 08:51 am
por Leyer
Desarrollo de Aplicaciones con Interfaces Graficas?
Programación C/C++
joelmanx 2 1,604 Último mensaje 15 Octubre 2010, 19:15 pm
por joelmanx
Interfaces gráficas
Scripting
Eleкtro 0 1,226 Último mensaje 12 Marzo 2012, 10:39 am
por Eleкtro
Ayuda con interfaces gráficas en C++
Programación C/C++
juaniyoalm 4 1,071 Último mensaje 7 Marzo 2019, 19:43 pm
por juaniyoalm
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines