Greetings. Some of you may remember me posting here about Sonic Gemini. That's been on hiatus for a little while for a number of reasons, but things are starting back up again. However, I've got a new project in the works that I'm seeking help with (both because I think the community would be able to use it and because I can base Sonic Gemini off it.)
Introducing Porcupyne.

Porcupyne is an in-the-works, open-source Sonic engine for Python. I've been programming it in Python 2.7 (though 2.6 may work), and extra libraries I've been using are Pyglet (for game flow), Rabbyt (for sprites), and Cython (for fast collision detection using bitmasks.) Most of the code is ported from either Sonic Dash for GM7 or from the Sonic Physics Guide on Sonic Retro. I chose Python because I believe it is an intuitive and easy-to-learn language, and because it will be easier for multiple people to contribute to a number of code files on a repository than having all the code packed into a single MMF or GM7 file.
So far, we have implemented:
I started work on this engine around last weekend, and since then I'm pretty happy with how much I and two other programmers have gotten. (Today, I'm actually implementing rolling and spin dashing.) However, I really could use the help of some people who are experienced with Sonic fangame programming, especially if they really know the ins and outs of Dash and/or Worlds. (For one, our angle detection is still a little wobbly, and I'm having trouble fixing it.)
Here's a link to the GitHub repository: https://github.com/DMAshura/porcupyne/
So ... if you're interested, please leave a reply. Also, feel free to hit me up - my contact info is below.
AIM: AstralAshura
MSN: [email protected]
YIM: DMAshuraWolf
Skype: DMAshura
Hope to hear from you guys soon! :D
Introducing Porcupyne.

Porcupyne is an in-the-works, open-source Sonic engine for Python. I've been programming it in Python 2.7 (though 2.6 may work), and extra libraries I've been using are Pyglet (for game flow), Rabbyt (for sprites), and Cython (for fast collision detection using bitmasks.) Most of the code is ported from either Sonic Dash for GM7 or from the Sonic Physics Guide on Sonic Retro. I chose Python because I believe it is an intuitive and easy-to-learn language, and because it will be easier for multiple people to contribute to a number of code files on a repository than having all the code packed into a single MMF or GM7 file.
So far, we have implemented:
- Horizontal and vertical movement
- Variable-height jumping
- Collision detection of platforms
- Slope angle detection for 360ยบ movement
- Multiple directions for gravity
- Scaling the game window to multiple resolutions
- Scaling the physics too (if you want to, say, make an HD game)
I started work on this engine around last weekend, and since then I'm pretty happy with how much I and two other programmers have gotten. (Today, I'm actually implementing rolling and spin dashing.) However, I really could use the help of some people who are experienced with Sonic fangame programming, especially if they really know the ins and outs of Dash and/or Worlds. (For one, our angle detection is still a little wobbly, and I'm having trouble fixing it.)
Here's a link to the GitHub repository: https://github.com/DMAshura/porcupyne/
So ... if you're interested, please leave a reply. Also, feel free to hit me up - my contact info is below.
AIM: AstralAshura
MSN: [email protected]
YIM: DMAshuraWolf
Skype: DMAshura
Hope to hear from you guys soon! :D


00