У мене появилася одна ідея для гри. І я би хотів попробувати її реалізувати.
Але я не знаю для чого і на чому її писати. Гра можлива як і для одного учасника так і для двох, але я думаю для двох воно буде цікавіше.
Часто коли проходять зустрічі любителів старих комп'ютерів хочеться щось швидко зіграти двом, що було без супер наворотів, складного сценарію і не шкода було пройденого коли треба починати спочатку (наприклад завис старий компютер чи відійшов джойстик)
Отже ідея у мене є. Здається нова, принаймні я щось не пригадую щоб я зустрічав ігри на цю "тему"
Я думаю гра можлива для всіх ретро платформ так як для її реалізації потрібен тільки текстовий режим, можна навіть монохромний варіант.
Двоє користувачів можуть грати як клавіатурою так і джойстиками.
Але тут мене зразу цікавлять наступні питання:
1) потрібно щоб у мові програмування був генератор випадкових числел
2) потрібно щоб відстежувалась реакція комп'ютера на кнопку клавіатури чи джойстика. А саме щоб користувач не тримав весь час кнопку затисненою і так грав, а щоб треба було її весь час відпускати, після того як дія один раз зроблена.
Чи ці функції можливі у бейсіку?
Тепер про залізо. На руках у мене немає нічого крім атарі ст. У якому середовищі розроблялися ігри під цей комп'ютер? Чи можна якусь свою програму розробити у емуляторі. І потім щоб компілятор програмного середовища зробив загрузочну дискету з цією програмою? Чи хоть просто програму, яку я зможу імпортувати в якийсь чистий імідж і записати на реальну дискету?
Просто в атарі ст якщо підключені два джойстика і дискета не самозавантажувальна то запускається ТОС, а як там без мишки відкрити дискету?
Якщо такого немає під атарі ст, можливо є емулятор і середовище розробки для комодор 64 ?
Може бути і для спектрума. Хоча на спектрумах для джойстиків потрібен окремий контролер.
Підкажіть на чому можна програмувати під ретро платформи
Модератор: Nick
Re: Підкажіть на чому можна програмувати під ретро платформи
Якщо щось, що не потребує швидкості і ресурсів, то бейсік підійде. Для спєка то точно.
Але якщо порібно щось складніше і без лагів, то тільки ассемблер.
1. Спєковскій бейсік має рандом, але він убогий і починає повторюватися дуже швидко - там дуже простий генератор псевдо випадкових чисел. Хоча написати свій не є великою проблемою, зараз багато інфи на цю тему і імплементанути якісний генератор можна, хоча він і буде не сильно швидкий...
2. Читати клаву або джойстік теж без проблем, єдине що, треба буде вибрати правильно кнопки для кожного гравця, в спєку специфічна організація клави, щоб не давати комусь первеснство в скані кнопок і потенційно бути в виграші частіше
Для спєка:
1. Бейсік
2. Ассемблери, я рекомендую ALASM+STS, є готові TRD - підключаєш і вперед
3. Емуль... ну самий доступний на всих платформах - FUSE, я використовую ZEsarUX, бо він активно розробляється і можна додавати свої фічі в нього, хоча він трохи дивний.
Але якщо порібно щось складніше і без лагів, то тільки ассемблер.
1. Спєковскій бейсік має рандом, але він убогий і починає повторюватися дуже швидко - там дуже простий генератор псевдо випадкових чисел. Хоча написати свій не є великою проблемою, зараз багато інфи на цю тему і імплементанути якісний генератор можна, хоча він і буде не сильно швидкий...
2. Читати клаву або джойстік теж без проблем, єдине що, треба буде вибрати правильно кнопки для кожного гравця, в спєку специфічна організація клави, щоб не давати комусь первеснство в скані кнопок і потенційно бути в виграші частіше
Для спєка:
1. Бейсік
2. Ассемблери, я рекомендую ALASM+STS, є готові TRD - підключаєш і вперед
3. Емуль... ну самий доступний на всих платформах - FUSE, я використовую ZEsarUX, бо він активно розробляється і можна додавати свої фічі в нього, хоча він трохи дивний.
Re: Підкажіть на чому можна програмувати під ретро платформи
Я писал на РС в ТАSM, с генератором рандома пришлось помучаться , потом тестил в эмуле и уже потом перетаскивал на ретрокомп. Если очень большой скорости не надо, то да, луше в эмуле писать на Бейсике - намного быстрее скорость разработки, чем на асме и проще.
- monoxrom
- Повідомлень: 174
- З нами з: 05 квітня 2023, 17:45
- Звідки: Ivano-Frankivsk
- Дякував (ла): 55 разів
- Подякували: 120 разів
Re: Підкажіть на чому можна програмувати під ретро платформи
Alex_LG А як можна писати на тасм-і під проци інші ніж х86? чи все ж таки можна?
Швидкості мені як такої не треба, та і генератор випадкових чисел може бути не складний, з повтореннями, там всеодно більше буде потрібна реакція людини.
Mak7ym Цікавий нюанс з клавіатурою у спектрумі. Це типу якось є масив клавіш і останні кнопки в ньому опрацьовуються пізніше за ті що перші? Дас іст інтересант )))
Я все ж таки схиляюся щоб написати гру для атарі ст, наступний рік буде 40 років від початку серії. Якщо гра сподобається то можна тоді вже буде її експортувати.
Я так розумію мені треба шукати в сторону бейсіка, його можливостей мало б цілком вистачити
Швидкості мені як такої не треба, та і генератор випадкових чисел може бути не складний, з повтореннями, там всеодно більше буде потрібна реакція людини.
Mak7ym Цікавий нюанс з клавіатурою у спектрумі. Це типу якось є масив клавіш і останні кнопки в ньому опрацьовуються пізніше за ті що перші? Дас іст інтересант )))
Я все ж таки схиляюся щоб написати гру для атарі ст, наступний рік буде 40 років від початку серії. Якщо гра сподобається то можна тоді вже буде її експортувати.
Я так розумію мені треба шукати в сторону бейсіка, його можливостей мало б цілком вистачити
Re: Підкажіть на чому можна програмувати під ретро платформи
Можна, там куча раазных процев выбирается. Сейчас не за компом, позже закину список, но можно погуглить...
Re: Підкажіть на чому можна програмувати під ретро платформи
Понял в чем вопрос - ТАСМы разные бывают, я кажись на этом делал Telemark Assembler (TASM):
The microprocessor families supported by TASM are:
6502
6800/6801/68HC11
6805
8048
8051
8080/8085, Z80
TMS32010, TMS320C25
TMS7000
8096/80196
The microprocessor families supported by TASM are:
6502
6800/6801/68HC11
6805
8048
8051
8080/8085, Z80
TMS32010, TMS320C25
TMS7000
8096/80196
- monoxrom
- Повідомлень: 174
- З нами з: 05 квітня 2023, 17:45
- Звідки: Ivano-Frankivsk
- Дякував (ла): 55 разів
- Подякували: 120 разів
Re: Підкажіть на чому можна програмувати під ретро платформи
Alex_LG ну так, тепер ясно, я спершу думав що те турбо ассемблер від фірми Борланд, колись щось трохи писав але про вибір не х86 проців чую вперше.
-
- Повідомлень: 15
- З нами з: 25 серпня 2023, 19:02
- Подякували: 5 разів
Re: Підкажіть на чому можна програмувати під ретро платформи
Колись, дуже дуже давно, ще у дитинстві, я використовував алгоритм для випадкових чисел з книги Т.Романовського "Микрокалькуляторы в рассказах и играх".
Думаю, що схожі алгоритми можна відшукати і в книжці Дональда Кнута або у вікіпедії - див. List of random number generators або ж, можливо, Pseudorandomness.
У ньому можна було задавати початковий стан / seed / randomize, що було дуже зручно для генерації цілого гірського 2d ландшафту однією цифрою.
У вас дещо інша задача, тож можна просто використати як є, а можна коригувати seed в залежності від "часової" затримки перед натисканням "Старт", натискань клавіш або інших подій.
Думаю, що схожі алгоритми можна відшукати і в книжці Дональда Кнута або у вікіпедії - див. List of random number generators або ж, можливо, Pseudorandomness.
У ньому можна було задавати початковий стан / seed / randomize, що було дуже зручно для генерації цілого гірського 2d ландшафту однією цифрою.
У вас дещо інша задача, тож можна просто використати як є, а можна коригувати seed в залежності від "часової" затримки перед натисканням "Старт", натискань клавіш або інших подій.
-
- Повідомлень: 15
- З нами з: 25 серпня 2023, 19:02
- Подякували: 5 разів
Re: Підкажіть на чому можна програмувати під ретро платформи
Загалом, якщо Ви задаєте такі питання, то скоріше всього Вам дуже зарано користуватись будь-чим, крім мов високого рівня. Тобто - зробіть спочатку на Basic.
Особливо якщо там є підтримка спрайтів у Basic (і якщо вам потрібні спрайти, бо є різні техніки).
А коли навчитеся впевнено використовувати цикли, if, змінні, клавіатуру, координати, і коли все зробите на Basic по максимуму красиво і повністю (бо може банально не хватити життя на всі ці штуки на різних мовах і різних платформах),
тоді вже можна думати про щось інше, наприклад можна спочатку робити гібридні програми (більша частина на Basic а якісь невеликі частини - на асемблері, зазвичай Basic таке дозволяють, правда не знаю як на Atari ST), або ж перейти на використання Сі.
Власне, Сі, мабуть дозволило б робити частину коду мультиплатформним.
IMO: але, поки не навчитесь впевнено працювати з базовими речами на Basic, не чіпайте Сі.
хоча з іншої сторони, Basic у якому потрібно використовувати номера строк та goto - трохи нетипова і неприємна річ, як на сьогодні, для будь-кого хто відійшов від цих технік.
Втім, якщо це просто хобі, для заспокоєння нервів, то чому б і ні, Basic теж норм, сидиш собі пишеш тихенько, нікуди не спішіш. Бажано, частково у зошиті спочатку, а потім на комп'ютері.
Особливо якщо там є підтримка спрайтів у Basic (і якщо вам потрібні спрайти, бо є різні техніки).
А коли навчитеся впевнено використовувати цикли, if, змінні, клавіатуру, координати, і коли все зробите на Basic по максимуму красиво і повністю (бо може банально не хватити життя на всі ці штуки на різних мовах і різних платформах),
тоді вже можна думати про щось інше, наприклад можна спочатку робити гібридні програми (більша частина на Basic а якісь невеликі частини - на асемблері, зазвичай Basic таке дозволяють, правда не знаю як на Atari ST), або ж перейти на використання Сі.
Власне, Сі, мабуть дозволило б робити частину коду мультиплатформним.
IMO: але, поки не навчитесь впевнено працювати з базовими речами на Basic, не чіпайте Сі.
хоча з іншої сторони, Basic у якому потрібно використовувати номера строк та goto - трохи нетипова і неприємна річ, як на сьогодні, для будь-кого хто відійшов від цих технік.
Втім, якщо це просто хобі, для заспокоєння нервів, то чому б і ні, Basic теж норм, сидиш собі пишеш тихенько, нікуди не спішіш. Бажано, частково у зошиті спочатку, а потім на комп'ютері.
-
- Повідомлень: 15
- З нами з: 25 серпня 2023, 19:02
- Подякували: 5 разів
Re: Підкажіть на чому можна програмувати під ретро платформи
Реакцію на клавіатуру (або джойстик) можна опрацьовувати програмно. Ви просто запам'ятовуєте останню команду у змінній (натиснуту та відпущену клавішу, або напрям джойстика). Втім, це якщо дозволить сам Basic. Ще може бути можливість виклику функцій з ROM прямо в Basic.
Проблема у тому що це гра на 2-х, і тут потрібно зчитувати досить часто стан клавіатури, а для цього, вивід на екран чи якісь довгі розрахунки - ділити на невеликі частини.
Заочно точно не скажу, а тим більше, що я Atari ST не використовував.
Проблема у тому що це гра на 2-х, і тут потрібно зчитувати досить часто стан клавіатури, а для цього, вивід на екран чи якісь довгі розрахунки - ділити на невеликі частини.
Заочно точно не скажу, а тим більше, що я Atari ST не використовував.