GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


Manipulação binária de arquivos/memória (Game Maker)

5 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por GameMakerTutoriais Qui 05 Jan 2012, 23:29

Essa questão das linhas brancas eu realmente não entendi. Ainda acho que é alguma treta de surfaces... Em todos as vezes aqui abriu normal.

A questão do exemplo.... Eu tava falando "bitmap de 12 bits" só pra especificar qual é qual, mas na família do bitmap mesmo não existem "bitmaps de 12 bits" Laughing , no fim a gente acabou criando nosso próprio arquivo de imagem, mesmo que tenha ficado meio tosco, mas não deixa de ser interessante... Very Happy

Aquele último exemplo que eu postei, pode jogar ele fora! Eu errei em um cálculo lá, mas já arrumei e fiz upload de novo. Agora sim a conversão tá nota 10! Um negócio legal é que reduzir pra 12 bits por pixel dá o mesmo resultado de posterizar a imagem no Photoshop usando 16 níveis! Nesse caso da posterização, o arquivo não vai reduzir o tamanho, mas o impacto de conversão das cores é exatamente igual ao esquema que a gente criou!

Agora a redução de cores tá ótima, olha só:

Nosso arquivo com 12 bits por pixel:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 12bits10

Arquivo bitmap real de 24 bits:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 24bits10

Nem dá pra notar diferença nas cores agora! Valeu!
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por PedroX Sex 06 Jan 2012, 11:56

Caramba, ficou muito igual.
Nem dá para perceber diferenças.
Muito bom. Você criou um novo formato de imagem super leve (metade do peso).
Eu também vou tentar algo para resolver o problema das linhas brancas, o ideal seria outra pessoa baixar (de preferência com um pc não muito bom) e falar se acontece ou nao.

Até mais!

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por GameMakerTutoriais Sex 06 Jan 2012, 12:47

Vamos ver se a gente consegue resolver esse problema das linhas. Very Happy

Bom, se caso a imagem ficar distorcida, é só mudar essa linha do código:

Código:
extrabyte := min(incup - bmpw, bmpw - incdown); // Múltiplo mais próximo

por essa:

Código:
extrabyte := max(incup - bmpw, bmpw - incdown); // Múltiplo mais próximo

(já refiz o upload com a correção)

Realmente a imagem fica mais leve, não é tão leve ainda, mas a gente tá manipulando um bitmap... Se a imagem usasse menos cores ainda daria pra reduzir cada pixel pra 3 bits ou até 2 bits. Valeu!
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por PedroX Sex 06 Jan 2012, 15:39

Na hora que caiu a ficha eu percebi que o tamanho do arquivo externo é menor, mas a memória ram ocupada no jogo/programa é a mesma.

Será que, se for usado 9 bits / pixel, a qualidade vai ficar muito menor?

Meu pc tá demorando uns 2~3 segundos para carregar a imagem. Tá bem lento mesmo. O seu carrega em quanto tempo?

Até mais!


Última edição por Pedrø em Dom 29 Jul 2012, 13:10, editado 1 vez(es)

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por GameMakerTutoriais Sex 06 Jan 2012, 16:41

A memória que é usada é sempre a mesma, independente de tipo de arquivo, porque quando a imagem tá na memória, ela não tem "formato" (já foi decodificada), ela é só um mapa de bits.

A questão da demora para abrir é porque estamos usando o Game Maker, surface e lendo o arquivo byte a byte, por isso que demora mesmo. No meu PC leva uns 2 segundos.

A perda de qualidade é muito variada, porque depende muito do número de cores que a imagem usa:


Sem perda (24) e com pouca perda (12)
12 bits = 2^12 = 4096 cores

24 bits por pixel:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 24_bit10

12 Bits por pixel:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 12_bit10

As que sofrem perdas mais bruscas, e redução de tamanho (usando o nosso sistema do script, dividindo a o valor da cor, ficaria assim):
9 bits (3 bits por canal) = 2^9 = 512 cores
6 bits (2 bits por canal) = 2^6 = 64 cores
3 bits (1 bit por canal) - 2^3 = 8 cores

9 bits por pixel:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 9_bits10

6 bits por pixel:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 6_bits10

3 bits por pixel:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 3_bits10
surpreso

Essas aqui são as mesmas condições, porém com dithering ( http://pt.wikipedia.org/wiki/Dither ) feito no Photoshop. As que sofreram dither tem o mesmo tamanho de arquivo que as que não sofreram. É um algoritmo pra otimizar a redução de cores:

9 bits por pixel com dither:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 9_bits11

6 bits por pixel com dither:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 6_bits11

3 bits por pixel com dither:
Manipulação binária de arquivos/memória (Game Maker) - Página 2 3_bits11

Pra fazer o cálculo de quanto espaço cada uma ocupa é só fazer:
([altura] * [largura] * [bits por pixel])/8 = número de bytes que a imagem usa

Uma imagem 320x240, por exemplo...
24 bits = 230400 bytes = 225 KB
12 bits = 115200 bytes = 112 KB
9 bits = 86400 bytes = 84 KB
6 bits = 57600 bytes = 56 KB
3 bits = 28800 bytes = 28 KB

Esse dither eu não tenho ideia de como fazer em programação. Nunca peguei um algoritmo pra ver como é... Essas imagens aí eu fiz no Photoshop. Dá pra reduzir o número de cores no Photoshop como eu fiz e depois usar aquele esquema nosso em GML, aí funciona também. Mas o dithering programado no braço com certeza deve ser bem mais complicado!
Falou!



avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por theguitarmester Sáb 15 Dez 2012, 15:33

sei que o Tópico já tem um Tempo, mas o Usuário entrou ontem mesmo no Fórum, mostrando ainda estar ativo.

As Imagens que são feitas por seu Programa Simplesmente não funcionam, mas não é só isso, queria saber se você me saberia dizer porque se eu abrir uma Imagem 'digamos no Bloco de notas' e salvá-la, ela não irá abrir! não sei se é só no Meu computador, já tentei fazer um programa no GM que soltava arquivos, mas devido a esse problema de você abrir o arquivo e salvar e ele não abrir mais, parei com o Projeto.

Você tem idéia do que seja?
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2209
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por PedroX Sáb 15 Dez 2012, 15:53

As Imagens que são feitas por seu Programa Simplesmente não funcionam
Aqui funcionam.

mas não é só isso, queria saber se você me saberia dizer porque se eu abrir uma Imagem 'digamos no Bloco de notas' e salvá-la, ela não irá abrir! não sei se é só no Meu computador, já tentei fazer um programa no GM que soltava arquivos, mas devido a esse problema de você abrir o arquivo e salvar e ele não abrir mais, parei com o Projeto.
O problema é que o Bloco de Notas não lê bytes. Se você quiser editar uma imagem modificando seus bytes, você precisa de um editor apropriado. Assim quando você salvar, ele vai escrever todos os bytes corretamente.

Até mais!

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por Pit Bull Sáb 15 Dez 2012, 17:50

PedroX escreveu:
As Imagens que são feitas por seu Programa Simplesmente não funcionam
Aqui funcionam.

mas não é só isso, queria saber se você me saberia dizer porque se eu abrir uma Imagem 'digamos no Bloco de notas' e salvá-la, ela não irá abrir! não sei se é só no Meu computador, já tentei fazer um programa no GM que soltava arquivos, mas devido a esse problema de você abrir o arquivo e salvar e ele não abrir mais, parei com o Projeto.
O problema é que o Bloco de Notas não lê bytes. Se você quiser editar uma imagem modificando seus bytes, você precisa de um editor apropriado. Assim quando você salvar, ele vai escrever todos os bytes corretamente.

Até mais!

O bloco de notas só lê os bytes correspondentes a tabela ASCII, os que ele não reconhece coloca um caractere especial ou um espaço.

Quando você abri uma imagem no bloco de notas e salva, o blocos de notas salva como documento de texto e não mais como imagem.
Pit Bull
Pit Bull

Data de inscrição : 31/08/2010
Reputação : 16
Número de Mensagens : 646
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Unity
  • C#
  • Outros


https://discord.gg/ZPM2d6q

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por GameMakerTutoriais Seg 17 Dez 2012, 15:09

Na verdade, sim e não. Dependendo do conteúdo do arquivo, tanto o bloco de notas como qualquer outro editor de texto plano podem salvar o conteúdo binário de um arquivo. O programa não "se importa" com o conteúdo de texto porque ele não tem cabeçalho nem campo apropriado, exceto quando o texto usar Unicode que, se não me engano, o cabeçalho começa com dois bytes predefinidos...

Como o valor do ASCII corresponde a cada valor de byte no arquivo, mesmo que o notepad abra, você ainda vai conseguir salvar o binário. Só que vai depender do conteúdo. Como o amigo falou aí em cima, tem alguns códigos que não são impressos na tela, mas eu não sei se o notepad coloca espaços no lugar.

Aqui o script também funciona. Se você quiser hospedar a imagem gerada aí e colocar o link pra download aqui, eu baixo e tento ver o que aconteceu. Se puder, coloque também a original.
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Manipulação binária de arquivos/memória (Game Maker) - Página 2 Empty Re: Manipulação binária de arquivos/memória (Game Maker)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos