Thursday, February 6, 2014

Tools, AKA procrastinating by preparing

(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

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).