kvisaz (kvisaz) wrote,
kvisaz
kvisaz

Category:

Чистилище в компьютерной игре

Знаете прикол, что в игре Skyrim есть тайная комната, куда попадают все убитые персонажи? Будете смеяться, но я пришел к мысли, что придется сделать такое же и у себя. Полная цепочка рассуждений тут вряд ли будет уместна, поэтому скажу кратко

1. в игровом движке есть необходимость убирать предметы навсегда (одноразовые предметы, аптечки, гибнущие персонажи, сломанные сундуки)

2. если в движке уже есть возможность перемещать предметы между локациями, то проще всего п.1 реализовать как тайную локацию, куда сбрасываются все "отработавшие сущности".

Я думал над таким вариантом, что у предметов должен быть маркер isAlive, и при показе локации показывать только отфильтрованные предметы. Но это - дополнительный код, дополнительное состояние предметов, возможный дополнительный источник багов, в то время как перемещение между локациями все равно нужно. И теперь я понимаю, почему в Skyrim сделано так.



PS: судя по всему, у живых сущностей все-таки есть параметр isAlive, и комната реализована по совокупности других причин.
Надо подумать еще, как убирать отработанные штуки из мира.
Tags: игрострой, программирование
Subscribe

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 22 comments