The easiest way to start is to clone the whole Bitcoin Core implementation, and modify only the part you want to change.
This is fine as long as you work in the same language like OP but when you go to another language, extra care must be taken during the translation. The behavior could be different or misinterpreted and you end up with bugs...