Sonic and Sega Retro Message Board: Porcupyne (Open-source Python Sonic engine) - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
Page 1 of 1
    Locked Forum

Porcupyne (Open-source Python Sonic engine) Need help!

#1 User is offline DM Ashura 

Posted 27 April 2011 - 02:57 PM

  • Posts: 31
  • Joined: 21-April 06
  • Location:Atlanta, GA
  • Project:Sonic Gemini
  • Wiki edits:4
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:
  • 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:

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

#2 User is offline MarkTheEchidna 

Posted 27 April 2011 - 05:42 PM

  • Posts: 39
  • Joined: 10-September 10
  • Gender:Male
  • Location:Belo Horizonte, Brazil
  • Project:WebSonic
Hey DM Ashura, this is pretty cool. Nice to see more Sonic-related code on different languages, and on GitHub. I downloaded the engine, but I was missing some modules on my setup of python, I think:

Traceback (most recent call last):
  File "", line 5, in <module>
    from Cython.Distutils import build_ext
ImportError: No module named Cython.Distutils

Since I'm in a pinch right now with college/work, (And since I'm not completely familiar with python packaging) I won't be able to get this running today, but I'll come back and post something when I get it running. I'm now watching the project on github.

Also, cool logo haha.

EDIT: I added an issue. :3
This post has been edited by MarkTheEchidna: 27 April 2011 - 05:46 PM

#3 User is offline Candescence 

Posted 28 April 2011 - 09:22 AM

  • Posts: 1943
  • Joined: 22-October 10
  • Gender:Male
  • Location:Sydney, Australia
  • Project:3D Indie Stuff
You know, maybe I should get back to learning Python...

Though, I can't get it running, annoyingly enough. Are you supposed to simply install the required libraries with Python, or put the bin files in the Porcupyne folder or something?

#4 User is offline DM Ashura 

Posted 28 April 2011 - 04:32 PM

  • Posts: 31
  • Joined: 21-April 06
  • Location:Atlanta, GA
  • Project:Sonic Gemini
  • Wiki edits:4
Each of them should have a decently easy installer, I believe. Besides Python, you need:
  • Pyglet
  • Rabbyt
  • Cython

#5 User is offline Mad Echidna 

Posted 13 May 2011 - 08:07 PM

  • Gone
  • Posts: 5219
  • Joined: 13-January 03
  • Gender:Male
  • Wiki edits:4
So awesome. I've been dying for there to be a good open source Sonic engine for years!

#6 User is offline The Sentinel 

Posted 19 May 2011 - 01:01 PM

  • Posts: 10
  • Joined: 12-December 10
  • Gender:Male
  • Location:Argentina, Ciudad de Buenos Aires
Good work!
I'm new to Python, but it seems quite friendly to learn.
Though, I couldn't make the collission.c work. I've always been quite bad with compilers, so any help will come in handy smile.png

Page 1 of 1
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users