Archive for the 'Simple World' Category
Simple World 1.0a1 acaba de ser publicado. Podes obter esta versión na sección de descargas de SourceForge.net.
Como se trata da primeira versión de Simple World, esta versión débese considerar coma unha versión 0.1. A razón para ter un número de versión tan "alto" é porque cada versión de Simple World fai referenza a unha especificación concreata. Así, a versión 1.0a1 é a implementación de parte da funcionalidade proposta na especificación 1.0 de Simple World.
O Simple World Language (SWL) considérase completo, polo que non deberían haber cambios. O compilador (swlc) está totalmente implementado. Co cal, xa se poden escribir os primeiros bichos para Simple World. O decompilador (swld) está totalmente implementado. Posto que os bichos aínda non poden evolucionar en Simple World, o decompilador non é moi útil neste momento.
Os bichos introdúcense no Mundo en forma de ovos que co tempo se acaban convertindo en bichos. Os bichos nesta versión só se poden mover e obter información sobre o Mundo. Ademais, os bichos, aínda que consumen enerxía, nunca morren.
Creouse o primeiro bicho para Simple World: brainless. Este bicho fai movimentos aleatorios ata que detecta un elemento que o evite. Se o elemento é comida ou un ovo, brainless cómeo. Se o elemento é un bicho, brainless atácao. Despois de comer, se ten enerxía dabondo, brainless crea un ovo. Debido a algún erro no código SWL do propio bicho ou no código para a obtención de números pseudoaleatorios, brainless acaba nun estado no que se deixa de desprazar e só xira.
chúzame - Primeiro programa executado por SWcpu
0 Comments Published xullo 11th, 2007 in Programación, Simple World, Software Libre
A CPU de Simple World (SWcpu) aínda non está acabada de todo, fáltalle envia-las interrupcións provocadas por instruccións ou direccións de memoria erróneas. Aínda así, a SWcpu xa executou o primeiro programa.
O programa en cuestión é moi sinxelo, xa que só calcula os números da secuencia de Fibonacci dende o 1 ata 32768 sen parar. Pero serviu para probalo compilador e a CPU.
| Código fonte de fibonacci.swl | Código obxeto executado por SWcpu |
|---|---|
![]() |
![]() |
chúzame - Especificación 1.0 de Simple World
0 Comments Published xullo 11th, 2007 in Simple World, Software Libre
Despois de varios meses de traballo, liberouse a versión definitiva da especificación de Simple 1.0. Algunhas cousas aínda poden cambiar, coma a biblioteca estándar de SWL, pero nada demasiado importante.
A especificación, en inglés e en formato ODT e PDF, pódese atopar na páxina de Simple World.
A maior parte da codificación xa está feita: a CPU e a base de datos. Espero que a primeira versión de Simple World saia nos próximos meses.
chúzame -
Dende hai uns días está dispoñible a páxina web de Simple World. Pasou medio ano dende que creara o proxecto en SourceForge.net e algúns xa daban o proxecto por abandonado. Que pouca confianza!
Para a páxina web empreguei Drupal 5.1, o tema bluebreeze minimamente modificado e uns cantos módulos (Codefilter, Diff, Focus, XML Sitemap, Quote, TinyMCE SYSIWYG Editor e TrackBack).
O logotipo non é que sexa moita cousa, máis é todo do que son capaz coa miña nula habilidade artística. O logotipo pretende ser un par de bichos pelexando.
chúzame - Despois da inexperada publicidade que recibiu Simple World fíxeronme dúas preguntas sobre o proxecto.
Por que se emprega ensamblador para o código dos bichos e non unha linguaxe de alto nivel?
Noutros proxectos similares créanse robots que pelexan os uns cos outros. O código destes robots é un programa executado pola propia máquina, polo que pode estar escrito en calquera linguaxe de programación.
Simple World é un pouco máis complexo que este tipo de proxectos. En Simple World os bichos pódense reproducir, co que, o número de bichos que poden estar vivos nun determinado momento pode ser grande podendo saturar a máquina se houbese un proceso por bicho. A solución é facer que todo Simple World sexa un proceso que vaia executando unha fracción do código dos bichos un detrás do outro. Ademais, deste xeito conséguese que tódolos bichos teñan o mesmo tempo de CPU e non se depende do planificador de procesos do sistema operativo.
Había que definir unha linguaxe para o código do bicho. Unha linguaxe de baixo nivel garante dispersión do código, co que unha variación nel (mutación do código na reprodución) é máis fácil que non modifique drasticamente o resultado.
Por que non se subiu o proxecto á forxa de mancomún.org?
Estíveno mirando, pero ó final decanteime por Source Forge. A razón foi que ó estar en galego impide que xente con outra lingua poida participar no desenvolvemento do proxecto. Se fose un proxecto relacionado co galego non tería dúbida.
chúzame - 




