Космический симулятор с полной свободой действий от автора Minecraft.
Каждый игрок получит в свое распоряжение космический корабль, оснащенный ограниченным по мощности генератором. Пользователям необходимо будет решить, какими устройствами пользоваться, чтобы увеличить потенциал этого самого генератора. В качестве примера разработчик привел маскировку: для того, чтобы активировать систему, пилоту придется отключить все остальное. В дополнение к этому, управление кораблем осуществляется посредством «многофункционального эмулятора шестнадцатибитного процессора» с возможностью полного перепрограммирования.
Также разработчики обещают нам «твердую» научную фантастику, развитую инженерию, рабочие компьютерные системы, сражения в космосе (как с искусственным интеллектом, так и с другими игроками), заброшенные корабли, доверху набитые ценным грузом, возможность приземляться на планеты, продвинутую экономику, а также генерируемые случайным образом энкаунтеры. Кроме того, к серверам 0x10c мы сможем подключаться к в одиночном режиме, так и в многопользовательском.
Проект закрыт.
Всем привет! Пока поколение 2-х тысячных на PlayGround.ru обижается на Нотча, на западе во всю балуются с эмулятором виртуального процессора DCPU-16! Так вот почему бы и нам не заняться этим же? Ну, я начну.
Hello world:
jsr get_display ; Выполняем процедуру поиска
; дисплея.
set i, 0 ; Очищаем регистр I, потому как
; он будет выполнять роль "курсора".
set a, 0 ; Подготавливаемся к выполнению
set b, 0x8000 ; прерывания.
:main
set c, [write_hw + i] ; Записываем в регистр C код буквы, номер
; которой записан в регистр I.
ife i, 13 ; Если выведено все слово, то
set pc, end ; зациклить программу.
add i, 1 ; Прибавляем к регистру I единицу.
add c, 0xf000 ; Добавляем букве цвет и цвет фона.
set [0x8000 + i], c ; Устанавливаем в ячейку памяти, номер
; которой записан в регистр I готовый символ.
hwi [display_address] ; Вызываем прирывание в устройстве
; dilplay_address.
set pc, main ; Переходим к метке main.
:get_display
add [display_address], 1 ; Прибавляем к выделенной
; ячейки памяти display_address
; единицу.
hwq [display_address] ; "Достаем" информацию
; об устройстве, номер которого
; записан в ячейке памяти.
ifn b, 0x7349 ; Если номер устройства
ifn a, 0xf615 ; не совпадает с номером
set pc, get_display ; дисплея, то переставить
; счетчик команд к метке
; get_display.
set pc, pop ; В противном случае
; завершить выполнение процедуры.
:display_address ; Выделяем ячейку памяти
dat 0xffff ; display_address и записываем
; туда 0xffff.
:write_hw ; Выделяем ячейку памяти
dat " Hello world!" ; write_hw и записываем туда
; " Hello world!"
:end ; Бесконечный цикл.
set pc, end
Мда, только вот плохо, что убираются "лишние" пробелы.
Я в Ассемблере-DCPU еще не очень силен, так что Hello world это единственное, достойное демонстрации. Остальное надо чуть-ли не полностью переписывать.