Разработка рогалика как способ выучить plain C
Модераторы: Sanja, Максим Кич
- barabansheg
- Сообщения: 12
- Зарегистрирован: 10 апр 2013, 11:06
Разработка рогалика как способ выучить plain C
Доброго времени суток!) Стоит ли делать рогалик для изучения чистого си? Си нужен в целях общеобразовательных. Из опыта программирования: php, js, базовые основы lisp, на работе пишу на python(django). Игры раньше не писал, имею лишь общее представление об этом.
Jabber конференция по nethack: nethack@conference.jabber.ru
Re: Разработка рогалика как способ выучить plain C
Написание рогалика (или любой другой игры) - хороший и интересный способ выучить новый язык программирования.barabansheg писал(а):Доброго времени суток!) Стоит ли делать рогалик для изучения чистого си? Си нужен в целях общеобразовательных. Из опыта программирования: php, js, базовые основы lisp, на работе пишу на python(django). Игры раньше не писал, имею лишь общее представление об этом.
У самого с C# подобная история была.
На этом форуме есть целые гайды о том, как написать игру.
Но если не найдешь и не боишься английского, то вот тебе ultimate source http://roguebasin.com/index.php?title=Articles в котором трудно не найти ответ на вопрос: "как написать свой рогалик?".
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: Разработка рогалика как способ выучить plain C
Не вижу причин почему бы нет?
Если целью стоит именно изучение, то даже можно уделять особое внимание изобретению велосипедов.
Если целью стоит именно изучение, то даже можно уделять особое внимание изобретению велосипедов.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
- Jesus05
- Сообщения: 1840
- Зарегистрирован: 02 дек 2009, 07:50
- Откуда: Норильск, сейчас Санкт-петербург.
- Контактная информация:
Re: Разработка рогалика как способ выучить plain C
Могу сказать одно хуже точно не будет!
да и лучше что-то сделать и сожалеть о том что сделал, чем чего-то не сделать и сожалеть о том что не сделал. (в вольном пересказе фраза кого-то из умных мира сего).
да и лучше что-то сделать и сожалеть о том что сделал, чем чего-то не сделать и сожалеть о том что не сделал. (в вольном пересказе фраза кого-то из умных мира сего).
Re: Разработка рогалика как способ выучить plain C
Лучше - сделать и не сожалетьJesus05 писал(а):да и лучше что-то сделать и сожалеть о том что сделал, чем чего-то не сделать и сожалеть о том что не сделал. (в вольном пересказе фраза кого-то из умных мира сего).
- barabansheg
- Сообщения: 12
- Зарегистрирован: 10 апр 2013, 11:06
Re: Разработка рогалика как способ выучить plain C
Значит направление выбрано верно, спасибо за поддержку Как закончу(если закончу так как вторую неделю сижу с этим) генерацию подземелий попробую выложить сорцы того что есть. С английским некоторые проблемы, но мануалы вполне читаются.
Jabber конференция по nethack: nethack@conference.jabber.ru
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: Разработка рогалика как способ выучить plain C
Давай, выкладывай, посмотрим.
Как метод изучения, рогалик будет очень даже хорош,
другое дело, если бы написал, моя цель сделать рогалик, беру plain C.
Имхо делать рогалик на чистом Си это садо-мазо ещё то.
Как метод изучения, рогалик будет очень даже хорош,
другое дело, если бы написал, моя цель сделать рогалик, беру plain C.
Имхо делать рогалик на чистом Си это садо-мазо ещё то.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
- barabansheg
- Сообщения: 12
- Зарегистрирован: 10 апр 2013, 11:06
Re: Разработка рогалика как способ выучить plain C
Согласен, видел исходники nethack(мало что понял) Но хочется понять как же оно там внутри устроено, что и как можно оптимизировать и т.п.Jolly Roger писал(а):Имхо делать рогалик на чистом Си это садо-мазо ещё то.
Jabber конференция по nethack: nethack@conference.jabber.ru
- Jesus05
- Сообщения: 1840
- Зарегистрирован: 02 дек 2009, 07:50
- Откуда: Норильск, сейчас Санкт-петербург.
- Контактная информация:
Re: Разработка рогалика как способ выучить plain C
Мне кажется пофигу на чем, язык программирования это только инструмент.Jolly Roger писал(а):Давай, выкладывай, посмотрим.
Как метод изучения, рогалик будет очень даже хорош,
другое дело, если бы написал, моя цель сделать рогалик, беру plain C.
Имхо делать рогалик на чистом Си это садо-мазо ещё то.
Просто на С подольше чем на С# наверняка, но явно быстрее чем на ассемблере.
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: Разработка рогалика как способ выучить plain C
Нет, я не пытаюсь развязать старый холивар "какой язык лучше для разработки рогалика". Имхо за это нужно банить с расстрелом, за толстенный троллинг.
Понятно дело, что написать рогалик можно и на Brainfuck, и на GWbasic, и даже на ассемблере в конце концов, если есть запасная жизнь.
Другое дело зачем?
Понятно дело, что написать рогалик можно и на Brainfuck, и на GWbasic, и даже на ассемблере в конце концов, если есть запасная жизнь.
Другое дело зачем?
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
- Jesus05
- Сообщения: 1840
- Зарегистрирован: 02 дек 2009, 07:50
- Откуда: Норильск, сейчас Санкт-петербург.
- Контактная информация:
Re: Разработка рогалика как способ выучить plain C
Интуиция мне подсказывает, что писать на Brainfuck придется дольше чем на ассемблереJolly Roger писал(а):Нет, я не пытаюсь развязать старый холивар "какой язык лучше для разработки рогалика". Имхо за это нужно банить с расстрелом, за толстенный троллинг.
Понятно дело, что написать рогалик можно и на Brainfuck, и на GWbasic, и даже на ассемблере в конце концов, если есть запасная жизнь.
Другое дело зачем?
Особенно весело на Brainfuck наверное отладку делать
Re: Разработка рогалика как способ выучить plain C
Когда-нибудь на пенсии я сяду и напишу рогалик на Prolog,
- barabansheg
- Сообщения: 12
- Зарегистрирован: 10 апр 2013, 11:06
Re: Разработка рогалика как способ выучить plain C
В связи с дипломом и работой к коду подхожу редко, но последние пару дней все таки мучаю рандомные подземелья. Комнаты случайно рисуются и то не всегда, как выяснилось, иногда программа вылетает(core dumped), с коридорами вообще все плохо, т.к. если комнаты рядом, то между ними нет коридора. Или что-то вроде того как тут(в левой части не айс). Хочется видеть что-то на подобии nethack'овских dungeons of doom. Очень уж они аккуратные. Может кто подскажет чего?
Jabber конференция по nethack: nethack@conference.jabber.ru
Re: Разработка рогалика как способ выучить plain C
Я генерирую так:
Раскидываю случайно комнаты, с некоторым минимальным расстоянием между ними. Далее беру случайную комнату, и соединяю её с другой случайной, только тут случайность с весами, чем ближе комната, тем больше вероятность, что она будет выбрана. Для соединения комнат корридором в каждой комнате случайно назначаю выход, а потом подключаю A*, который не может копать сквозь комнаты, но может использовать существующие корридоры. Этот алгоритм гоняется пока все комнаты не будут соединены.
Раскидываю случайно комнаты, с некоторым минимальным расстоянием между ними. Далее беру случайную комнату, и соединяю её с другой случайной, только тут случайность с весами, чем ближе комната, тем больше вероятность, что она будет выбрана. Для соединения комнат корридором в каждой комнате случайно назначаю выход, а потом подключаю A*, который не может копать сквозь комнаты, но может использовать существующие корридоры. Этот алгоритм гоняется пока все комнаты не будут соединены.
- Uvadzucumi
- Сообщения: 365
- Зарегистрирован: 29 ноя 2011, 07:13
- Откуда: Дубай, ОАЭ (Минск, Беларусь)
- Контактная информация:
Re: Разработка рогалика как способ выучить plain C
@Xecutor
достаточно сложно и по производительности не очень хорошо
в роше (как и в нетхаке), исаользется такое: http://uvadzucumi.blogspot.ae/2012/03/07.html
на открытых пространствах, тоже самое можно делать, немно модифицировав.
если не понятен бейсик, то у меня в гите похожая генерация (разумеется, отделена почти от всего).
достаточно сложно и по производительности не очень хорошо
в роше (как и в нетхаке), исаользется такое: http://uvadzucumi.blogspot.ae/2012/03/07.html
на открытых пространствах, тоже самое можно делать, немно модифицировав.
если не понятен бейсик, то у меня в гите похожая генерация (разумеется, отделена почти от всего).
Меня окружали милые, добрые люди... медленно сжимая кольцо
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 29 гостей