Writing new product types is an involved process.

However, you probably don't need a separate product type, when you can configure attributes to your product, and allow those attributes to set the pricing.