Difference between revisions of "Python"
m |
(updated list of defunct games and dead/outdated python resources) |
||
Line 2: | Line 2: | ||
|company = Python Software Foundation | |company = Python Software Foundation | ||
|influences = ABC programming language | |influences = ABC programming language | ||
|updated = | |updated = Feb 25 2015 (3.4.0) and May 23 2015 (2.7.10) | ||
|status = Stable | |status = Stable | ||
|licensing = Open Source (Python 3.3.0 license) | |licensing = Open Source (Python 3.3.0 license) | ||
Line 18: | Line 18: | ||
== Roguelike Specific Details == | == Roguelike Specific Details == | ||
Python's expressive code, dynamic typing, flexible data types, and powerful OO and exception handling facilities make it well-suited to quick, productive RL development. However, like all interpreted languages, Python has a reputation for large memory overheads and being slower in some applications when compared to compiled languages such as C++. These problems, however, can be overcome with the extension of third-party Python modules | Python's expressive code, dynamic typing, flexible data types, and powerful OO and exception handling facilities make it well-suited to quick, productive RL development. However, like all interpreted languages, Python has a reputation for large memory overheads and being slower in some applications when compared to compiled languages such as C++. These problems, however, can be overcome with the extension of third-party Python modules and proper profiling and programming techniques. Another problem is that Python often requires the user to download an interpreter separately. A way to solve that is to include the interpreter in the game download. | ||
Python's rapid speed of development and human-readable code makes it an excellent choice for programmers wanting to develop a | Python's rapid speed of development and human-readable code makes it an excellent choice for programmers wanting to develop a Roguelike in a limited amount of time, making the language ideal for 7DRL Challenges. | ||
== Python-Specific Articles on RogueBasin == | == Python-Specific Articles on RogueBasin == | ||
Line 28: | Line 28: | ||
* [[Permissive Field of View in Python]] - An implementation of the [[Precise_Permissive_Field_of_View|precise Permissive Field of View]] algorithm in Python. | * [[Permissive Field of View in Python]] - An implementation of the [[Precise_Permissive_Field_of_View|precise Permissive Field of View]] algorithm in Python. | ||
* [[Dungeon builder written in Python]] - A dungeon builder. | * [[Dungeon builder written in Python]] - A dungeon builder. | ||
* [[A simple turn scheduling system -- Python implementation]] - A simple time system for | * [[A simple turn scheduling system -- Python implementation]] - A simple time system for Roguelikes. | ||
== Related links == | == Related links == | ||
Line 34: | Line 34: | ||
* [http://python.org Official Python website] | * [http://python.org Official Python website] | ||
* [http://www.python.org/doc/faq/ Official Python FAQs] | * [http://www.python.org/doc/faq/ Official Python FAQs] | ||
* [https://bitbucket.org/libtcod/libtcod libtcod] is a free, fast, portable and uncomplicated API for roguelike developers providing an advanced true color console emulator, input, and lots of other utilities frequently used in roguelikes. | |||
* [ | |||
* [http://www.py2exe.org/ py2exe] is a package which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Since most Windows users will not have Python installed, py2exe is a good way to distribute your Python game to that audience. | * [http://www.py2exe.org/ py2exe] is a package which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Since most Windows users will not have Python installed, py2exe is a good way to distribute your Python game to that audience. | ||
* [ | * [https://github.com/pyinstaller/pyinstaller/wiki PyInstaller] is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux, and Mac OS X. | ||
* [http://www.pygame.org Pygame] | * [http://www.pygame.org/news.html Pygame] ([[Pygame]]) is an SDL wrapper for Python that has been used for many graphical and non-graphical Roguelikes. | ||
== Roguelike games in Python == | == Roguelike games in Python == | ||
Line 51: | Line 43: | ||
!style="width:15%;"|Status || Name | !style="width:15%;"|Status || Name | ||
|- | |- | ||
| {{ | | {{defunct}} || [[Artisan]] | ||
|- | |- | ||
| {{alpha}} || [[CrashRun]] | | {{alpha}} || [[CrashRun]] | ||
Line 67: | Line 59: | ||
| {{defunct}} || [[I, Monster]] | | {{defunct}} || [[I, Monster]] | ||
|- | |- | ||
| {{ | | {{defunct}} || [[Lands of Elderlore]] | ||
|- | |- | ||
| {{beta}} || [[Mines of Elderlore]] | | {{beta}} || [[Mines of Elderlore]] | ||
|- | |- | ||
| {{ | | {{defunct}} || [[Netpack]] | ||
|- | |- | ||
| {{7DRL}} || [[Nightmare Tyrant]] | | {{7DRL}} || [[Nightmare Tyrant]] | ||
Line 77: | Line 69: | ||
| {{beta}} || [[Nyctos]] | | {{beta}} || [[Nyctos]] | ||
|- | |- | ||
| {{ | | {{defunct}} || [[Pyro]] | ||
|- | |- | ||
| {{alpha}} || [[Roguelike me]] | | {{alpha}} || [[Roguelike me]] | ||
|- | |- | ||
| {{ | | {{defunct}} || [[Shuruppak]] | ||
|- | |- | ||
| {{7DRL}} || [[Swamp Monster]] | | {{7DRL}} || [[Swamp Monster]] | ||
|- | |- | ||
| {{beta}} || [[The Temple of Torment]] | | {{beta}} || [[The Temple of Torment]] | ||
Line 93: | Line 83: | ||
| {{7DRL}} || [[TrapRL]] | | {{7DRL}} || [[TrapRL]] | ||
|- | |- | ||
| {{ | | {{beta}} || [[Ultima Ratio Regum]] | ||
|- | |- | ||
| {{ | | {{defunct}} || [[Wa]] | ||
|- | |- | ||
| {{7DRL}} || [[Whispers in the Void]] | | {{7DRL}} || [[Whispers in the Void]] |
Revision as of 04:29, 30 July 2015
Python | |
---|---|
Programming Language | |
Company | Python Software Foundation |
Influences | ABC programming language |
Updated | Feb 25 2015 (3.4.0) and May 23 2015 (2.7.10) |
Status | Stable |
Licensing | Open Source (Python 3.3.0 license) |
Platforms | Linux, Unix, Mac OS X, Windows and others. |
Official site of Python |
What is Python?
From the official Python FAQ:
"Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on PCs under MS-DOS, Windows, Windows NT, and OS/2."
A full set of features can be found here.
Roguelike Specific Details
Python's expressive code, dynamic typing, flexible data types, and powerful OO and exception handling facilities make it well-suited to quick, productive RL development. However, like all interpreted languages, Python has a reputation for large memory overheads and being slower in some applications when compared to compiled languages such as C++. These problems, however, can be overcome with the extension of third-party Python modules and proper profiling and programming techniques. Another problem is that Python often requires the user to download an interpreter separately. A way to solve that is to include the interpreter in the game download.
Python's rapid speed of development and human-readable code makes it an excellent choice for programmers wanting to develop a Roguelike in a limited amount of time, making the language ideal for 7DRL Challenges.
Python-Specific Articles on RogueBasin
- Complete Roguelike Tutorial, using python+libtcod
- Python shadowcasting implementation - Python code for field-of-view calculation using Bjorn Bergstrom's excellent recursive shadowcasting algorithm.
- Permissive Field of View in Python - An implementation of the precise Permissive Field of View algorithm in Python.
- Dungeon builder written in Python - A dungeon builder.
- A simple turn scheduling system -- Python implementation - A simple time system for Roguelikes.
Related links
- Official Python website
- Official Python FAQs
- libtcod is a free, fast, portable and uncomplicated API for roguelike developers providing an advanced true color console emulator, input, and lots of other utilities frequently used in roguelikes.
- py2exe is a package which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Since most Windows users will not have Python installed, py2exe is a good way to distribute your Python game to that audience.
- PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux, and Mac OS X.
- Pygame (Pygame) is an SDL wrapper for Python that has been used for many graphical and non-graphical Roguelikes.