These weeks in Veloren 247
5/2/2025 Post original
Você pode sentir uma leve turbulência enquanto uma saraivada de novos itens, músicas e brincadeiras enche o ar. Lá vamos nós!
- horblegorble, colaborador do TWiV
Anúncio
Seja você um fotógrafo casual ou um fotógrafo de verdade, queremos que você participe deste concurso de fotografia organizado por @walpo:

Veloren de outrora
Estamos procurando uma nova imagem de capa para o arquivo README do Veloren.
Se você acha que tem uma foto legal para compartilhar com a comunidade, fique à vontade para publicá-la nos tópicos de envio do Discord ou do Zulip !
Regras:
- As inscrições estão abertas de agora até quinta-feira, 12 de junho, às 21:00 UTC (cerca de 1 mês e meio). Conteúdo enviado posteriormente não será incluído.
- Você tem a liberdade de usar nosso logotipo atual (textual) da Veloren nas imagens enviadas, mas isso não é obrigatório.
- As imagens enviadas devem ter uma altura mínima de 600 pixels e uma proporção de 16:9.
- Cada participante pode enviar até três imagens. Caso um participante tenha enviado mais de três imagens até o encerramento do período de envio, perguntaremos em particular quais imagens serão incluídas na fase de votação. Caso o participante não responda em tempo hábil, reservamo-nos o direito de escolher as três imagens mais recentes por padrão.
- Após o encerramento do período para inscrições, definiremos um sistema de votação para que nossa comunidade escolha seu favorito. Reações de emojis no Discord não contam para a votação.
- Você deve ser o detentor dos direitos autorais da imagem enviada. Isso significa que você não pode usar inteligência artificial generativa (GenAI) para criar parte ou a imagem inteira (atualmente, uma área cinzenta legal).
- Você concorda em compartilhar seus envios sob uma licença aberta. Por exemplo, algumas licenças do pacote Creative Commons .
- Se sua imagem vencer o concurso, nossa equipe entrará em contato para discutir com qual licença você deseja compartilhar seu trabalho e como lidar com a atribuição.
Trabalho do colaborador
Obrigado a todos que contribuíram para o veloren nas últimas semanas: @do-no-van, @Supa, @Gemu, @floppy, @Joe_Cool, @Crabo, @isse, @juliancoffee, @Synis, @srpapinha, @zesterer, @souffle, @unii, @imbris, @Tarhun, @UncomfySilence, @Nikophos e @violetwillow.
Obrigado aos tradutores do Weblate que contribuíram nas últimas semanas:
| Linguagem | Tradutores |
|---|---|
| tcheco | Janez |
| Inglês | Janez | EatherBone | ministroganso |
| Francês | Limina | sandraev |
| Alemão | compilador de café | CodeVlogs | Benny | Virtex | fnetX |
| polonês | K0RR |
| russo | EatherBone | aleeo | lucius_pilgrim |
| sueco | Emissão |
| ucraniano | ministro goose |
Trabalho mesclado
Ação brilhante à distância
Incapaz de esperar pela reformulação do arco, @do-no-van assumiu o controle dos projéteis com uma refatoração pesada. É melhor preparar a proteção para os olhos, pois as faíscas voam pela cidade.
🔊 Todos os tipos de shows de luzes. Música de @Crow
E espero que nada de sinistro esteja esperando pelo "dia em que os idiotas voarão" .
GitLab: !4593
Oud e um alaúde
O que começou como um alaúde remodelado na primeira incursão de @Joe_Cool com o MagicaVoxel, tornou-se um catalisador para a chegada do novo instrumento de Oud . @Supa foi o químico supervisor dessa reação, mixando voxels de @Gemu e áudio de @floppy. Você pode ir até a bancada de trabalho para apreciar os aspectos positivos dessas novas notas.

O recém-chegado (à esquerda) e seu primo remodelado (à direita)
🔊 Novas condições
Ainda com o jaleco, @Supa continuou com alguns ajustes instrumentais:
- O instrumento talharpa gelado agora está voltado para o lado correto no inventário
- Os tamanhos das imagens de sprites para instrumentos são alterados para serem consistentes entre si
- Pequenos ajustes na receita para banjo e kora
GitLab: !4778
Amigo ou inimigo
Seja para começar uma briga ou manter a paz, as mudanças do @Crabo na lista de jogadores eliminam as incertezas nas negociações do modo de batalha e no status de moderador. Os ícones de espada foram fornecidos por um traficante de armas secreto que se parecia muito com o @Supa.

Sua carreira de duelo está a apenas um clique de distância
GitLab: !4790
Mise en place
Com o trabalho de preparação feito nos sprites que podem ser colocados em mosaicos, @isse começou a criar um sistema para juntar os mosaicos de móveis:
A maneira como colocamos sprites componíveis no site2 é uma característica de extensão do Painter , que é o que usamos para definir como os blocos são colocados no site2 , e como sprites são blocos, isso os inclui.
Nisto, criei métodos auxiliares para posicionar sprites genéricos em mosaico e funções que se referem diretamente a alguma configuração de sprites, criando algo maior, como uma cama.
Existem diferentes tipos de métodos auxiliares genéricos. No momento, tenho um unidimensional e um bidimensional. O unidimensional, chamado tileable1 , recebe um sprite lateral e um sprite do meio, além de parâmetros para posição, direção da face e largura. Isso pressupõe que o sprite com a posição máxima precisa ser espelhado.
Alguns ASCII+ para demonstrar isso:
width: 4 blocks < □ □ > center sprite: □ 2 blocks < > side sprite: < mirrored: >
O 2D é chamado tileable2 . Ele precisa de um pouco mais de argumentos, então ele usa a estrutura Tileable2 para defini-lo. Ela armazena um retângulo e uma altitude para definir a posição. Um sprite central, um sprite lateral e um sprite de canto. Tanto os sprites laterais quanto os de canto podem variar dependendo do lado/canto em que são colocados. Ele também tem sua própria direção para girar toda a construção. Para uma tabela onde todos os cantos e lados são iguais, isso se parece com:
+y size: 5x3 blocks (x by y) ⭡ center sprite: □ ╵ ┌ ∧ ∧ ┐ side sprite: < ╵ < □ □ > rotated/mirrored: > ∧ ∨ ╵ └ ∨ ∨ ┘ corner sprite: └ └ ─ ─ ─ ─ ─ ⭢ +x rotated/mirrored: ┘ ┌ ┐Para uma cama fica assim:+y size: 5x3 blocks (x by y) ⭡ center sprite: □ ╵ ┌ ∧ ∧ ┐ side sprite: < ╵ < □ □ > rotated/mirrored: > ∧ ∨ ╵ └ ∨ ∨ ┘ corner sprite: └ └ ─ ─ ─ ─ ─ ⭢ +x rotated/mirrored: ┘ ┌ ┐
+y size: 3x2 blocks (x by y) ⭡ side sprite: ∧ | ∨ ╵ ╔ ∧ ┐ (-x) corner sprite: ╚ | ╔ ╵ ╚ ∨ ┘ (+x) corner sprite: ┘ | ┐ └ ─ ─ ─ ⭢ +xPorque existem diferentes sprites de canto usados para as diagonais que enfrentam+y size: 3x2 blocks (x by y) ⭡ side sprite: ∧ | ∨ ╵ ╔ ∧ ┐ (-x) corner sprite: ╚ | ╔ ╵ ╚ ∨ ┘ (+x) corner sprite: ┘ | ┐ └ ─ ─ ─ ⭢ +x
-x e +x .
Existem também métodos auxiliares, como chairs_around , que posicionam sprites em torno de um limite específico. E métodos específicos para sprites que não se encaixam em nenhum padrão genérico que tenhamos, por exemplo, lanternpost_wood . Quando houver mais sprites que precisem desse padrão específico, métodos mais genéricos serão criados.

Um mosaico de ladrilhos
GitLab: !4799
Abaixe o fogo
@juliancoffee entende que, assim como um bom sanduíche de vegemite, você só precisa de um pouco de pasta. Então, agora, quando vocês estiverem fazendo mosh na fogueira com os amigos, a chance de se acenderem aumenta com o tempo e a intensidade da fonte. E quando o calor pegar, a culpa será só do mundo. Um alívio para os guardas da cidade que andam ocupados apagando brigas entre vizinhos esquentadinhos.
O novo lançamento deles é realmente um sucesso lento
GitLab: !4832
Mais progressão vertical
Não, não desse tipo. O outro. É, escalada.
De qualquer forma, @Synis ouviu o feedback sobre as mudanças recentes e criou a próxima versão candidata a lançamento. Ela permite que você supere o medo de cair da escalada e também traz o retorno do salto morro acima. Outras mudanças incluem a persistência do estado de empunhadura, bem como correções nos cálculos de custo de energia e saltos infinitos em paredes.
Deslizando para baixo e subindo
GitLab: !4811
Guerra dos nomes
E no sétimo dia, o usuário cometeu um erro de digitação ao nomear seu novo mundo. Felizmente, @juliancoffee o deixou reescrever a história:
Agora você pode alterar o nome do mundo 🏔️ mesmo depois de ele ser gerado ✍️
Alguém me disse uma vez
GitLab: !4830
Estimativas mundanas
Observar a água ferver, a grama crescer, a tinta secar ou esperar o próximo tique no processo de erosão de um novo mundo. Essas são expressões universais para desgastar a alma. Mas agora há alívio para esta última, com atualizações de @isse para tranquilizar sua mente:
Adicionadas algumas informações adicionais ao gerar mundos, agora mostra um progresso mais detalhado e uma estimativa de tempo de quanto tempo a erosão levará

Pode ser possível sincronizar com uma contagem regressiva de Ano Novo
GitLab: !4834
Confusão na selva
@juliancoffee girou a roda das cores para criar um remix do nosso ambiente tropical:
As selvas agora parecem um pouco mais com selvas. Em colaboração com @Gemu, mudei o esquema de cores para tornar a casca mais escura e reconhecível.

Vermelho Floresta Tropical -> Marrom Botânico
GitLab: !4831
Só giro e nenhum balanço deixam Jack um menino tonto
Depois de algumas sessões de treinamento com @srpapinha, seus parceiros de dança não tão amigáveis aprenderam a entrar em ritmo. Um amplo conjunto de modificadores de orientação corpo a corpo aposentou suas rotinas de "robôs" de mira.
🌪️ 🤢 Rodando e rodando nós vamos
GitLab: !4803
Mesmo sprite, saque diferente
Sem dúvida, todos nós já ouvimos a expressão "Você não deve julgar um sprite pelos seus voxels". É uma sábia ideia que @juliancoffee colocou em prática para o wordgen:
Ok, finalmente aconteceu. Fundimos um MR que permite substituir o saque padrão dos sprites ao colocá-los.
Atualmente, o funcionamento dos contêineres/colecionáveis se dá por meio do método SpriteKind::default_loot_spec() (anteriormente conhecido como SpriteKind::collectible_id ), que consiste em uma grande lista de sprites e suas respectivas tabelas de loot. Isso é aceitável e até desejável para 70% dos sprites. Quando você pega uma Maçã, não quer mais nada. E os baús nas salas dos chefes em nossas novas masmorras de tirar o fôlego se beneficiam muito da conformidade estilística com o ambiente.
Mas temos muitos contêineres genéricos, como caixotes e barris, em cidades e cavernas e, principalmente, em locais, o que inevitavelmente nos obriga a ter as mesmas tabelas de saque chatas. Bem, não mais! Veja a configuração do local para o altar de Saurok:
#![enable(implicit_some)] #![enable(unwrap_newtypes)] [ ( specifier: "world.structure.spots.saurok-altar", center: (10, 13, 3), custom_indices: { + 11: SpriteWithCfg(DungeonChest0, ( + loot_table: "common.loot_tables.spot.saurok_altar", + )), 105: Filled(GlowingRock, (r: 161, g: 255, b: 133)), 113: Filled(GlowingRock, (r: 139, g: 245, b: 104)), }, ), ]
Esta linha nos permite substituir o baú padrão pelo DungeonChest0 e sua própria tabela de saques! Para quem não conhece o sistema de pontos, os pontos geralmente são pequenos modelos pré-fabricados com blocos específicos que reinterpretamos usando índices personalizados da paleta MagicaVoxel. 0 a 16 são predefinidos, e 11 representa o baú padrão, mas você pode substituí-los.
E você pode fazer isso em praticamente todas as situações se puder colocar um sprite junto com SpriteConfig , o que inclui cavernas, cidades, locais gerados proceduralmente, masmorras, etc.
No momento, o MR só habilita essa funcionalidade e precisamos de pessoas de equilíbrio e testadores para tornar o mundo realmente vivo usando esse sistema 🙂

Marco zero, um e dois para a nova configuração de saque
GitLab: !4354
Marque minhas palavras
Dizem que os moradores locais sempre sabem qual é o melhor lugar da cidade, mas têm sido reservados para compartilhar dicas. @zesterer soltou a língua o suficiente para pelo menos apontar os pontos turísticos locais. Se continuarmos jogando bem as cartas, eles ainda podem nos dizer onde encontrar o melhor chá gelado de girassol.
Nem sempre é possível navegar pelo horizonte ao nível do solo
GitLab: !4750
Ocupado com batalhas e escambos
Em vez de ver tudo na vida através de uma janela de negociação, @souffle deu aos comerciantes alguma clareza na expressão de suas preocupações.

Negociação de sucessos vs negociação de bits
GitLab: !4814
Você conhece um bom lugar?
O que produtos de limpeza e Veloren têm em comum?
Testar a área é uma boa prática. E agora fica ainda mais fácil com um toque especial do @juliancoffee:
Ah, e também estendi o comando /spot para funcionar com todos os pontos (esses mini-sítios, como o totem gnarling). O comando /spot foi criado originalmente por @isse, mas funcionava apenas para pontos definidos em arquivos .ron . A maioria dos pontos mais antigos não são definidos em arquivos .ron , então precisávamos consertá-lo. Ponto bônus: agora ele te teletransporta 100 blocos acima do ponto, então prepare seu planador e voe!
Só passando por aqui
Vaca grande despeja leite velho
Comerciantes de queijos estavam se instalando no coliseu do Minotauro, e esse touro não é fã de degenerados do setor de laticínios. Mas ele se sentia preso no ringue como um mero gerente de franquia, tendo se desentendido com a gerência da Myrmopolis™ anteriormente. Isso levou o grande Minotauro a contratar a representação da @unii, que foi bem recebida pela empresa. @floppy foi enviado para consertar as coisas, com seu parceiro de testes @Supa ajudando a resolver alguns dos problemas de reposicionamento.
Queijo na bandeja, não pelo jogador
GitLab: !4783
Jogando seu peso ao redor
Das negociações bovinas às inspeções de segurança, @unii trocou de chapéu para nos lembrar dos riscos gravitacionais envolvidos na definição da massa da entidade:
Reduzi a massa das invocações de Frost Gigas (Guerreiros Boreais), para que fiquem menos vulneráveis a danos de colisão/queda. Isso afeta principalmente os encontros em que as diferenças de elevação entram em jogo.
Vai precisar de muito mais neve para quebrar esse outono
GitLab: !4827
Mais mudanças:
- resolveu uma correção de TODO no discurso de sentimentos hostis de NPCs - @souffle - !4813
- ajustes de dano em ataques do mouse esquerdo para espada e machado - @unii - !4806
- ícones de buff para habilidades trocados para a habilidade respectiva sempre que possível - @Supa - !4821
- A lógica de economia de tamanho da janela foi movida - @imbris - !4819
- O salvamento de janela foi desabilitado se o tamanho for zero em qualquer direção - @isse - !4825
- detecção adicionada para dirigíveis presos junto com ações corretivas - @Tarhun - !4822
- removeu a verificação da ferramenta de mineração antiga para sprites saqueáveis diretamente - @juliancoffee - !4837
- mudou para o upstream fluente - @juliancoffee - !4840
- 'PlotKindMeta' usado em vez de apenas 'PotKind' para instruções de NPCs - @isse - !4848
- pequenas correções, definitivamente nada sério - @isse - !4828
Trabalho não mesclado em andamento
Esse Gigas tá pegando fogo
Agora pode ser o momento de se familiarizar novamente com os planos locais de resposta a incêndios florestais. O que antes era considerado uma névoa passageira tornou-se chamas distantes, porém visíveis. A ameaça derretida está se preparando para explodir.
Vamos dar uma olhada no registro geológico para ver onde tudo começou.

Planos de ataque — por @Gemu

Este não é um esporte para espectadores — por @Gemu
Interpretação de papéis como uma batata muito quente — por @do-no-van
♪ Eu caí em um anel de fogo ardente ♪ — por @do-no-van
{{ imgzoom(width=718, height=689, caption="Montando o arsenal de cinzas — por @Gemu", src="https://s3.eu-central-2.wasabisys.com/veloren-blog/cdn/247/2024-12-02_Gemu_ashen-warrior.webp", ) }}
Previsão para hoje: ondas de calor contínuas — por @do-no-van

Estreia do teste de streaming — por @Necti

Consequências de fogo — por @And_i
GitLab: !4638
Jogue TUDO fora!
Garrafas balísticas e frascos voadores estavam no radar dos esforços de prototipagem do @UncomfySilence para ampliar o alcance da refatoração de arremessáveis. Mas por que parar nas poções? Essas mãos foram feitas para arremessar, então vamos colocar as coisas no ar!
Infelizmente, os controles e definições de itens existentes não são tão precisos para a tarefa em questão. Então, a conversa se voltou para a manipulação das dinâmicas em jogo: equipar, arremessar, consumir e golpear. De espaços na barra de atalhos e inventários especiais a cintos de utilidades e menus radiais; muitas ideias surgiram. Eventualmente, o controle de tráfego aéreo foi chamado para configurar um espaço aéreo dedicado dentro de uma Solicitação de Comentários (RFC) . Os objetivos ambiciosos permanecem: praticamente todos os itens podem ser pegos, arremessados e balançados.

Não pegue um resfriado
GitLab: !4846
Discussões
Quem é o próximo?
Palhaços à minha esquerda, palhaços à minha direita — em quem eu dou um soco primeiro? Sabemos que os PNJs não são os que devem ser questionados; eles adoram brincar de perseguição trivial num jogo de "acerte a toupeira". Mas se tirássemos as vendas dos olhos e clareássemos a mente deles, será que poderíamos ensinar truques novos a esses cachorros velhos? Quando @James colocou essa questão na mesa, ele estava pintando um alvo para canhões cerebrais em si mesmo. Não demorou muito para que a discussão disparasse em algumas trajetórias:
- Um índice de ameaça/agressão para cada entidade-alvo poderia ser usado para tomar decisões priorizadas. Um pouco de lógica difusa e atualizações mais detalhadas podem evitar que a entidade fracasse ou fique muito cara.
- A personalidade e a astúcia de uma entidade devem influenciar a forma como ela escolhe suas batalhas, se posiciona ou escolhe seu carregamento? Talvez ela tenha uma mentalidade logística para identificar e eliminar jogadores que oferecem reforços e suporte.
- Adicionar um pouco de imprevisibilidade pode ser útil para sentir como se estivéssemos lutando contra seres conscientes, em vez de algoritmos ambulantes. Os mais experientes entre eles poderiam até ter a capacidade de misturar seus próprios ingredientes de combate.
- Será que tudo isso pode ser implementado em um sistema que permite níveis variados de complexidade? De Gnarlings a Gigas, de lutadores solo a jogadores de equipe.

Alvo adquirido
Preparando uma tempestade
Depois que as misturas de ideação de @Nikophos transbordaram da panela e do caldeirão da cidade, ele partiu para um breve retiro em uma cabana de bruxa (convenientemente vazia). Livre para mergulhar no ambiente potente e sem ventilação dos caldos do porão e dos vapores do caldeirão, a verdadeira destilação pôde começar. O que borbulhou à superfície foi um sistema baseado em "essências" para criar poções.

Causa e efeito — por @Nikophos

Os ingredientes essenciais — por @Nikophos

Um guia para mixologistas — por @Nikophos

Alternativas alquímicas — por @Nikophos + @violetwillow
@violetwillow, a parceira da slime, chegou após esses brainstormings para ajudar a infundir novas ideias em um conceito de liquidificador octogonal . Quantidades variadas de ingredientes levariam você pelos segmentos para criar poções diferentes. Um coquetel mais raro pode ter um alvo específico, enquanto a região de uma poção mais comum pode abranger vários segmentos.

Será que vai combinar? — por @Nikophos
Vitrine da comunidade
A maré vai embora
Sabendo que o guerreiro Sahagin não é muito de palavras, @unii criou uma atividade de quebra-conchas para eles se abrirem.
Cuidado com as taxas ocultas nas cobranças
Doom-loren
@horblegorble investigou além dos biomas de lava de suas pastas de capturas de tela para criar o clima certo com o design do logotipo de @souffle.

Será esse o futuro de um Gigas imparável?
Dominando a forja
Com os movimentos certos e um ritmo constante, quem precisa de armadura? @And_i, com certeza.
O temperamento quente encontra o ritmo tranquilo
Piquenique em Goblet Rock

O cartão postal que deu início a tudo — por @Supa
A história começou como qualquer outra em Veloren. O típico caso de dirigíveis, masmorras e passeios em geral. Foi quando nosso bando de desajustados descobriu uma formação rochosa única que as coisas saíram do roteiro e viraram uma produção voxelada da Tripulação Motley e do Cálice Sagrado. Os rumores se espalharam e a razão se perdeu — dizia-se que beber de sua neve derretida permitiria ver a semente da geração mundial.
Independentemente da sanidade mental naquele momento, a missão era clara. Como escalar aquela coisa maldita era um pouco mais nebuloso. No entanto, o mal-estar da altitude e os ventos fortes eram apenas um tempero extra para a subida, e uma mistura mútua de incentivo e calúnia levou todo o grupo ao topo. Agora, finalmente no topo da Rocha do Cálice, eles encontraram vistas fantásticas, acústica excepcional e júbilo jubiloso. Mas, por mais neve que comessem, as grandes sabedorias não lhes foram concedidas. Talvez o verdadeiro tesouro fossem mesmo os amigos feitos ao longo do caminho.
Após se recuperarem da hidratação excessiva, a gangue decidiu embarcar em aventuras vampirescas na vizinha Fortaleza Zaluj. O que havia lá dentro eram provas de trabalho em equipe, muito sangue derramado e muita bobagem. Muitas travessuras e uma viola depois, uma descoberta nada relacionada foi feita: sua cavalaria de coco podia ser convertida em granadas de mão sagradas. Foi prontamente acordado que Zaluj não era Camelot, e a cidade abaixo de Ochreseaux era onde eles poderiam fazer coisas bastante tolas. A maioria dos registros do que aconteceu em seguida foi transformada em cinzas, e o que sobreviveu estava bastante chamuscado. Embora muitas evidências tenham sido destruídas, não era mistério quem era o principal encrenqueiro.
Aqui está o álbum de aventuras do @horblegorble.
Você gosta de rabiscos bobos?

Visitantes tolerados
Drama suspenso
Batalha da Lua Sangrenta


Esquadrão de caracóis
Necti nefasto
Gigas gladiadoris
Uma armadilha colossal para caranguejos.
Vira uma pista de gelo.
Capturando presas congeladas.

Tocando agora: The Real Stadium Blues
🔊 Assentos na primeira fila do show
Capturas de tela
Céu vibrante, águas cintilantes — por @Indragedall Algo especial — @Retromaster Uma partícula de poeira estelar — @horblegorble Esporos sob Sporia — por @Supa Algumas colheitas muito animadas — por @isse Arranjos de fluxo de ar — @horblegorble Esses ecos fazem minha voz soar fria? — por @Sam113 Não se esqueça de verificar a previsão do tempo — por @Supa Templos torrenciais — por @juliancoffee ♪ Estou voando na chuva, oh voando na chuva ♪ — por @Sam113 Indisposto — por @Sam113 Tolerar estranhos vs. andar com o grupo — por @Crabo + @Supa Mergulhando em busca dos pretos mais profundos — por @Muerto Gritando para o vazio, olhando para o abismo - onde as ravinas se encaixam? — por @And_i Deixando de lado os cogumelos — por @Sam113 Não estamos tão altos agora, não é? — por @juliancoffee Dirigindo por aí — @horblegorble O início de um problema de poluição atmosférica? — por @Sam113 Melodias do amanhecer, com The Songbirds — @horblegorble


















Este blog de desenvolvedor é baseado em informações coletadas em #blog-content , onde os colaboradores do jogo são sempre convidados a comunicar suas atualizações ou simplesmente postar um link para um canal diferente.

@Supa e amigos na fila para seu brinquedo favorito. Não perca o próximo voo :)