Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Зума на сишарпе
GAMEINATOR forums > Общие разделы > Создание и модификация игр. Геймдев.
Modera
В прошлом году я решил попробовать в деле язык C#, в результате чего был создан клон игры Зума, в которую я играл один раз в жизни, лет этак 10 назад на чужом компьютере и больше никогда не притрагивался.
Язык C# надо сказать достаточно бесполезный, т.к. работает он в .NET, а .NET это клон джавы без кроссплатформенности, а кроссплатформенность это единственное преимущество джавы.
С другой стороны C# всё-таки поудобнее джавы, и если нужно быстро слепить что-то при минимальных умственных затратах то выбор сишарпа достаточно рационален, но мне вряд-ли пригодится.

Сейчас, раз уж тут продают змейку, я решил выложить то что наваял, только совершенно бесплатно. Нажмите для просмотра прикрепленного файла
Исходник для интересующихся в комплекте.

Чего в этой игре нет:
  1. Широких возможностей кастюмизации
  2. Локализации на 9 языков
  3. Красочной графики уровня AAA-игор
  4. Таблицы рекордов
  5. Нет даже возможности растягивать окно!


Что есть:
  1. Умопомрачительная палитра из 6 цветов уровня тех лет когда CGA был величайшим достижением в области видеоадаптеров
  2. Мозгоразрушающая восьмибитная озвучка (я лично записывал с эмулятора денди эти 3 звука)
  3. Реальная физика шариков, если вы снесли выстрелов бОльшое количество шаров то можно попытаться прострелить во второй ряд пока шары собираются в кучу
  4. Возможность ставить игру на паузу
  5. Возможность выключать мозгоразрушающую восьмибитную озвучку.


Скриншоты:


Для тех кто не знает(ну а вдруг), в чём суть игры зума:
В центре есть некая фигня стреляющая разноцветными шарами , цвет следующего шара показывается. В направлении этой фигни по спирали двигаются шары разных цветов. Если оказывается так что некоторое количество(в нашем случае 4) идущих подряд шаров одинакового цвета то они удаляются, а все последующие притягиваются к предыдущим, и за это добавляются очки. Если выстреленный шар попадает в какой либо то он становится прямо перед ним, таким образом можно создать необходимое количество шаров одного цвета для удаления. Если шары дойдут до центра то вы проиграете, а выиграть тут невозможно. biggrin.gif
1001v
Эта игра как-то связана с зумерами, про которых все говорят?
Лохотрон
Где пони по центру? пони..жук? dry.gif

вот тебе первое задание:
- нарисуй мне пони гифкой
- сделай чтоб она переливалась палитрой и крутилась по origin
- если шарик дошел до пони - звук женского оргазма
сделаешь, сразу приму в команду.
Modera
Цитата(1001v @ 03.04.2020, 01:12) *
Эта игра как-то связана с зумерами, про которых все говорят?

Я сначала тоже думал что связана, но нет. Ровно как и BMW не связаны с бумерами.

Цитата(Лохотрон @ 03.04.2020, 01:29) *
Где пони по центру? пони..жук? dry.gif

Ну в принципе можно прикрутить 3D графику а в центр поставить пинки пай с её пушкой, а в 2D не думаю что будет смотреться

Цитата(Лохотрон @ 03.04.2020, 01:29) *
вот тебе первое задание:
- нарисуй мне пони гифкой
- сделай чтоб она переливалась палитрой и крутилась по origin
- если шарик дошел до пони - звук женского оргазма
сделаешь, сразу приму в команду.

Это чем таким ваша команда занимается?..
iOrange
Цитата(Modera @ 02.04.2020, 23:38) *
NET это клон джавы без кроссплатформенности

1) Для классического .NET есть Mono (тот самый на котором Unity базируется)
2) .NET Core (.NET Core is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. It is a cross-platform successor to .NET Framework. The project is primarily developed by Microsoft and released under the MIT License.)

3) Без малейшей правки в коде:
Modera
Цитата(iOrange @ 04.04.2020, 17:57) *
1) Для классического .NET есть Mono (тот самый на котором Unity базируется)

Цитата(iOrange @ 04.04.2020, 17:57) *
3) Без малейшей правки в коде:

Ну это тоже самое что сказать "Win32 приложения кроссплатформенны {в пределах x86}, потому что есть Wine который позволяет их запускать без малейшей правки в коде"
iOrange
Цитата(Modera @ 04.04.2020, 17:35) *
потому что есть Wine

Плохое сравнение, потому что Wine это эмулятор.
А .NET - это интерпретатор, как и Java - оба имеют рантайм, который надо реализовывать под каждую платформу.
Если на платформе реализован он - то и проги работают.
И тот же Mono - это реализация рантайма, так же, как, скажем, JRE под WIndows.
У Java просто этих платформ больше. Но факт остается фактом - .NET настолько же "кроссплатформеннен" по факту, как и Java wink.gif
Modera
Цитата(iOrange @ 04.04.2020, 18:57) *
Плохое сравнение, потому что Wine это эмулятор.

Wine расшифровывается как Wine is not emulator.

Цитата(iOrange @ 04.04.2020, 18:57) *
Но факт остается фактом - .NET настолько же "кроссплатформеннен" по факту, как и Java wink.gif

Ага, в джаве же так же легко взять и вызвать функцию из системной библиотеки, например.
Дотнет изначально не был задуман кроссплатформенным. То что кто-то там сделал клон его рантайма не означает что все приложения от оригинального .net там заработают.
С джавой совсем по другому, там кроссплатформенность задумана изначально, рантайм один на всех платформах.
Майкрософт пытались это пошатнуть в лихие 90-е путём запила своей реализации рантайма джавы, но им не дали. Так появился .NET.
abramcumner
Цитата(iOrange @ 04.04.2020, 17:57) *
3) Без малейшей правки в коде:

Подтверждаю кроссплатформенность дотнета. Была игруха для iOs на юнити/дотнете. Взял сейв и длл движка. Создал в visual studio проект, подключил длл. Загрузил сейв, дописал себе кристалликов, сохранил и запихнул сейв обратно.
iOrange
Цитата(Modera @ 04.04.2020, 18:13) *
Wine расшифровывается как Wine is not emulator.

Ага, а эмулятор XBox тоже "not an emulator" smile.gif

Цитата(Modera @ 04.04.2020, 18:13) *
Дотнет изначально не был задуман кроссплатформенным

Почему? Все те же принципы как и у Java - компилим в платформо-независимый байткод, исполняем в виртуальной машине + рантайм под конкретную платформу.
Поэтому .NET проги отлично себя чувствуют в x86, x64, Arm, MIPS и что еще душе угодно.
Ну а то что Майкрософт изначально не делала рантайм для Линухов - никак не отменяет факта кроссплатформенности именно .NET wink.gif
Modera
То что прибито к винде не кроссплатформенно априори, винда не везде есть.
Да даже на винде дотнет не дотягивает по кроссплатформенности до джавы, на Windows 95 дотнет не работает, а джава работает. Причём аж 1.5 версии, которая поддерживалась до 2015 года согласно википедии.
iOrange
Цитата(Modera @ 04.04.2020, 19:07) *
То что прибито к винде не кроссплатформенно априори, винда не везде есть.

Ты начинаешь уже отрицать очевидное из вредности. smile.gif
Вон выше abramcumner писал что он взял .NET модуль из iOS игрушки собранной Mono под ARM, и спокойно загрузил ее под x64 Windows.

Просто почитай как работает Java, затем как работает .NET, и сделай выводы.
Ну или можно и дальше упорно отпираться от фактов, правда реальности это не изменит wink.gif
jamakasi
Цитата(iOrange @ 04.04.2020, 18:57) *
Плохое сравнение, потому что Wine это эмулятор.

Нет biggrin.gif
Одно дело когда ты эмулируешь железо а другое выстраиваешь прослойку.
В случае эмуляции, предположим ты встретил в машинном коде операцию mov некоего ЦП, у твоего ЦП может не быть такой операции или работает она совершенно иначе ты вынужден написать некоторые код который сэмулирует поведение mov на оригинальном цп и займет это уже несколько больше тактов и ресурсов.
В случае прослойки, ну есть в оригинале mov а у тебя этот опкод vom, условно "прилинковал" и все. Да, будут затраты на это, но гораздо более дешевые чем при эмуляции. Есть конечно миллиард тонкостей но это уже на уровне "библиотек" хост системы и гостевой, условная функция открытия файла есть в обеих системах но работает чуть по разному.
iOrange
Цитата(jamakasi @ 04.04.2020, 19:33) *
Одно дело когда ты эмулируешь железо

Эмулировать можно не только железо wink.gif (Простейший пример - DosBox)
Я не просто так упомянул эмулятор XBox - там ведь тоже "обычный Pentium 3" и "обычный GeForce 3". Но все же эмулятор - ибо все что он умеет - эмулировать определенное окружение - в случае XBox эмулятора - эмулирует операционку XBox, в случае Wine - эмулирует Винду.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2021 IPS, Inc.