| Mesaj |
Info autor |
Postat la 03 Oct 2007 08:50:16 Subiect: E mai greu sa inveti decat sa faci
|
|
|
Gramar info:
|
Gramar:
Cam asa sta treaba prin romania. Cand am inceput programarea am pus mana pe vreo doua e-book-uri despre fundamentele C++: sintaxa, instructiuni de baza, POO. Dupa ce am terminat materialul, a urmat perioada de practica... metode de programare, scoala, olimpiada...
insa a venit vremea sa realizez puterea POO. Am cumparat o carte din libraria orasului: "Programarea jocurilor in" nu stiu cate lectii ssau zile. Genial!!! Programarea in windows. Primii pasi spre un game engine 2D... Am terminat cartea... dar au aparut alte nevoi: un mediu de dezvoltare bun (mai bine zis mai nou, ca e greu sa faci ceva cu bibliotecile din Borland C++ 3.1, care abia avea interfata windows).
Knowledge, wisdom, understanding
|
Status:
Înregistrat pe: 02 Oct 2007 10:52:11
Vârsta: 23 ani
Mesaje: 18
Locatie: Falticeni
Programator
|
| |
Postat la 03 Oct 2007 09:18:31 Subiect: < fara subiect >
|
|
|
Jinx info:
|
Jinx:
Vad ca asta e primul tau post, asa ca bine ai venit!
|
Status:
Înregistrat pe: 03 May 2007 22:45:14
Vârsta: 20 ani
Mesaje: 720
Locatie: Pitești, Argeș
Game designer
|
| |
Postat la 03 Oct 2007 09:48:40 Subiect: < fara subiect >
|
|
|
Gramar info:
|
Gramar:
Si pentru a satisface aceasta nevoie a trebuit sa caut. Si am cautat... zile, luni, ani chiar... Si ce am gasit? VC 6.0 (windows 9  . Nu am fost asa de dezamagit. Eu nu-s omul care sa cer lux si alte de'astea, plus ca era mult mai bine decat ceea ce aveam. Practica... insa nici asta serioasa. Spre exemplu: aaaa da! asta e un combo box, asa tu esti un tree, bitmapuri, deseneaza, uite si un notepad... da. Oricum nu erau prea multe lucruri de pus in practica. Foarte bine. Insa mi-am amintit de carte. Un game engine... da asta ar fi interesant... bineinteles ca au urmat vise si scenarii imaginate in care eu eram cel mai bun game developer din lume bla, bla, bla. Asa... am zis ca ma apuc de grafica, fizica, mate... Si am cautat iar material... Si spre surpriza mea am gasit destul de usor... NeHe. Un site foarte bun, care m-a ajutat enorm. Pe langa au fost si Red book, Blue book de pe siteul oficia OpenGL ( a da... uitasem sa specific asta). Iar am invatat, iar am facut cuburi si piramide pe care am reusit totusi sa le transform intr-un screen saver. Dar nu mi-a ajuns. De fapt nu-mi ajunge fiindca am ajuns cu povestea in prezent. Tutorialele lui Nehe nu le-am terminat, si nu pentru ca as avea pretentii sau pentru ca nu ar fi bune, ci pentru ca eu nu pot sa invat ceva pana ce nu am nevoie (asa am ajuns sa fiu atent la orele de mate si cele de fizica, chiar documentandu-ma in plus  ). Acum sunt oarecum blocat la punerea in practica a ceea ce am invatat de pe aceste site-uri si carti. Am inceput un motor grafic (proiect care am de gand ssa il prezint la atestat). Vreau sa fie practica la ceea ce invat, insa iar apar nevoi... Spre exemplu am luat codul sursa al unui SDK dezvoltat de NeHe si cateva html-uri despre subiect. Totul e bine... doar ca intr-o parte treaba e facuta intr-un fel si de partea cealalta treaba e facuta in alt fel. Asa ca aleg o cale de mijloc... eficienta si simplitate cu un minim de SDK -uri si DLL-uri. OK aici apare problema... am facut rost de Visual Studio 2008 (beta) de pe microsoft download center... am folosit API -uri pe care le-am inteles din SDK si ebook-uri si am codat... si am compilat... si surpriza!!!!!!! erori. nimic care sa surprinda... erorile de compilare sunt uzuale... dar o eroare avea ca origine un header din visual studio... beta* aarrrgggghhhh!!!!!! buna treaba... am luat headerul din versiunea 6.0 a vc pe care il aveam... aceeasi treaba. ce sa fac... Raspuns: sterg... da ati citit bine am sters o linie din header si voila... nu mai am eroarea... se va vedea daca nu vor fi buguri runtime... inssa pana atunci am sa plec de la premisa ca nu vor fi bug-uri (doar era un typedef eronat. nu cred ca ar avea mare efect). cat despre erorile din codul scris de mine(si eu nu lucrez la microsoft  ) au fost cateva greseli de tipar si una mai nasoala... Microsoft au schimbat niste api-uri di c++. functia GetCurrentDirectory nu mai primeste ca parametri siruri ASCII, ci UNICODE) acum e acum trebuie sa concatenez doua siruri unicode si nu stiu cum
Knowledge, wisdom, understanding
|
Status:
Înregistrat pe: 02 Oct 2007 10:52:11
Vârsta: 23 ani
Mesaje: 18
Locatie: Falticeni
Programator
|
| |
Postat la 03 Oct 2007 12:35:12 Subiect: < fara subiect >
|
|
|
Rimio info:
|
Rimio:
Din pacate si invatatul si facutul e destul de greu, deci inca nu ai scapat. Cea mai buna "carte" este experienta. Fa cat mai multe chestii, chiar daca le abandonezi, experienta pe care o acumulezi este EXTREM de pretioasa. So work on your engine, experimenteaza, imbunatateste si, in viitor, cine stie, ne intalnim pe la iD sau Valve sau EA  .
If at first you don't succeed, you fail.
|
Status:
Înregistrat pe: 24 Mar 2007 21:50:44
Vârsta: 23 ani
Mesaje: 794
Locatie: Pitesti, Arges
Programator
|
| |
Postat la 03 Oct 2007 13:09:55 Subiect: Re:
|
|
|
Dark info:
|
Dark:
Gramar a scris: Microsoft au schimbat niste api-uri di c++. functia GetCurrentDirectory nu mai primeste ca parametri siruri ASCII, ci UNICODE) acum e acum trebuie sa concatenez doua siruri unicode si nu stiu cum Vezi ca pe undeva prin project settings trebuie sa fie ceva cu "Character set". In 2003 si 2005 e la "General" si ai "Not set", "Use Unicode" si "Use Multi-Byte". Daca alegi "Not set" o sa mearga toate functiile API cu ASCII. De fapt nu-i nici o magie, GetCurrentDirectory e definit asa: Cod sursă:
#ifdef UNICODE
#define GetCurrentDirectory GetCurrentDirectoryW
#else
#define GetCurrentDirectory GetCurrentDirectoryA
#endif
Cu alte cuvinte, poti apela linistit GetCurrentDirectoryA() daca vrei sa te dai cu ASCII, indiferent de setarea aia. Singura problema e ca n-o sa-ti mearga programul in China. Pentru operatii cu string-uri Unicode (aka wide char) exista wcscat(), wcscpy(), swprintf(), wtoi() si asa mai departe.
"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D. Autobaza
|
Status:
Înregistrat pe: 12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 729
Locatie:
Programator
|
| |
Postat la 03 Oct 2007 14:40:32 Subiect: < fara subiect >
|
|
|
pin46 info:
[banned]
|
pin46:
Poti sa treci peste etapa cu 'invata sa faci un engine 2D'. Invata un libraj de programare (C++,C#) si foloseste un engine existent ( Irrlicht, Ogre, etc)
Irrlicht este suficient de simplu chiar si pt un incepator. Tutorialele sunt clare (daca stii engelza). Cu 30 de randuri poti sa afisezi o mesa, teren, etc
|
Status:
Înregistrat pe: 06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing
|
| |
Postat la 04 Oct 2007 07:54:51 Subiect: Re:
|
|
|
Gramar info:
|
Gramar:
pin46 a scris: Poti sa treci peste etapa cu 'invata sa faci un engine 2D'. Invata un libraj de programare (C++,C#) si foloseste un engine existent ( Irrlicht, Ogre, etc) Irrlicht este suficient de simplu chiar si pt un incepator. Tutorialele sunt clare (daca stii engelza). Cu 30 de randuri poti sa afisezi o mesa, teren, etc Probabil nu m-am exprimat bine. Nu 2D fac eu engine-ul. Am trecut de mult timp peste "etapa" asta. Pentru mine nu a fost decat un ghidaj, o idee, o schita despre engine-uri cartea respectiva. Engine-ul pe care vreau sa-l fac e 3D, cu OpenGL. Apropo, multumesc mult Dark pentru pont. Si credeti-ma ca e mai usor sa programezi decat sa inveti. Sa programezi poti in orice mediu, nu ai nevoie decat de cateva biblioteci. In schimb, eu am vrut sa scot in evidenta faptul ca nu gasesti documentatie ca lumea pe net. Despre carti nici nu mai spun... Cele mai avansate chestii pe care le trateaza sunt fundamentele. Majoritatea tutorialelor pe care le-am gasit pe net sunt vechi, chiar foarte vechi. pe gamedev.net media cred ca e 2000, si nu se pot compara tehnicile de atunci cu cele de acum. Am gasit cate unul mai interesant dar nu m-am incumetat sa il studiez caci data in care era postat era 1998, 99, 00 etc. De asta spun eu ca e foarte greu sa inveti. nu ai nimic bun la dispozitie. Si odata ce ai inteles cum trebuie o functie sau ceva, sa o scrii in c e o nimica toata... TO BE CONTINUED
Knowledge, wisdom, understanding
|
Status:
Înregistrat pe: 02 Oct 2007 10:52:11
Vârsta: 23 ani
Mesaje: 18
Locatie: Falticeni
Programator
|
| |
Postat la 04 Oct 2007 07:55:44 Subiect: Re: Re:
|
|
|
Gramar info:
|
Gramar:
Dark a scris: Gramar a scris: Microsoft au schimbat niste api-uri di c++. functia GetCurrentDirectory nu mai primeste ca parametri siruri ASCII, ci UNICODE) acum e acum trebuie sa concatenez doua siruri unicode si nu stiu cum Vezi ca pe undeva prin project settings trebuie sa fie ceva cu "Character set". In 2003 si 2005 e la "General" si ai "Not set", "Use Unicode" si "Use Multi-Byte". Daca alegi "Not set" o sa mearga toate functiile API cu ASCII. De fapt nu-i nici o magie, GetCurrentDirectory e definit asa: Cod sursă:
#ifdef UNICODE
#define GetCurrentDirectory GetCurrentDirectoryW
#else
#define GetCurrentDirectory GetCurrentDirectoryA
#endif
Cu alte cuvinte, poti apela linistit GetCurrentDirectoryA() daca vrei sa te dai cu ASCII, indiferent de setarea aia. Singura problema e ca n-o sa-ti mearga programul in China. Pentru operatii cu string-uri Unicode (aka wide char) exista wcscat(), wcscpy(), swprintf(), wtoi() si asa mai departe. chiar iti multumesc foarte mult pentru pont
Knowledge, wisdom, understanding
|
Status:
Înregistrat pe: 02 Oct 2007 10:52:11
Vârsta: 23 ani
Mesaje: 18
Locatie: Falticeni
Programator
|
| |
Postat la 04 Oct 2007 11:56:32 Subiect: < fara subiect >
|
|
|
pin46 info:
[banned]
|
pin46:
Majoritatea tutorialelor pe care le-am gasit pe net sunt vechi, chiar foarte vechi. pe gamedev.net media cred ca e 2000, si nu se pot compara tehnicile de atunci cu cele de acum. Eu zic ca sa schimbat foarte putin. Singurul lucru care nu mai este valabil in tutorialele alea sunt detaliile tehnice cu privire la DirectX. Cat priveste ideia de a face un engine 3D cu OpenGL , este buna dar numai ca 'learning experience'. Daca vrei sa faci un joc foloseste un engine existent.
|
Status:
Înregistrat pe: 06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing
|
| |
Postat la 04 Oct 2007 20:59:31 Subiect: < fara subiect >
|
|
|
Gramar info:
|
Gramar:
chiar nu vreau sa folosesc un engine gata facut. vreu sa fac eu unul si nu pentru jocuri inca. experienta o capeti programand si nu prea am cum sa invat sa fac unul folosind altul deja facut. No ofence. Si nu e vorba de openGl sau directX ci si multe alte chestii si tehnici. de exemplu metode de shading... exista multe mult mai rapide decat piesele de muzeu de pe gameDev. si nu e vorba numai de grafica, aici oricum e mai multa mate decat altceva, dar e vorba si despre programarea in windows in general: ferestre s.a.m.d. E foarte greu de gasit documentatie care te ajuta cu adevarat
Knowledge, wisdom, understanding
|
Status:
Înregistrat pe: 02 Oct 2007 10:52:11
Vârsta: 23 ani
Mesaje: 18
Locatie: Falticeni
Programator
|
| |
Postat la 04 Oct 2007 21:13:12 Subiect: < fara subiect >
|
|
|
Pintea info:
|
Pintea:
that's the spirit , uite unul care a inteles cum sta treaba 
|
Status:
Înregistrat pe: 05 May 2007 14:50:45
Vârsta: 28 ani
Mesaje: 300
Locatie:
Programator
|
| |
Postat la 04 Oct 2007 21:27:40 Subiect: < fara subiect >
|
|
|
pin46 info:
[banned]
|
pin46:
chiar nu vreau sa folosesc un engine gata facut. vreu sa fac eu unul si nu pentru jocuri inca. experienta o capeti programand si nu prea am cum sa invat sa fac unul folosind altul deja facut. Deci cum ziceam daca vrei sa faci un joc folosesti un engine existent. Daca vrei sa inveti in ce consta facerea unui engine poti sa faci un engine singur desigur (care insa nu va depesi in performata si capacitati un engine ca Irrlicht/Ogre, sau mai bune daca te tine buzunarul). Ca sa faci un engine la fel de bun ca cele mentionate iti trebuie ani de experienta in inginerie software si ani dedicati proiectului.
Ultima editare efectuată de pin46 pe 04 Oct 2007 21:28:19; 1 editări în total
|
Status:
Înregistrat pe: 06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing
|
| |
Postat la 09 Oct 2007 10:18:50 Subiect: Re:
|
|
|
Gramar info:
|
Gramar:
pin46 a scris: chiar nu vreau sa folosesc un engine gata facut. vreu sa fac eu unul si nu pentru jocuri inca. experienta o capeti programand si nu prea am cum sa invat sa fac unul folosind altul deja facut. Deci cum ziceam daca vrei sa faci un joc folosesti un engine existent. Daca vrei sa inveti in ce consta facerea unui engine poti sa faci un engine singur desigur (care insa nu va depesi in performata si capacitati un engine ca Irrlicht/Ogre, sau mai bune daca te tine buzunarul). Ca sa faci un engine la fel de bun ca cele mentionate iti trebuie ani de experienta in inginerie software si ani dedicati proiectului. ani de experienta nu chiar... aproape totul se rezuma la matematica si fizica. un engine grafic primitiv il faci intr-o saptamana daca stii ce faci. insa unul performant il faci doar stiind foarte multa matematica. intr-un motor pentru jocuri, motorul grafic e cam tot ce e programare propriuzisa, restul consta in matematica si fizica, algoritmi si legi. Cat despre calitatea unui engine... o sa-ti dau un exemplu... quacke. sigur stii jocul. engine-ul a fost facut in 3 programatori. la vremea lui a fost de cea mai mare calitate si majoritatea FPS-urilor din ziua de azi au la baza engineul din quacke, modificat. Half life este un joc care are la baza quacke-ul si acesta e doar unul dintre ele. Nu stiu cum vezi tu lucrurile dar ca sa faci un engine trebuie sa programezi si nu sa folosesti unul gata facut. daca vrei doar sa faci un joc pe care sa-l vinzi cumperi unul, dar eu unul ma gandesc la lucruri mari...
Knowledge, wisdom, understanding
|
Status:
Înregistrat pe: 02 Oct 2007 10:52:11
Vârsta: 23 ani
Mesaje: 18
Locatie: Falticeni
Programator
|
| |
Postat la 09 Oct 2007 11:32:22 Subiect: < fara subiect >
|
|
|
pin46 info:
[banned]
|
pin46:
ani de experienta nu chiar... aproape totul se rezuma la matematica si fizica. un engine grafic primitiv il faci intr-o saptamana daca stii ce faci.
Am impresia ca nu stii despre ce vorbesti. Da poti face intr-o saptamana o carpeala care sa aduca a engine. Totusi aia o sa fie 0.0001 din enginul final. Un engine este considerat bun atunci cand are toate detaliile implementate. O saptamana iti trebuie numai sa scrii toate componentele enginului cu o descriere sumara a fiecarei componente. Cat despre calitatea unui engine... o sa-ti dau un exemplu... quacke. Carmack si echipa au facut niste jocuri (cu un succes imens) pana la quake. Cat timp ia luat echipei sa faca enginul pt quake 1? Mai mult de un an (si erau cum zici tu trei programatori cu experienta) , cat timp a luat ca sa fie 'transformat' enginul de Q1 in Q2? La fel ca la Q1 1-2 ani. Te asigur ca nu au baut cafea si mers la petreceri un an si in ultimele doua luni au zis hai sa facem si enginu ala ca se apropie data de lansare. Enginurile actuale depasesc in complexitate ce a avut Q1/Q2. Un engine bun este un an sau mai mult de lucru chiar si pt cei mai experimentati programatori. Nu zic ca este un lucru rau sa te apuci sa faci un engine. Ce zic e ca un engine similar cu cele folosite in jocurile actuale este o stacheta f. f. inalta Eu iti doresc succes, nu vreau sa te abat din drum. Sa invetii/stii cum lucreaza un engine e un lucru folositor
|
Status:
Înregistrat pe: 06 Aug 2007 23:02:05
Vârsta: ? ani
Mesaje: 683
Locatie: Moldova
PR & Marketing
|
| |
Postat la 09 Oct 2007 13:02:01 Subiect: < fara subiect >
|
|
|
Black_Knight info:
|
Black_Knight:
Mai daca vrei sa inveti sa faci un engine e solutia... categoric nu la fel de bun ca unu comercial (desi dupa 4-5 ani de development nu se stie), dar cel mai bine inveti asa (parerea mea).
Tutorialele sunt intradevar vechi, dar nu s-a schimbat mare lucru sa nu uitam ca anumite carti considerate super tare ai fost scrise cu mult in urma (The Art of Computer Programming e prin 67 scrisa AI A Modern Approach e prin 93 parca).
Cam asta ar fi oricum spun din experienta: trebuie sa inveti practic, daca inveti si dupa un timp faci nu rezolvi absolut nimic...
|
Status:
Înregistrat pe: 07 May 2007 19:49:43
Vârsta: 29 ani
Mesaje: 711
Locatie: Bucuresti
Programator
|
| |