Игровой дизайн, гейм дизайн (game design)
GameDev.ru / Игровой Дизайн / Форум / Собираю силы на проект 2D порт с ZX-48k нужна подсказка. m2k

Собираю силы на проект 2D порт с ZX-48k нужна подсказка. m2k

Страницы: 1 2 3 Следующая »
dj--alexПостоялецwww26 апр. 201716:05#0
Приветствую, хочу на современном движке переделать старую свою же игрушку со спектрума, разумеется в 2Д сохранив даже принцип работы по знакоместам. может кто посоветовать какой движок лучше выбрать? ковырял УЕ4 и Унити но понял что они шибко сильно под 3Д заточены. Создавал группу для поиска человека но пока впустую группа.
мучался с попытками что то сделать года 3 наверное уже.  потому что как только я встречаю что то что я не понимаю я вхожу в ступор если не находится решение в инете, помочь толком некому.  потом всё забрасывается на дней 50 , потом всё по кругу идёт.
снова ставится движок... снова я пытаюсь что то сделать. налетаю на очередной неочевидный подводный камень
бьюсь головой о стену. потом снова стираю все нафиг и через 50 дней....
https://vk.com/club134363102 - телеграм тамже.

скриншот
https://pp.userapi.com/c387/v387257/625/FDgrsUr5fKg.jpg

мозг уже привык к знакоместам, клешингу атрибутов в спектруме, ТР-досу, и обьему памяти в 40кб и прочим прочим прелестям 1982 года выпуска.

целевая платформа игры - Linux.
винда даже не планируется.  должна хотя бы одна игра быть которая на ней не работает.
если реально что то толковое получится то и андроид.

Правка: 26 апр. 2017 16:06

SuslikМодераторwww26 апр. 201716:12#1
dj--alex
тебе не нужен движок. тебе нужна библиотека с базовой функциональностью вроде вывода растра на экран. с этим справится всё, что угодно. на C можно взять sdl, для C++ подойдёт sfml. для любого другого языка можно взять просто opengl голый и научиться выводить текстуру на экран. если код нормально написан с использованием кроссплатформенной библиотеки вроде sdl, то портировать его вообще ни на что не надо будет, он будет собираться для любой платформы.
dj--alexПостоялецwww26 апр. 201716:44#2
код написан частично на Basic  на 90%  1982 года выпуска Zx-spectrum  48Kb версия.
частично на ассемблере Z80 3Mhz версия, также было протестировано на 7Mhz версии и эмуляторе EmuzWin.

начат проект в 1998 году, полностью принял рабочий вид в 1999 .
в то же время был сделан и редактор уровней.

последние уровни делались с друзьями в 2001 году. половина без моего участия.


пример кода
https://pp.userapi.com/c837626/v837626257/4994f/U9zl8hLZ0CE.jpg
в коде использована масса хитростей для экономии памяти и он слабо читаем.

например GO SUB INT PI означает GO SUB 3 ,а  LET $a=SGN PI  означает LET $a= 1
потому что 1 занимает 6 байт в памяти, а SGN PI  - 2 байта.

Правка: 26 апр. 2017 16:49

SuslikМодераторwww26 апр. 201716:50#3
dj--alex
можешь продолжать писать на бейсике, возьми только какую-нибудь современную версию вроде visual basic или как он там называется. библиотеки для бейсика нормальные ты едва ли найдёшь, но можешь просто, как я уже говорил, использовать голый opengl, потому что функциональность тебе понадобится самая минимальная. для этого нет смысла тащить игровые движки, тем более ue/unity, они для совершенно других задач разработаны.

если же будешь делать ремейк с современной графикой, в 3д и так далее, тогда уже будет смысл задуматься о каких-то движках.

dj--alex
> например GO SUB INT PI означает GO SUB 3 ,а  LET $a=SGN PI  означает LET $a= 1
> потому что 1 занимает 6 байт в памяти, а SGN PI  - 2 байта.
всё это здорово, только чем быстрее ты это забудешь, тем быстрее сможешь адаптироваться под современные реалии.

Правка: 26 апр. 2017 16:53

fornetjobПостоялецwww26 апр. 201716:53#4
dj--alex
например GO SUB INT PI означает GO SUB 3 ,а  LET $a=SGN PI  означает LET $a= 1
потому что 1 занимает 6 байт в памяти, а SGN PI  - 2 байта.

Такое ощущение, что вернулся в 1991 год. Хорошо, что я тогда, всё же, перелез на новую, пусть и не нравящуюся мне платформу.
Хотя, тут вроде есть конкурсы, в которых ограничение по памяти имеет место быть.

Правка: 26 апр. 2017 16:53

eugenelozaПостоялецwww26 апр. 201716:55#5
dj--alex
Боюсь, что портировать такой код не получится. Придётся писать заново. С какими языками программирования Вы знакомы? Тогда можно будет посоветовать что-либо конкретное. Можно попробовать "в общем" взять не движок, а простой конструктор игр (где даже не нужно знать программирование) - этого с головой достаточно для написания не крайне сложной 2-мерной игры.
Впрочем, я бы на Вашем месте подумал бы над её существенным усовершенствованием :) Как ни как - 16 лет прошло с последней правки, много воды утекло...
Ну и принципиально и упрямо ограничившись линуксом Вы теряете немалую аудиторию. Зачем Вам это? Пишите кросс-платформенно.
dj--alexПостоялецwww26 апр. 201716:56#6
я то перелез в 2001 году на новую платформу хотя и ненавидел её тогда всем сердцем.
и только благодаря Меч и Магии 7.

а вот навыки мои если не считать  PHP, MySQL  и т.д  не перелезли.
да я могу скачать Unreal 4 , Wine, Mangos, Скомпилировать их под линукс и запустить. (и даже пропатчить)
а толку?

Видео с игрой тут.
https://www.youtube.com/watch?v=5dhuPKRHN3o&t=3s

с++ ненавижу с детства правда. меня в 7 лет заставляли его учить и я стал пылать лютой ненавистью к нему и к учебникам.

Решил попробовать движок love2d который с о в кавычках.

Правка: 26 апр. 2017 21:04

eugenelozaПостоялецwww26 апр. 201716:59#7
dj--alex
> я то перелез...а вот навыки мои... не перелезли.
Варианта 2 тогда.
Либо тупой и простой конструктор типа GameMaker-а - если цель: игра.
Либо определитесь и учите что-либо новое, типа С++ или С# - если цель: перспектива.
fornetjobПостоялецwww26 апр. 201717:05#8
dj--alex
С бейсика довольно просто перелезть на сишарп, в принципе.
despair1Постоялецwww26 апр. 201719:15#9
не знаю, зачем тут движок искать, имхо, подойдет просто линуховская библиотека для работы с консолью, типа curses

Правка: 26 апр. 2017 19:16

dj--alexПостоялецwww26 апр. 201721:39#10
нет не подойдет,  unity бы подошел но я не понимаю как там вообще с 2д работу организовать.

а love немного похож на Javascript [jnz хотя я лишь эпизодически имел с ним дело.

какой то тупой баг.  даже hello world не работает, программе глубоко плевать на пути
видите ли нет ничего.
освоение чего угодно - это препятствия препятствия и ещё раз препятствия без всякой перспективы.
https://pp.userapi.com/c837626/v837626257/49b3b/vBRj2_s28lE.jpg

оказывается надо было самому додуматся написать rebuild.sh
чтобы перед каждым запуском делался zip архив (!!) который с другим расширением и будет запускать
#!/bin/bash
zip -r m2ktest.love *.* TexturesOrig
5 часов я потратил на поиски этой хренотени чтобы просто hello world блин увидеть!

к сожалению я знаю не по наслышке что кодить что то это нужно много боли и терпения перетерпеть.
и что всё будет ВСЕГДА работать не так как ожидалось.

всем спасибо за внимание, кажется я всё таки определился с чего надо начать
а как что то сделаю на выбранном движке даже если что то не устроит - выберу тогда уж другой с большим опытом.

Правка: 26 апр. 2017 23:03

DDR3Удалёнwww27 апр. 20177:42#11
Повелительница
> посмотри на arctic engine, если тебе описанные ближе к концу темы возможности подойдут, то могу напрячься и реализовать за пару лет.
fixed

Правка: 27 апр. 2017 7:42

romgermanПостоялецwww27 апр. 20179:26#12
Бери LOVE2D или gamemaker
dj--alexПостоялецwww27 апр. 201711:21#13
да вот уже мучаюсь с ним, каждый раз как новый язык...
старые уровни пытаюсь прочесть как файл в массив.
получается не очень.
наверное где то раздел должен быть чтобы задавать по Love тупые вопросы для нубов.
не подскажете где?

блин так и хочется на PHP продолжить писать. там то уже всё понятно было.
до 5.1-й версии тот код что я делал был рабочий.

всё что ни найду для перебора массива выводит какую то несусветную фигню
вместо моих данных
открыл файл в HEX режиме свой уровень , и там совсем не то что он читал в line...

у меня первые 8 байт файла содержат такой текст LEVEL28.С далее идут 10 байт настройки
и 768 байт код всех обьектов на уровне....
Я же использовав доступные коды получаю какую то чушь из 9 байт
там никакого массива блин нет. закомментировал даже ибо тот кто посоветовал этот код
явно ошибся.
причем эти 9 байт не из моего файла!!!
было бы можно файл в переменную или массив нормально вчитать и побайтово разбирать.
нет в каждом языке надо ВСЁ блин по своему сделат, чтобы не так как у других.
по принципу написания обычных языков, как правильно на польском - правильно - чтобы меньше русицизмов было, побольше других слов.
если напрямую по дата обращатся - нифига вообще нет
если использоват leveldatacontent как мне его подсказали - даёт какую то чушь
а=1, первый байт код 72,  второй код 56, 3=56, 4=56, 5=56
явно то в слове LEVEL нет 4 одинаковых букв!!! откуда он эту
чему нельзя просто написать
  @$w=fopen ($logtblname,"rt");
    if ($w==false) return;
    while ($a=@fgets ($w,1000)) {$countlog++;};
и в $a получается нормальный массив чтоб его, а не неведомая фигня.

Вот такой код в Love2d получился,  кусок кода привёл.
data = love.filesystem.read (levelname);
if (not data) then love.graphics.print("Load failed.",16,16); end;
if (data) then love.graphics.print("Load succesful."..levelnumber,16,16); end;
-- leveldatacontent = {};
--for line in data do
--  table.insert (leveldatacontent, line);
--end

  if (typelevel=="zx") then maximumlines=29 else maximumlines=60; end;
  for a=1,34,1
        do love.graphics.draw(wallblock, a*16,0*16) end;
a=0;
for b=1,19,1
  do for x=1,maximumlines,1
        do
        a=a+1;
        if (data[a]) then
            love.graphics.print("x"..x.."="..string.byte (data[a]), 60*x, 16+b*8) ; end;
end;
end;

fornetjobПостоялецwww27 апр. 201711:22#14
dj--alex
Юнити поддерживает джаваскрипт. Поищите туторы по 2д играм, их полно для юнити.
Страницы: 1 2 3 Следующая »

/ Форум / Игровой Дизайн / Общее

2001—2018 © GameDev.ru — Разработка игр