Поскольку я исповедую модную идею саморазвития как цели в жизни, я вынужден ее придерживаться и постоянно пробовать что-то новое. Это касается и программирования, которым я в последнее время увлекся чересчур серьезно. Ну, правда, не стоит воспринимать мое саморазвитие всерьез, на самом деле я покодил на C# полгодика, что-то понял, мне стало скучно и я решил попробовать Python, и теперь горю желанием высказывать свое чересчур важное и авторитетное впечатление от сего ЯП.
Тема
5 2.2K
20
Я не апологет, но претензии какие-то несерьезные.
Первая: stackoverflow.com/questions/12882317/why-always-add-self-as-firs...
Вторая: зато полиморфизм. Можно писать довольно сильно обобщённый код. Сильно связано с третьей претензией.
Третья: при перегрузке функций выбор подходящей функции осуществляется в компайл-тайм, с помощью проверки типов аргументов функции. Как следствие динамической типизации(тип переменной может меняться в рантайме), выбор из вариантов функций должен происходить в рантайме(как и соответствующие проверки типов, а это оверхед), поэтому классическая перегрузка языкам с динамической типизацией не доступна. Как вариант - есть мультиметоды. Тут явно надо просто изменить мышление, не надо вслепую тащить идеи из таких языков, как С# в питон. Лушче ознакомиться с питоновскими best practices(с помощью stack overflow, например). Там вполне обходятся без перегрузки(которая часто нужна для полиморфизма, который в питоне принято реализовывать иначе).
Хз, лямбда как лямбда. Лично мне не хватает выделения лямбды в коде как отдельной сущности, поэтому я всегда добавляю скобки: f = (lambda x, y: x**2 + y**2)
Итак, "игра за неделю" закончилась.
Подстатья
2 1.1K
21
Uber, если разрабатывать игру более, чем за неделю, начнет угасать мотвация и желание работать, появится возможность отложить на потом, а облегчение в плане жанра тоже бы плохо сказалось на продуктивности, и получилась бы просто ускоренная раза в полтора разработка небольшой инди-игрушки. По поводу функций - не знаю, в справке их не заметил, и просто записал по формуле.

Забыл упомянуть, что было приятно, что я заинтересовал юзеров своим мини-проектом. Это было очень сильной мотивацией.
26
Пусть довести проект до конца так и не удалось
Мне кажется, изначальной целью нужно было ставить именно доведение игры до законченного вида. При этом, стоило выбрать простой жанр - например, аркаду и увеличить срок до двух-трёх недель. А, ну и ещё иметь диздок - это важно.
Попробуй в следующий раз реализовать что-то простое.

» Рандомный код
x += other.sprite_width * cos(degtorad(-direction));
y += other.sprite_width * sin(degtorad(-direction));
Не проще ли было использовать lengthdir_x(len,dir) и lengthdir_y(len,dir)? Они есть в математических функциях.
В последнее время у меня все чаще возникает желание сделать не крупный проект, а что-то довольно небольшое, но цельное и играбельное за минимальные сроки, чтобы проверить свои силы и доказать себе, что с геймдевом у меня все получится. Поэтому я решил поставить перед собой следующую задачу: написать относительно полноценную инди игру за неделю.
Статья
13 3.9K
21
Товарищи, не успеваю сегодня залить последний лог, вдобавок надо исправить пару багов и привести все в более-менее презентабельный вид. Все будет завтра.
21
darkowlom, а если препятствия? То есть если отряд стоит в поле, а затем отправляется в узкий коридор - относительная позиция юнитов должна стать другой. Изначально подсчитать, как юниты встанут по прибытию на место, нельзя.
Понять, когда юнит начинает кружить, нельзя, потому что алгоритм встроен в Game Maker и не выкидывает никаких эксепшенов за отсутствием оных. Поэтому я останавливаю всех юнитов, подошедших на достаточное расстояние к остановленному юниту, двигавшемуся в ту же самую точку, что все же является достаточно корявым решением.
24
У юнитов есть построение ил рандомно? Тогда такой вариант, найти центр между юнитами и относительно него смещения юнитов, от целевой точки клика отложить каждому юниту его смещение и отправить туда.
Но по идее нужно просто останавливать юнита, когда он начинает кружить
21
darkowlom, ну, так я сначала и сделал. Один из юнитов приходит раньше, второй не может попасть в точку, потому что там уже стоит первый, и начинает кружиться вокруг него. Это происходит потому, что второй воспринимает первого как препятствие и пытается обойти.
Подстатья
2 985
31
ну надо же... я глядя на тебя даже сегодня сел на написания редактора для своей игрули...
впервые за неделю...
чудеса, про другому не скажешь...
29
Круто! Молодца, но мне кажется ты выбрал слишком много фишек, которые можно было бы опустить для челенджа)
Подстатья
3 1.3K
24
ценности жизни каждого отдельно взятого солдата
Оффтоп конечно, но в войнах отдельные жизни не ценят вообще, только цифры и процентное соотношение сил