¿Cómo abordar un proyecto?

Buenas,

puede que no sea el foro más adecuado (aunque yo creo que sí ;) ). Al lío.

Imaginad que tenéis en mente un proyecto, bien sea para pfc o a modo de ocio, pongamos, por ejemplo, que queremos hacer un emulador, de snes, nds, o de pc (como virtualBox), por poner un programa de ejemplo. Supongamos que tenemos una idea en mente, tenemos los conocimientos para programarla, pero no sabemos por dónde empezar. En el caso de los emuladores de consolas o pc, sabes programar en C++, Java, pero... ¿Por dónde empiezas? ¿Cómo sabes qué tienes que construir? No sé si me explico bien... Es decir, podría mirar la arquitectura en cuestión (obligado) pero, ¿cómo sabes por dónde empezar?. Muchas veces me vienen ideas a la cabeza pero acaban en saco roto por no saber abordarlas.

¿Vosotros por dónde habeis empezado con vuestros proyectos?
Papel y lapiz, y a pensar como quieres montarlo. Hazte un diagrama de las aprtes/modulos que necesitas y luego por partes. Mejor un monton de partes sencillitas que un bloque con todo, que al final resulta imposible de mantener.

y paciencia ;)

Salud!
Empieza por un buen análisis.
Yo nunca he hecho nada como un emulador, pero por ejemplo, en mis tiempos, bajo DOS, programe cosas que "podriamos" llamar juegos.
Primero aprendi a poner modo grafico, luego aprendi a poner pixeles. Si, simples pixeles. Luego aprendi a interactuar bien con el teclado (nada de metodos chapuceros que sirven para aplicaciones de oficina xD), etc... Vamos, que pasito a pasito, cosita pequeña tras cosita pequeña.
Y cuando tienes unas cuantas cositas pequeñas claras, las combinas y flipas con lo que tienes XD
Bueno sí, pero creo que se trata justo de lo contrario. Saber a donde quieres llegar, hacer un analisis para encontrar una mas o menos buena forma de hacerlo y luego por partes ir codificando las diferentes "piezas".


Pero bueno, ya también lo primero que aprendí en su día fue en poner el modo 13h de la VGA jeje.

Salud!
Lo mejor es poco a poco, y sobre todo pensar como lo vas a hacer (hasta el más mínimo detalle) y todas las posibilidades que pueden ocurrir en tales condiciones. Pero, lo aún más importante es hacerlo divertido... y seguir un ritmo de trabajo constante. Sino, se hace o demasiado pesado o vas a trabajar demasiado poco y lo vas a dejar ir... :P

Un saludo!

PD: Ahora mismo estoy metido en un proyecto nuevo, y lo que estoy haciendo en estos momentos son bocetos, listas de cosas que le voy a querer poner, me informo sobre el framework que voy a usar (Django)... :P
Gracias por vuestras respuestas.

En cuanto a la parte de programación está claro que no se hará todo en un sólo módulo, pero en lo referente a la parte "hardware" en este caso, ¿qué miraríais primero?. No tengo en mente ponerme a hacer un emulador, pero no veo claro el camino de inicio. Dejemos de lado por un momento la parte de programación.

Es decir, en el caso de un emulador, pongamos una consola portátil, una nds, o sino una snes. ¿Por dónde empezaríais?

Saludos.
Si vas tan perdido... ¿estás seguro que el proyecto no te queda un poco grande? Por lo menos de momento. Quizá deberías empezar por leer e informarte sobre lo que quieres programar... quizá seguir el desarrollo de otros proyectos similares... no sé.

Saludos:).
Yog-Sothoth escribió:Si vas tan perdido... ¿estás seguro que el proyecto no te queda un poco grande? Por lo menos de momento. Quizá deberías empezar por leer e informarte sobre lo que quieres programar... quizá seguir el desarrollo de otros proyectos similares... no sé.

Saludos:).


Nono, no tengo en mente hacer nada de eso (al menos ahora). Simplemente es curiosidad, de cuando quieres hacer algo, pero no sabes por dónde empezar, y tienes bastantes conocimientos de programación, por dónde tirar los primeros pasos. He puesto un emulador de consola por poner un ejemplo.

Saludos.
Supongo yo que en el caso de emuladores, primero conseguir toda la documentacion sobre lo que vas a emular y luego buscando otros proyectos opensource y mirando el codigo, lo que han ido haciendo, etc.
Para crear un emulador hay que aplicar ingienería inversa si no se tiene el código de aquello que queremos emular... como una consola. Para ello debemos tener conocimientos en electrónica, saber mucho de programación (incluyendo ensamblador si en ello estuviesen programados los circuitos integrados de la consola), conocimientos de seguridad... saber mucho de mucho, vamos. :-| :-| :-|
10 respuestas