(Mostly for my own mental health)
Starting with Python, current is 3.3.3, so I'll stick with that for duration of project if possible.
For rev/scm, I'll start w/ git, since it's used at work and is pretty much the de-facto standard.
Hosting - bitbucket. (Free personal, option to switch to mercurial)
This ties in nicely as I like Sourcetree as my client for either.
Editor/IDE will probably be (free Community edition) PyCharm
Ill-Conceived notion # 38
Thursday, February 6, 2014
Thursday, January 30, 2014
ill-conceived notion #38 - Learn Python Programming and Math by copying Wolfenstein3d
Goal: Better learning of Programming (Including version control with Git), Maths (Trigonometry) and Python. And actually finishing a longer project.
Method: Create a Wolfenstein 3D-style, raycasting, 2.5D renderer in Python. 90 degree orthogonal blocks, arbitrary position and rotation in 2D, scaled sprites. If it runs at anything near a playable framerate, even better! Sound, music, pushwalls, save states, etc. are all bonus.
Constraints: Sticking to the stock libs as much as possible. Something like Pygame will be considered if needed.
How I got here: Doom's 20th anniversary. Doomsday Engine. Reading "Masters of Doom".
Getting started resources:
Various raycasting tutorials:
http://www.permadi.com/tutorial/raycast/
http://lodev.org/cgtutor/raycasting.html
http://lodev.org/cgtutor/raycasting2.html
http://lodev.org/cgtutor/raycasting3.html
http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/
http://www.pouet.net/prod.php?which=61298 - C64 raycaster done in 254 bytes. (For motivation. :)
General Python and Python Graphics resources:
http://inventwithpython.com/ - Creative Commons eBooks for basic graphics and PyGame libraries.
https://github.com/id-Software/wolf3d - Original source code. I probably won't actually be able to make much use of it.
http://fabiensanglard.net/wolf3d/index.php - iPhone version code review - (This guy has lots of fun material you could spend days on).
Subscribe to:
Comments (Atom)