Concurso desafia programadores a criar um jogo que caiba numa disquete de 1,44 MB
Numa altura em que muitos jogos ocupam dezenas ou até centenas de gigabytes, um novo concurso internacional propõe precisamente o oposto. O desafio passa por desenvolver um jogo completo que caiba numa única disquete de 1,44 MB, colocando à prova a criatividade e a capacidade de otimização dos participantes.
Um desafio que faz regressar a era das disquetes
A iniciativa foi lançada pelo site sul-coreano 2P Game Arcade, conforme detetado pelo TechSpot, e desafia programadores de todo o mundo a criar um jogo cuja dimensão total não ultrapasse 1.474.560 bytes, a capacidade exata de uma disquete de 3,5 polegadas de alta densidade, um dos suportes de armazenamento mais utilizados nos computadores pessoais durante as décadas de 1980 e 1990.
As candidaturas estão abertas até 4 de setembro de 2026 e podem participar tanto programadores individuais como equipas.
Todos os projetos têm de ser originais, desenvolvidos especificamente para esta competição e distribuídos como aplicações autónomas. Jogos executados diretamente no navegador não são permitidos.
Cada byte conta
O regulamento não impõe qualquer restrição quanto ao motor de jogo utilizado. Os participantes podem recorrer a ferramentas existentes ou desenvolver um motor próprio, desde que o resultado final respeite rigorosamente o limite de 1,44 MB.
Além do executável, esse limite inclui todos os recursos do jogo, como bibliotecas, motores, sons, imagens e restantes ficheiros necessários ao seu funcionamento. Ou seja, o jogo completo tem de caber no espaço disponível de uma única disquete.
A competição recupera um conceito que marcou várias iniciativas dedicadas à programação e à otimização de código, onde o objetivo é criar experiências completas com recursos extremamente limitados, privilegiando a criatividade e a eficiência técnica.
Os melhores jogos serão premiados
O concurso irá distinguir os três melhores projetos com prémios em dinheiro, e os vencedores receberão ainda uma disquete física com o seu jogo gravado, uma lembrança simbólica que reflete o espírito da competição.
Apesar das limitações impostas, o desafio promete dar origem a soluções criativas e mostrar que continua a ser possível desenvolver experiências de jogo interessantes quando o espaço é um problema.






















Um jogo tipo PCMAn cabe.
Prince of persia
quando saiu para DOS eram duas disquette 5,25″ só para apple II era uma double sided e mais tarde é que veio a versão de 3,5″.
bons tempos
Tu querias era a princesa da persia xD
Ainda sou do tempo de ir comprar jogos piratas em disquete. Havia muitos e bons jogos e cabiam em 1,44 MB., por isso acho que devem sair deste concurso bons resultados.
comprar jogos em disquette? quando era só copiar para uma tua?
Eram jogos piratas. Era um conhecido que tinha uma loja de eletrónica e copiava jogos para disquetes (a pagar claro).
Chulice.. no meu tempo toda a gente dava tudo a toda a gente quando era pirata
Doom
boa sorte, se for com AI já foram, por cada linha de código necessária AI escreve 1000
Irra que és mesmo b(&/R%E e nem sequer consegues ver a evolução da IA a cada novo modelo.
Consigo ver a evolução e tenho harness com regras de estruturação e simplificação de código já para não falar de repos com sample code, mesmo assim a maioria dos modelos despeja código em barda muitas vezes desnecessariamente, talvez o fable seja o melhor, mas com 3k mensais de tokens não dá para fazer muito com fable, uso mais 5.6 sol que é o mais eficiente mas leva as coisas a um extremo que depois é preciso andar a optimizar
Isso é porque não sabes escrever prompts para IA.
Este Zé Fonseca é uma anedota, nem percebe o limitado que é.
Ensina-me Nelson, eu gosto é de aprender, adorava deixar de ser limitado
Prompts? Há meses que não sei o que isso é.. vocês gostam de perder tempo
Xesusss só de me lembrar para fazer o update de Windows 3.1 para Windows 95 tive que usar 13 disquetes piratas no meu 486DX2. 🙂
Fixe fixe era comprar jogos em cassete e corriam em 48K.
E rezar para que, ao chegar ao fim, não desse “Tape loading error”. Lá tínhamos nós de pegar num cotonete para limpar as cabeças do leitor…
E quando gravavas numa K7 de 90 minutos vários jogos e depois querias jogar o jogo Z ou Y, era lindo, os mais jogados já reconhecíamos o som e lá se conseguia andar a pular de um jogo para o outro.
K7, era assim que designávamos nos anos 70 as cassetes. 🙂 🙂 🙂
ui, isso é pra pessoal da velha guarda, porque agora é tudo como garantido que sempre espaço e RAM, errado, mas com CLRs a fazer a papinha, garbage collection, poucos são os que programa de forma defensiva e eficiente
O 1º prêmio não chega a 500€ (720.000 KRW)
Grande ideia. Contudo conta muito a arquitetura para onde se programa. Se fo 16 bits como era no início dos anos 90, o programa será mais pequeno mas até pode depois não correr no PC.
Grande parte dos jogos arcade eram todos com menos de 1M e bem divertidos.
eu comecei nos 8bits. o primeiro jogo que fiz aos 14 anos foi um clone do pac-man que cabia em 48k na boa. mas tens razao que a arquitectura influencia o tamanho como e’ obvio. o tetris o limite do record dele era 32767 (com sinal) na pontuacao exactamente pelo limite do inteiro de 16 bits. podia ter ido ate 65.535 sem sinal mas optaram por ter sinal, ou seja chegando a esse limite ia para -32768 ate zero…em looping. o limite de 8 bits era 255. na Universidade estudei o processador Z80 que era o que as consolas SEGA usavam, depois um simulador MIPS (processador RISC). Programar em Assembly nao era para crianças. C puro tambem era para adultos. agora o que se da hoje, Python e’ para sem abrigos. no bom sentido que demora muito menos tempo a fazer o mesmo. mais lento e’ verdade a correr mas 100x mais rapido a construir.
Bons Tempos !!! Eu desenvolvi um sistema que funcionava com duas disquetes. O sistema era o computador sinclair ZX Spectrum com o sistema de duas disquetes (não me lembro do nome do fabricante que eram em Portugal).
Timex
Muito obrigado. Era o Timex FDD 3000.
Acho possível, sabendo que no commodore e no spectum os jogos eram em cassetes de áudio.
e’ claro que nunca programaste por isso achas possivel tudo. hoje em dia as linguagens de programacao correm em processadores de 32bits ou 64bits. o aumento de tamanho e’ exponencial nao e’ linear. spectrum era 8bits. O Commodore tinha de 8bits e 16bits. que notavas bem a diferença de qualidade. ha formas de conseguir fazer o jogo abaixo do 1.44Mb…a que me vem assim a cabeça e’ fazer em c++ que e’ o mais eficiente a compilar. (eu sei, devo estar a falar chines para ti)
Tenho cá as minhas duvidas que seja facilmente possível simular hoje o processador Z80 e conseguir meter tudo numa disquete. Talvez o mais fácil seja simular os 8 bits com o compilador de C em Linux. Ou em alternativa escrever directamente em linguagem maquina (Assembler). Não deve ser uma empreitada nada fácil. Penso que o C++ não seja o mais correcto … Digo eu que não percebo nada disto.
tanto o c puro como o assembler depende da maquina que o estas a fazer, eu fazia os meus trabalhos em casa, chega a universidade tinha 80 erros (com sorte)…quando em casa funcionava na boa sem erros. se eles forem compilar o programa fofeu. mesmo compilado a probabilidade de estourar em 3s e’ grande a conta de como o C e assembly trabalha com a memoria. tu podes fazer um programa em python e o converter em c e o compilar em C. tentei isso, ficou 5M um programa de 2k, a conta das bibliotecas que anexa ao executavel. so fiz 2 tentativas nao tive pachorra para tentar mais (acredito que conseguisse reduzir mais) fiz duas versoes uma de 13M outra de 5M, ambos o mesmo codigo, so a compilacao e’ que foi feita de maneira diferente.
mas sim as linguagens que compiladas ocupam menos espaco sao essas duas assembly e c.
para os que pensam que e’ facil este concurso, tomem o jogo snake em python e o tentem compilar como o concurso pede, que seja executavel. o jogo em si ocupa menos de 2k compilado salta para os 5Mb.
import os, time, random
def snake():
w, h = 20, 10
snake = [(w//2, h//2)]
direcao = (1, 0)
comida = (random.randint(1, w-2), random.randint(1, h-2))
pontos = 0
while True:
os.system(‘cls’)
cabeca = (snake[0][0] + direcao[0], snake[0][1] + direcao[1])
if cabeca in snake or not (0 < cabeca[0] < w-1 and 0 < cabeca[1] < h-1):
print(f"Game Over! Pontos: {pontos}")
input("ENTER para sair…")
return
snake.insert(0, cabeca)
if cabeca == comida:
pontos += 10
comida = (random.randint(1, w-2), random.randint(1, h-2))
else:
snake.pop()
for y in range(h):
linha = ""
for x in range(w):
if (x, y) in snake: linha += "O"
elif (x, y) == comida: linha += "*"
elif x in (0, w-1) or y in (0, h-1): linha += "#"
else: linha += " "
print(linha)
print(f"Pontos: {pontos}")
time.sleep(0.15)
if __name__ == "__main__":
snake()
De algo regular no tempo das disquetes , passou a desafio nos tempos de hoje . Como os tempos mudam
ya. cada vez ha mais burros a dizer asneiras todos os dias na internet.