Смотря что вы называете движком и что от него требуется. Что бы написать хорошо продуманную систему, надо как минимум хорошо знать различные шаблоны (pattern) программирования, и, не менее хорошо, знать сам язык и ООП, чего, судя по всему, у вас еще нет. Освойте синтаксис языка, почитайте про ооп/шаблоны, посмотрите как реализованы готовые решения.