What about...UDMF Editor?

Sub-fórum especial para usuários que querem discutir/aprender programação, como as linguagens C/C++/C#, Java, HTML, e por aí vai...
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
18
Localização: Sampa/Sanca
Contato:

Re: What about...UDMF Editor?

Mensagem por Fabio914 »

Rico escreveu:Se eu sei bem, pode-se usar as duas linguagens.

Bom, o legal seria pegar os códigos do ZDOOM para ver como funciona PK3/PK7

Sugestão: Estudar a LIB ZLIB que é usada para descompactar PK3.

Se o loco colocar todos os mapas em 1 wad VAI SER UM CU descompactar sim.
Mas se o nego colocar 1 mapa para cada wad é mais leve.
Descompactar na memória é um procedimento, outro é no HD e deleta-lo após o uso. é o meu pensamento.
Cara, a principio não precisamos de algo que crie o wad... Um programa que edite o texto já está bom demais, depois o usuário coloca no WAD ou PK3 dele da forma com que ele quiser (acho até melhor, ai ele usa a compactação que desejar). Mas alias, com o Allegro eu consigo acessar ZIP, se interessa... :wink:

Mas o que eu mais quero por foco é o que vamos criar? Por enquanto o "como" ainda não é o 'x' da questão pois quanto a isso eu creio que não teremos problemas (a menos que as idéias não sejam tão complexas)... Por isso peço sugestões de ferramentas e features, pois como o Logan bem disse, seria inútil tentar fazer um editor alternativo quando já se tem o DB 2...
Rico escreveu:Afinal, não temos que primeiramente pensar no código que interprete o texto puro primeiro? (UDMF)
BTW, você esta certo Rico, o objetivo principal é criar funções que extraiam o conteúdo das informações do UDMF... Isso não é algo muito complicado de se fazer, mas também pode se ter muitos problemas se não for feito bem feito...
Logan MTM escreveu:Sugestão?

C++/C#
Por mim uma opção que seje o mais portável o possível. Entre essas 2 eu escolheria C++ (alias C sharp não é C, e é da M$)... Confesso que ainda estou caminhando com orientação a objetos (breinquei um pouco com Java e só terei POO no segundo semestre desse ano), por isso prefiro linguagem estruturada (pois temos ponteiros! Algo que também temos no C++ mas não em Java, por exemplo)...
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Avatar do usuário
Drak[X]
Mensagens: 816
Registrado em: Sáb Fev 04, 2006 3:16 pm
Answers: 0
18
Localização: São Paulo - Brasil
Contato:

Re: What about...UDMF Editor?

Mensagem por Drak[X] »

Fabio914 escreveu:
Rico escreveu:Se eu sei bem, pode-se usar as duas linguagens.

Bom, o legal seria pegar os códigos do ZDOOM para ver como funciona PK3/PK7

Sugestão: Estudar a LIB ZLIB que é usada para descompactar PK3.

Se o loco colocar todos os mapas em 1 wad VAI SER UM CU descompactar sim.
Mas se o nego colocar 1 mapa para cada wad é mais leve.
Descompactar na memória é um procedimento, outro é no HD e deleta-lo após o uso. é o meu pensamento.
Cara, a principio não precisamos de algo que crie o wad... Um programa que edite o texto já está bom demais, depois o usuário coloca no WAD ou PK3 dele da forma com que ele quiser (acho até melhor, ai ele usa a compactação que desejar). Mas alias, com o Allegro eu consigo acessar ZIP, se interessa... :wink:

Mas o que eu mais quero por foco é o que vamos criar? Por enquanto o "como" ainda não é o 'x' da questão pois quanto a isso eu creio que não teremos problemas (a menos que as idéias não sejam tão complexas)... Por isso peço sugestões de ferramentas e features, pois como o Logan bem disse, seria inútil tentar fazer um editor alternativo quando já se tem o DB 2...
Rico escreveu:Afinal, não temos que primeiramente pensar no código que interprete o texto puro primeiro? (UDMF)
BTW, você esta certo Rico, o objetivo principal é criar funções que extraiam o conteúdo das informações do UDMF... Isso não é algo muito complicado de se fazer, mas também pode se ter muitos problemas se não for feito bem feito...
Logan MTM escreveu:Sugestão?

C++/C#
Por mim uma opção que seje o mais portável o possível. Entre essas 2 eu escolheria C++ (alias C sharp não é C, e é da M$)... Confesso que ainda estou caminhando com orientação a objetos (breinquei um pouco com Java e só terei POO no segundo semestre desse ano), por isso prefiro linguagem estruturada (pois temos ponteiros! Algo que também temos no C++ mas não em Java, por exemplo)...
De fato, JAVA não possui ponteiros, por isso é considerado mais fácil de aprender...
C# é um JAVA capado! Tiraram muitos recursos do JAVA para facilitar pros "programadores" e colocaram o nome de C# (conhecido por muitos como C .NET)...

Quanto a portabilidade...

Existem as opções de se utilizar o QT ou GTK+... ( são duas opções bem interessantes... e gratuitas!).

Sendo que o GTK+ é utilizado para criar a interface GNOME e possui suporte a .NET ( fazer o que né!? :roll: ). E o QT é usado pra criar o ambiente gráfico KDE.


....


Agora vem pergunta que não quer calar!!!!

Aos invés de criar algo do "ZERO", porque não criar plugins para o Doom Builder 2?
Acho que seria mais interessante o desenvolvimento de plugins para o DB2 do que criar um novo editor...

Um exemplo é o excelente plugin que o Boris está desenvolvendo!

Doom Builder 2 Plugins
DOOM é eterno!!!
As informações que temos não é a que desejamos. A informação que desejamos não é a que precisamos. A informação que precisamos não está disponível (John Peers)
Avatar do usuário
DU0
Mensagens: 6689
Registrado em: Sáb Abr 01, 2006 6:59 am
Answers: 0
18
Localização: Deimos Lab.
Contato:

Re: What about...UDMF Editor?

Mensagem por DU0 »

C# é ten$o mesmo haeuhaeuhu

C++ > all
Jogando atualmente:
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
17
Localização: Atrás do DU0
Contato:

Re: What about...UDMF Editor?

Mensagem por Rico »

Sim, mas não falei em criar WAD, mas só tipo uma padronização, ao invés do loco criar 1 wad de 960 MB, fazer 32 wad que deem 960, melhor descompactação.

Mas eu falei mesmo do editor de TEXTO. Primeiro, eu voto em usar libs diferentes e não o allegro, porque ficaremos presos a essa engine que como eu já experimentei, não consegui rodar um simples editor, mas rodei o jogo. Estranho mesmo.

Eu voto assim:

C++, pensaremos depois como renderizar as coisas.
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
Logan MTM
Mensagens: 2895
Registrado em: Dom Dez 11, 2005 8:12 pm
Answers: 0
18
Localização: Rio de Janeiro - Brasil
Contato:

Re: What about...UDMF Editor?

Mensagem por Logan MTM »

Rico escreveu:Bom, o legal seria pegar os códigos do ZDOOM para ver como funciona PK3/PK7
Sugestão: Estudar a LIB ZLIB que é usada para descompactar PK3.
Po!
Nesse caso rolaria até um Lump editor integrado. 8)
Avatar do usuário
Pedro Vc
Mensagens: 3260
Registrado em: Ter Jul 15, 2008 4:40 pm
Answers: 0
15

Re: What about...UDMF Editor?

Mensagem por Pedro Vc »

Ainda boiando nessa história de UDMF......
Preciso dar uma pesquisada.....
Esperando
-Deus Vult 2 SE
-NeoDoom 2
And Current Projects
-Lucifer's Rising
Avatar do usuário
Drak[X]
Mensagens: 816
Registrado em: Sáb Fev 04, 2006 3:16 pm
Answers: 0
18
Localização: São Paulo - Brasil
Contato:

Re: What about...UDMF Editor?

Mensagem por Drak[X] »

Pedro Vc escreveu:Ainda boiando nessa história de UDMF......
Preciso dar uma pesquisada.....
Hehehehehehe....
Acho que você é como o Rico...

BOMBA!!! Segredo descoberto!!

No final deste artigo existem 3 links que devem ajudar você a entender melhor o UDMF.
DOOM é eterno!!!
As informações que temos não é a que desejamos. A informação que desejamos não é a que precisamos. A informação que precisamos não está disponível (John Peers)
Avatar do usuário
Drak[X]
Mensagens: 816
Registrado em: Sáb Fev 04, 2006 3:16 pm
Answers: 0
18
Localização: São Paulo - Brasil
Contato:

Re: What about...UDMF Editor?

Mensagem por Drak[X] »

Fabio914 escreveu:Realmente, não é nada otimizado se escrever todo um texto para representar cada setor, linha e vértice... Por exemplo, cada caractere tem tamanho de 1 byte, para representarmos o numero 1000000 gastamos 7 bytes, o que, se armazenado em memória (formato inteiro), gastariamos 4 bytes [isto sem levar em conta o texto que indica a que se refere este 1000000]. Mas isso não impede que tenhamos uma boa compactação, como a tabela ASCII tem 256 posições (ou seja, limitada) , uma compactação eficiente seria indicar quantas vezes aparece determinado caractere (assim teríamos 256 valores armazenados) e a posição XY que ele aparece no texto a cada vez (mais alguns números por caractere). Algo mais eficiente ainda (algo semelhante ao feito por compactadores como ZIP e RAR) é pegar palavras (ou até frases inteiras) com muita incidência no texto (no nosso caso, todas as palavras da descrição dos linedefs, sidedefs, sectors, things e vertex) e marcar quantas vezes estas se repetem (muitas vezes!) e armazenar a posição desta no texto. Assim não precisamos armazenar a mesma informação repetidas vezes, poupando memória...

Um exemplo:

O texto:

Código: Selecionar todos

vertex { // ID = 1
   x=100.00;
   y=200.00;
}
vertex { // ID = 2
   x=120.10;
   y=210.20;
}
Pode ser armazenado como (obs.: palavra seguida da incidência) :

Código: Selecionar todos

vertex 2 ID = 2 1 5 2 5 x= 2 y= 2 { 2 } 2 0. 4 0; 4 // 2
(mais a informação da posição de cada um)

Assim da pra se ter uma boa compactação de texto...
Você está se referindo a utlização de matrizes para indexar e relacionar o conteúdo?
DOOM é eterno!!!
As informações que temos não é a que desejamos. A informação que desejamos não é a que precisamos. A informação que precisamos não está disponível (John Peers)
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
18
Localização: Sampa/Sanca
Contato:

Re: What about...UDMF Editor?

Mensagem por Fabio914 »

Drak[X] escreveu: Você está se referindo a utlização de matrizes para indexar e relacionar o conteúdo?
Ahhh....

não. :(
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Avatar do usuário
Drak[X]
Mensagens: 816
Registrado em: Sáb Fev 04, 2006 3:16 pm
Answers: 0
18
Localização: São Paulo - Brasil
Contato:

Re: What about...UDMF Editor?

Mensagem por Drak[X] »

Bom...
Como eu disse, sempre é possível criar plugins...

Codeimp está precisando de pessoas para criar plugins...
Ele até sugeriu alguns plugins para serem criados.
Edit: Segue a lista de plugins sugeridos...

ZDoom Editing Plugin
Slopes, 3D floors, setores coloridos, paredes translúcidas, etc.

Sector Border Plugin
Permite a criação de uma borda no interior e/ou fora de um setor, especificando a largura da borda.

Sound Tracer
Um plugin que simula um ruído num setor, e o editor mostraria a direção para onde o som vai e destacaria todas as coisas que pudessem ouvir o barulho.

Things Rotator
Plugin para girar objetos, bastaria adicionaria uma opção para que eles girem todos no mesmo sentido para o local onde o cursor do mouse aponta. (Por exemplo, se eu coloca-se os inimigos em uma formação de círculo e poderia fazer eles apontarem em direção ao centro do círculo.)

Quick Sector Draw
Plugin fazer um setor rápido como quadrado, círculo e retângulos. (Isso existe no WadAuthor!)

Map Statistics
A versão atual é uma piada e só o fiz, para que vocês pudessem observar como é fácil fazer um plugin.
Idéias adicionais incluem;
- Estatísticas de Objetos.
- Texturas (estatísticas de quantidade usadas de cada uma!)
- Estatísticas que mostrem também em formato de texto o conteúdo disponível para copiar/colar.
- Linha de comando para processar e salvar as estatísticas para um arquivo.

WadAuthor Plugin
Um modo de edição que permita selecionar qualquer elemento no mapa com botão direito do mouse e exiba um menu com as ações que podem ser executadas. (Isso existe no WadAuthor!)

Light and Shadow Caster
Automaticamente divide setores e ajusta o brilho para criar luz e sombras de uma determinada posição de uma fonte de luz.

Slidge/Oblige Plugin
Criação de mapas randômicos, mas dentro do DB, onde você pode fornecer áreas ou pontos onde não pode construir ou onde deve construir com parâmetros específicos.

Macro Scripting
Permite escrever scripts que podem realizar tarefas no editor (Macros).

Test From Visual Mode
Um plugin com uma nova ação semelhante à ação Test Map, mas só funciona a partir do Visual Mode e move o Player 1 Start para a posição da câmera indicada no Visual Mode com o mesmo ângulo existente durante o jogo. Após o retorna o Player 1 Start devolta à posição original. Desta forma o usuário pode testar rapidamente em uma sala específica do jogo, sem ter que ir no Things Mode para mover o Player 1 Start.

Archway Maker
Usa ZDoom slopes para criar elaborados arcos curvos e janelas em vários estilos arquitetônicos (romanesque, gothic, etc).

DECORATE Editor
Um editor de DECORATE para aqueles que não podem sabem usar editores wad para fazer seus próprios objeto novos. Também poderia ser útil se você estiver com pouco tempo e necessidade editar rapidamente um objeto em DECORATE para atender às suas necessidades.
DOOM é eterno!!!
As informações que temos não é a que desejamos. A informação que desejamos não é a que precisamos. A informação que precisamos não está disponível (John Peers)