AlexlovesUSA
11-07-2013, 14:28
Salve a tutti. Non so se sto scrivendo nella giusta sezione, ma devo urgentemente risolvere questo problema e ho pensato di chiedere a voi qualche aiuto e consigli. In pratica, devo sviluppare, insieme a un altro ragazzo, un videogame basilare per un corso universitario di computer graphics. Fino ad oggi ci siamo occupati purtroppo anche di altre materie e non abbiamo potuto dedicare tutto il tempo allo sviluppo del videogame. Adesso ci siamo ritrovati con l'acqua alla gola poichè la data di scadenza del progetto è molto vicina ( circa 11 giorni da oggi ) e ci siamo resi conto che l'impresa non è così facile come sembrava. In pratica abbiamo completamente finito la parte di modellazione 3D. Abbiamo fatto un render ad alta definizione della scena create, ma questa scena non è quella che useremo nel videogame poichè costituita da troppi vertici, quindi non funzionerebbe nulla.
Il gioco che dobbiamo sviluppare è un giochino con una macchina che si muove all'interno di una città molto squadrata ( stile manhattan) e nel percorso da un punto A a un punto B deve evitare degli ostacolini posti in mezzo alla strada. Se durante il percorso l'auto collide con uno di questi oggetti, o con i bordi stessi della strada, si perde e si ricomincia dall'inizio del percorso. Vince chi riesce ad arrivare alla fine e io volevo anche implementare una sorta di tempo. Chi ci sta di meno ad arrivare alla fine è il più bravo ;)
Adesso, siamo molto indecisi se realizzare il videogame in 3d o in 2d, o meglio un 3D con vista dall'alto. A noi interessa fare un giochino che funzioni e che ci permetta di finire il progetto entro 10 giorni per poterlo consegnare. Quello che abbiamo a disposizione per realizzare il progetto è C o C++ a nostra scelta, le librerie OpenGL per la grafica e le librerie Assimp e DevIL per l'import dei modelli da blender e le texture.
Quello che vogliamo fare io e il mio gruppo è, anzichè partire da zero e scrivere completamente il codice, vorremmo utilizzare un codice che ci ha fornito il professore, ovvero tutto il codice pronto per importare i modelli 3d e le texture in Open GL. Dopodichè prendere questo codice e iniziare a modificare le parti che devono essere modificate per raggiungere lo scopo che interessa a noi.
Il problema è che stamattina, dopo essere riuscito a importare un modello 3d utilizzando questo codice, ho provato a modificare il codice ( tipo la posizione della videocamera nella scena) e a fare il Build, ma dice che non riesce a caricare i file.h degli include. Allora ho messo i file .h richiesti all'interno della cartella del file.cpp e ho rifatto il Build, ma dice che non riesce a caricare un file IL/il.h che io ho messo pure all'interno della cartella :( Non riesco in nessun modo a farlo funzionare. Che devo fare? Qualhe consiglio?
Infine, per darvi un'idea di come voglio che sia il gioco finale, immaginatevi una città vista dall'alto e questa macchina che si muove dovendo evitare gli ostacoli e cerca di raggiungere un punto fisso B partendo da un punto A. Voi dite che sia più facile muovere la macchina nella città? (E in tal caso la telecamera deve seguire la macchina nelle trasformazioni di posizione) Oppre è meglio mantenere la macchina e la telecamera fisse nell'origine e muovere la città? Ovvero se la macchina accelera la città si muove verso il basso, viceversa se la macchina decelera. Se la macchina ruota a destra la città ruota a sinistra e viceversa.
E come ultima cosa, come potrei gestire le collisioni? Le collisioni le devo gestire sia con i palazzi, quindi i bordi della strada, che con gli oggetti sparsi in mezzo la strada nel percorso. Devo scrivere una funzione che calcola istante per istante la distanza tra i bordi della macchina e i vari oggetti nella scena? Non so come impostarla bene :(
Please ragazzi, aiutatemi un pò :help:
P.S. Poichè i ragazzi del gruppo non hanno ancora studiato C++ e conoscono solo il linguaggio C, mentre io il C++ l'ho studiato due anni fa, mi consigliate di sviluppare il game in C? Ovvero cosa dovrei fare? Dovrei utilizzare le struct per la macchina, per gli ostacoli ecc...?
#include "assimp.h"
#include "aiPostProcess.h"
#include "aiScene.h"
#include "GL/glut.h"
#include <IL/il.h>
//to map image filenames to textureIds
#include <string.h>
#include <map>
QUesta è la parte di codice iniziale con gli include che mi da i problemi. QUando vado a fare il Build mi dice che IL/il.h non è un file o una directory e non riesce a caricarlo, nonostante io abbia messo nella stessa cartella del .cpp sia il file il.h che l'intera cartella IL. Cosa faccio?
Il gioco che dobbiamo sviluppare è un giochino con una macchina che si muove all'interno di una città molto squadrata ( stile manhattan) e nel percorso da un punto A a un punto B deve evitare degli ostacolini posti in mezzo alla strada. Se durante il percorso l'auto collide con uno di questi oggetti, o con i bordi stessi della strada, si perde e si ricomincia dall'inizio del percorso. Vince chi riesce ad arrivare alla fine e io volevo anche implementare una sorta di tempo. Chi ci sta di meno ad arrivare alla fine è il più bravo ;)
Adesso, siamo molto indecisi se realizzare il videogame in 3d o in 2d, o meglio un 3D con vista dall'alto. A noi interessa fare un giochino che funzioni e che ci permetta di finire il progetto entro 10 giorni per poterlo consegnare. Quello che abbiamo a disposizione per realizzare il progetto è C o C++ a nostra scelta, le librerie OpenGL per la grafica e le librerie Assimp e DevIL per l'import dei modelli da blender e le texture.
Quello che vogliamo fare io e il mio gruppo è, anzichè partire da zero e scrivere completamente il codice, vorremmo utilizzare un codice che ci ha fornito il professore, ovvero tutto il codice pronto per importare i modelli 3d e le texture in Open GL. Dopodichè prendere questo codice e iniziare a modificare le parti che devono essere modificate per raggiungere lo scopo che interessa a noi.
Il problema è che stamattina, dopo essere riuscito a importare un modello 3d utilizzando questo codice, ho provato a modificare il codice ( tipo la posizione della videocamera nella scena) e a fare il Build, ma dice che non riesce a caricare i file.h degli include. Allora ho messo i file .h richiesti all'interno della cartella del file.cpp e ho rifatto il Build, ma dice che non riesce a caricare un file IL/il.h che io ho messo pure all'interno della cartella :( Non riesco in nessun modo a farlo funzionare. Che devo fare? Qualhe consiglio?
Infine, per darvi un'idea di come voglio che sia il gioco finale, immaginatevi una città vista dall'alto e questa macchina che si muove dovendo evitare gli ostacoli e cerca di raggiungere un punto fisso B partendo da un punto A. Voi dite che sia più facile muovere la macchina nella città? (E in tal caso la telecamera deve seguire la macchina nelle trasformazioni di posizione) Oppre è meglio mantenere la macchina e la telecamera fisse nell'origine e muovere la città? Ovvero se la macchina accelera la città si muove verso il basso, viceversa se la macchina decelera. Se la macchina ruota a destra la città ruota a sinistra e viceversa.
E come ultima cosa, come potrei gestire le collisioni? Le collisioni le devo gestire sia con i palazzi, quindi i bordi della strada, che con gli oggetti sparsi in mezzo la strada nel percorso. Devo scrivere una funzione che calcola istante per istante la distanza tra i bordi della macchina e i vari oggetti nella scena? Non so come impostarla bene :(
Please ragazzi, aiutatemi un pò :help:
P.S. Poichè i ragazzi del gruppo non hanno ancora studiato C++ e conoscono solo il linguaggio C, mentre io il C++ l'ho studiato due anni fa, mi consigliate di sviluppare il game in C? Ovvero cosa dovrei fare? Dovrei utilizzare le struct per la macchina, per gli ostacoli ecc...?
#include "assimp.h"
#include "aiPostProcess.h"
#include "aiScene.h"
#include "GL/glut.h"
#include <IL/il.h>
//to map image filenames to textureIds
#include <string.h>
#include <map>
QUesta è la parte di codice iniziale con gli include che mi da i problemi. QUando vado a fare il Build mi dice che IL/il.h non è un file o una directory e non riesce a caricarlo, nonostante io abbia messo nella stessa cartella del .cpp sia il file il.h che l'intera cartella IL. Cosa faccio?