Ir para o conteúdo
pikax

Dúvidas em software de larga escala C++

Mensagens Recomendadas

pikax

Boas

Estou neste momento a desenvolver a minha PAP(que será um jogo MORPG) só que estou a deparar-me com problemas a nível de design das estruturas e etc.

A linguagem que estou a a utilizar é C++, já sei fazer algumas coisas, fazer load de uma personagem e movê-la(sem animação :P), comunicação client-servidor e mais umas coisas.

Tenho feito projectos separados, por exemplo:

  - Um projecto para inicializar os graficos(DirectX10) e depois pôr uma personagem e mexe-la.

  - Comunicação cliente servidor a usar TCP/IP.

Agora queria começar a fazer o "motor" de jogo, e estou a começar pela a parte da network, só que estou com dificuldades em criar um design que futuramente possa reaproveitar e utilizar noutro projecto, para isso estou a pensar em comprar 1 ou mais livros que me possam ajudar a compreender a escrever software em larga-escala.

Não quero criar umas estruturas todas manhosas que funcionem, mas na hora de mudar alguma coisa, aquilo dará o berro, quero perder tempo a criar um código "bonito" e que seja expansível, não gosto de programar à "marretada"  :)

No livro game Engine Architecture - Jason Gregory na parte de referencias fala nestes livros, gostaria de saber as vossas opiniões sobre eles.

Large-Scale C++ Software Design

Effective C++: 55 Specific Ways to Improve Your Programs and Designs

Modern C++ Design: Applied Generic and Design Patterns

Large-Scale Software Architecture

EDIT: adicionado +1


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

Não conhecia esse termo, penso que seja mesmo isso que eu quero, estou a pensar em comprar o Large-Scale C++ Software Design e Modern C++ Design: Applied Generic and Design Patterns.

Tens alguma recomendação de algum artigo ou livro que fale de design patterns?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

O livro mais conhecido é este: http://en.wikipedia.org/wiki/Design_Patterns

Tive a ver e reparei que existem 2 versões desse livro uma de 1994 outra de 2005.

O GoF e o POSA são dois livros muito bons que recomendo a qualquer universitário, mas acho demasiado para uma PAP.

Não é só para a PAP, mas sim para a minha aprendizagem, se ficar à espera para chegar à universidade para comprar livros bons, bem que ficava na ignorância, quero melhorar a parte de design no código, porque até posso aproveitar o que estou a fazer na PAP.

Desde que uma Prof minha quando me viu com o The C++ Programming Language disse-me:"Achas que vais conseguir aprender C++, nem alguns que saem da faculdade o sabem, vais tu aprender.". Fiquei mesmo com vontade de aprender C++ :)

Outro livro que comprei que vi que se dava na FEUP numa cadeira que já não me recorda, era o Engine Architecture - Jason Gregory que adorei o livro, só que falta muitos exemplos práticos.

Por isso dizer que é recomendado para nível universitário ainda me puxa mais a comprá-lo :)


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Warrior

Acho que o termo que usei ("acho demasiado para uma PAP") não é propriamente o mais correcto.

Na minha opinião, design patterns não se sabem, não é uma tecnologia, não é uma linguagem, não é uma framework ou arquitectura em particular.

Acho que design patterns é mais como uma filosofia. Claro que conhecer os principais padrões, pontos fortes, pontos fracos e motivações é um bom começo, mas, na prática, o que interessa é o que está por trás: perceber porque razão determinados padrões são padrões e, melhor ainda, conhecer os anti-patterns e porque motivo não são padrões. Depois, aplicar isso às tuas estruturas e às tuas soluções.

Não é algo que aprendas ao ler o livro, porque o livro não é de leitura. É um livro de consulta.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

Vou ver se percebo mais dessa filosofia, e tenho que ver o que realmente são e a lógica que está por trás.

O meu problema é mais na arquitectura do programa, não de saber bater código em X ou em Y linguagem.

Em relação à PAP, eu mostrei ao meu prof um programa que faz load de Meshs com a extensão "obj" e ele disse que com isso basicamente tinha a minha PAP feita, mas não quero ficar só por aqui, quero melhorar e fazer algo que não tenha sido feita basicamente à martelada.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.