Menu
News
All News
Dungeons & Dragons
Level Up: Advanced 5th Edition
Pathfinder
Starfinder
Warhammer
2d20 System
Year Zero Engine
Industry News
Reviews
Dragon Reflections
White Dwarf Reflections
Columns
Weekly Digests
Weekly News Digest
Freebies, Sales & Bundles
RPG Print News
RPG Crowdfunding News
Game Content
ENterplanetary DimENsions
Mythological Figures
Opinion
Worlds of Design
Peregrine's Nest
RPG Evolution
Other Columns
From the Freelancing Frontline
Monster ENcyclopedia
WotC/TSR Alumni Look Back
4 Hours w/RSD (Ryan Dancey)
The Road to 3E (Jonathan Tweet)
Greenwood's Realms (Ed Greenwood)
Drawmij's TSR (Jim Ward)
Community
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Resources
Wiki
Pages
Latest activity
Media
New media
New comments
Search media
Downloads
Latest reviews
Search resources
EN Publishing
Store
EN5ider
Adventures in ZEITGEIST
Awfully Cheerful Engine
What's OLD is NEW
Judge Dredd & The Worlds Of 2000AD
War of the Burning Sky
Level Up: Advanced 5E
Events & Releases
Upcoming Events
Private Events
Featured Events
Socials!
EN Publishing
Twitter
BlueSky
Facebook
Instagram
EN World
BlueSky
YouTube
Facebook
Twitter
Twitch
Podcast
Features
Top 5 RPGs Compiled Charts 2004-Present
Adventure Game Industry Market Research Summary (RPGs) V1.0
Ryan Dancey: Acquiring TSR
Q&A With Gary Gygax
D&D Rules FAQs
TSR, WotC, & Paizo: A Comparative History
D&D Pronunciation Guide
Million Dollar TTRPG Kickstarters
Tabletop RPG Podcast Hall of Fame
Eric Noah's Unofficial D&D 3rd Edition News
D&D in the Mainstream
D&D & RPG History
About Morrus
Log in
Register
What's new
Search
Search
Search titles only
By:
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Menu
Log in
Register
Install the app
Install
Community
General Tabletop Discussion
*Geek Talk & Media
A standard RPG gaming API
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="towngen" data-source="post: 417079" data-attributes="member: 1528"><p>if only programming were as simple and quick as legos ....</p><p></p><p>But yes ... that's kinda the idea.</p><p></p><p>Each program that supported the API could include or exclude whatever support it wanted.</p><p></p><p>I suppose some more examples might help stir the imagination some ...</p><p></p><p>Suppose that Bob the programmer builds an NPC generator. They could choose to expose a function to the API that ... say for example ... created an NPC based on gender, race, character level, and alignment. When they released their program, they would include a document say what they exposed. There should probably be a programmatic way of querying a program for what it supports as well, but that's a tangent for this example.</p><p></p><p>Then. sometime later, Jack is writing an encounter generator. In one of the encounter tables there is a chance to encounter an NPC party. Not wanting to recreate the wheel, since Bob already did such a great job on his generator, Jack decides that whenever an NPC party is rolled if checks at the appropriate TCP/IP port to see if any other applications are running that respond "yes" to a query "can you generate an NPC". If it doesn't find any such application, it pops up a message box and asks the user to start an "RPG-API" program (if they have it) that supports NPC creation. It might have options to respond, "OK, it's started now.", "No, I don't have it." If the user answers No, it rerolls for something else. If the user answers yes, then the program attempts to contact the other program via the method detailed in this API and Bob's generator does the work returning the answer to Jack's generator.</p><p></p><p>Now, Jack can write his software faster, because he isn't re-inventing the wheel. He is leveraging what was already written to create something.</p><p></p><p>Now suppose that someone later on creates a monster advancement tool. Jack might go back and incorporate it's functionality into his program.</p><p></p><p>Now suppose that Sally has a combat manager utility. They might create a function to "import an encounter", so that the user can directly import the results of the rolled encounter into the combat manager.</p><p></p><p>What is so cool about this is that all Jack did was expose to the API the work he already did. He doesn't need to have any idea who Sally is, or what her program is trying to do with the data. It simply responds to a request for data.</p><p></p><p>Suppose that Robert creates a database utility to store created encounters, then feeds them to the combat manager when selected by the user. Again, Sally never needed to know that Robert was going to do that. She simply exposed some of the functionality in her program, and Robert connected to both her and Jack's programs.</p></blockquote><p></p>
[QUOTE="towngen, post: 417079, member: 1528"] if only programming were as simple and quick as legos .... But yes ... that's kinda the idea. Each program that supported the API could include or exclude whatever support it wanted. I suppose some more examples might help stir the imagination some ... Suppose that Bob the programmer builds an NPC generator. They could choose to expose a function to the API that ... say for example ... created an NPC based on gender, race, character level, and alignment. When they released their program, they would include a document say what they exposed. There should probably be a programmatic way of querying a program for what it supports as well, but that's a tangent for this example. Then. sometime later, Jack is writing an encounter generator. In one of the encounter tables there is a chance to encounter an NPC party. Not wanting to recreate the wheel, since Bob already did such a great job on his generator, Jack decides that whenever an NPC party is rolled if checks at the appropriate TCP/IP port to see if any other applications are running that respond "yes" to a query "can you generate an NPC". If it doesn't find any such application, it pops up a message box and asks the user to start an "RPG-API" program (if they have it) that supports NPC creation. It might have options to respond, "OK, it's started now.", "No, I don't have it." If the user answers No, it rerolls for something else. If the user answers yes, then the program attempts to contact the other program via the method detailed in this API and Bob's generator does the work returning the answer to Jack's generator. Now, Jack can write his software faster, because he isn't re-inventing the wheel. He is leveraging what was already written to create something. Now suppose that someone later on creates a monster advancement tool. Jack might go back and incorporate it's functionality into his program. Now suppose that Sally has a combat manager utility. They might create a function to "import an encounter", so that the user can directly import the results of the rolled encounter into the combat manager. What is so cool about this is that all Jack did was expose to the API the work he already did. He doesn't need to have any idea who Sally is, or what her program is trying to do with the data. It simply responds to a request for data. Suppose that Robert creates a database utility to store created encounters, then feeds them to the combat manager when selected by the user. Again, Sally never needed to know that Robert was going to do that. She simply exposed some of the functionality in her program, and Robert connected to both her and Jack's programs. [/QUOTE]
Insert quotes…
Verification
Post reply
Community
General Tabletop Discussion
*Geek Talk & Media
A standard RPG gaming API
Top