World of Warcraft Programming: A Guide and Reference for Creating WoW Addons
|
| List Price: | $39.99 |
| Price: | $25.19 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com
66 new or used available from $11.95
Average customer review:Product Description
“WoW” is what you’ll say when you see how many ways you can tweak the World of Warcraft interface after you read this book! If you’re new to programming, we’ll teach you the basics of Lua and XML and walk you through writing your first addon. If you already have some original addons in your arsenal, jump right into Parts III and IV and work with templates, function hooking, custom graphics, state headers, and more. We’ll even help you distribute your addons, making WoW better for everybody.
- Respond to events, creates frames, and use the WoW API to interact with the game
- Learn the Lua programming language through interactive examples, from values and variables to custom functions and control structures
- Write well-formed XML and validate using schemas
- Find specific functions easily in the comprehensive references of APIs, API categories, events, and widgets
- Create custom graphics, scroll frames, dropdown menus, and much more
A Note from the Publisher:
In the first printing, we mistakenly omitted the Authors’ Acknowledgements, which included the names of many World of Warcraft community members who helped bring this book to market. I want to publicly thank them for their efforts, and apologize for the omission, which will be corrected in the second printing.
It is the members of the WoW community that make Blizzard’s amazing game an even greater experience for millions of players around the world, and their efforts on this book are greatly appreciated.
Chris Webb
Executive Editor
From the Authors:
James and Lee Whitehead, thank you for standing behind me on everything that I’ve done throughout my wacky life. None of this would have been possible without the guidance and support that you’ve provided me. Michelle Hastings, thank you for finding a way to bridge a 5300 mile gap and still make me feel like I’m in your living room. Robert and Gregory Whitehead, thank you for sticking by me wherever I am and whatever I do without ever passing judgment. Tom Harper, thank you for letting me be a part of your life. Every single day with you is an adventure I can’t wait to begin, and you have changed my life forever.
Jamie Anderson and Edward Wilman, thank you for letting us invade your sanctuary and for being such good friends. Charlie Radcliffe, Björn Alfthan, Anne Christianson, and Chris McCabe, thank you for being great flatmates. Worcester College MCR, thank you for giving me a community of friends in a very foreign land.
Karen Hobson, thank you for being so helpful and supportive throughout the last two projects; you’ve helped keep me afloat. Sam Lantinga, thank you for all the time and effort you put into helping the World of Warcraft community. Kevin M. Kelly, thank you for your odd sleep patterns and availability; exploration of the unknown is always easier when you have a friend with a map. Daniel Stephens, thank you for your help digging through various parts of the API and for giving me a good jumping-off point for my data exploration.
Chris Webb, thank you for bringing this book and Hacking World of Warcraft into existence. Both books serve as great resources for the WoW UI community. Maryann Steinhart, thank you for your guidance through the entire process. Your feedback, as always, has proved instrumental to the process. Matthew and Bryan, for working with me on this extremely ambitious project, it’s definitely been a rollercoaster.
Thanks to everyone who kept me moving when I needed a push, and those who slowed me down when I needed a break. Thank you to all of my users for putting up with bugs and lack of updates while the book was still being written; your patience and support is what keeps me writing addons. Finally, thank you to all the members of the WoW UI community for everything you do.--Jim
First, I would like to thank all those involved with the book: Jim for inviting me to take part; Bryan for sticking with it through all his work pressures; Chris, Maryann, and the rest of the folks at Wiley for allowing this project to materialize. Thanks to Rick and Stephen for picking apart our work. Supreme thanks go to Iriel, AnduinLothar, Cladhaire, MentalPower, Esamynn, Beladona, Krka, Legorol, Shirik, Cidan, Kevin, Sam, and all the members of #wow-lounge for putting up with our incessant questions. Thank you to all the folks who helped us churn out the API docs at the 11th hour.
Thank you to PepsiCo and Rockstar, Inc., without whose caffeinated beverages I never would have completed my chapters. I’d also like to thank whoever made the massage pad I keep on my computer chair. The best go out to the folks behind “Brisco County Jr.,” “Firefly,” and every other television series that should’ve gone on for years. For entertaining me in my few breaks, xkcd.org, bash.org, Portal, World of Warcraft, “Bones,” “Nip/Tuck,” and “Mythbusters” have my undying gratitude. What thanks for a book of this nature would be complete without recognition of Blizzard for its wonderful product and incredible passion?
Special thanks go out to my de facto colleagues from the UI & Macros forum for their hard work, dedication, and flaming of people who didn’t read the stickies while I devoted my time to this project: Troodi, the nicest troll I’ve ever met; Jelly, enthusiastic ForumToCPoster user; Kamdis, female Draenei—@@’nuff said; Lunessa, my no. 1 supporter for my presidential bid; Lopeppeppy, whose name I can finally type from memory; Kaydeethree, with the best diagram of how to find stickies ever; Kelfarr, under people’s skin before he even posts; Alestane, unnervingly patient; Valaron, never met a better Orc; Lealla, yay drood!; Aella, whom I always confuse with Lealla; everybody else whom I forgot to name; and our Administratrix Extraordinaire, Cairenn, for holding everything together!
My deepest thanks go to my family for making me who I am, and, most important, to my wife, Juliella, thank you for supporting me in this endeavor even when it meant I had to put you on /ignore from time to time.--Matthew
Wanda and Joe Newman, for the hours you put up with me not being willing to get off the computer. Thanks for all the support over the years, and for buying me my first copy of VB when I was 15, and sorry for all the arguments. Willis McLemore, thanks for supporting me without ever expecting anything from me.
Brent Miller, for helping me really start out on this awesome journey. You helped guide me when I first got started doing WoW addons, and many of the things we talked about helped shape me as a professional coder. Thanks for the first versions of Ace and for shrugging off all that responsibility onto me when you left. Oh, and thanks for listening to me rant.
Jim Whitehead and Matthew Orlando, you have been better co-authors than anyone else can ask for. Thanks for putting up with me while I learned how to do this, and for handling the content that I had no clue about. Sorry again for the times when I got overwhelmed. Thanks to all the editors and support from Wiley for helping me get through this, and for putting up with me when I gave you problems.
PProvost, Ammo, Cladhaire, hyperChipmunk, kergoth, Mikk, Nargiddley, pastamancer, nevcairiel, Tekkub, Tem, vhaar, Wobin and the members of #wowace. Thanks for the ideas, inspiration, strife, and hard work. Thanks for helping WowAce grow to more than a million users and for all the great mods!
Shirik, Tekkub, Wobin, Mentalpower, Esamynn, Cide, Ammo, Nevcairiel, and Iriel (and any I have accidentally forgotten). Thank you for helping so much on the reference. We would never have been done in time without you.
Karen Hobson. You’ve been a friend to me during some of the darkest times in my life, and I'll always treasure your company and support. I don’t think it’d be possible for me to thank you enough.
Aidan McLemore, who still thinks Daddy can do anything. Last, but by no means least, Kristina McLemore. Thanks for believing in me and following me across the country, for always loving me, and for helping me but, most important, for not divorcing me during the production of this book.--Bryan
A special thanks is owed to a group of hard-working members of the user interface community, without whom the reference section of this book would not have been completed. Each of you truly stepped up when we needed your help, and we’re extremely grateful for everything you’ve done for us. Thank you [Ammo], Beladona, Cide, Gazmik, JoshBorke, MentalPower, Nevcairiel, Shirik, Tem, and Wobin for giving us your time, and a little bit of your sanity.
Dan Fernandez, thank you for your work on the World of Warcraft AddOn Studio and your help in writing Chapter 14. We’re hopeful that the software will continue to develop and mature as another tool in the addon author’s toolbox.
Product Details
- Amazon Sales Rank: #20621 in Books
- Published on: 2008-05-05
- Original language: English
- Number of items: 1
- Binding: Paperback
- 1056 pages
Editorial Reviews
Review
"This has been long awaited by WoW players…it guides readers step-by-step through building Addons with no prior programming experience assumed." (The Bookseller, Friday 14th March 2008)
From the Back Cover
WoW is more than an acronym . . .
. . . it's what you'll say when you see how many ways you can tweak the interface after you read this book. If you're new to programming, we'll teach you the basics of Lua and XML and walk you through writing your first addon. If you already have some original addons in your arsenal, jump right into Parts III and IV and work with templates, function hooking, custom graphics, state headers, and more. We'll even help you distribute your addons, making WoW better for everybody.
-
Discover how to respond to events, create frames, and use the World of Warcraft API to interact with the game
-
Learn the Lua programming language through a series of interactive examples, from values and variables to custom functions and control structures
-
Learn basic and advanced functions and control structures
-
Write well-formed XML and validate using schemas
-
Implement saved variables, slash commands, secure templates, dynamic frames, parsing tooltips, and more
-
Create custom graphics, scroll frames, and dropdown menus
-
Find specific functions easily in the comprehensive references of APIs, API categories, events, and widgets
Companion Web site
Go to http://www.wiley.com/go/wowprogramming regularly to see how the latest World of Warcraft updates affect these tips and techniques.
About the Author
James Whitehead II is the author of a number of popular addons for World of Warcraft such as PerfectRaid, Clique, LightHeaded, TomTom, and many other small addons available at www.wowinterface.com. He has been an active member of both the WoW UI and the Lua communities since the World of Warcraft Beta began and has been writing addons since. When he actually has time to play the game, you can find him playing one of his many characters on the Stormrage (US) server, or feverishly leveling his characters on Ravencrest (EU).
Jim is a graduate of Syracuse University where he completed both his BSc and MSc in computer science. He is currently pursuing his DPhil in computer science at the University of Oxford, where he is also the teaching assistant for the Computing Laboratory. In his spare time, he enjoys rowing competitively for Worcester College and stabbing his friends in the back playing Munchkin.
Bryan McLemore has been a member of the UI community since early 2005. After creating KC_AutoRepair, he went on to co-found the Ace Project and WowAce.com as Kaelten alongside Brent Miller (Turan in the UI community). Following Brent’s official departure from WoW, Bryan found himself having to devote more and more time to WowAce and less to his addons; however, he refuses to give up on OneBag and KC_Items. When he actually manages to spend time playing World of Warcraft, he plays one of his many alts on the US server Whisperwind.
In the remainder of his free time, he is leading the development of Ace3 and working on plans for his addons, along with a few websites he would like to see developed. Bryan recently started a full-time career in web development and system administration when he moved to California with his wife and daughter. They currently live in San Francisco.
Matthew Orlando is the author of numerous addons for World of Warcraft, including BuyEmAll, CogsBar, and MacroTalk. He has been programming for 13 years and has been active in the addon community since early 2006. In addition to his extensive experience with Lua and the World of Warcraft API, he maintains “Cogwheel’s Complete Macro Guide,” the definitive source for information on writing macros for WoW.
Matthew currently resides in Sebastopol, California, with his wife, Juliella; their dog, Ari; and two cats, Ryo-ohki and Zoe. He works for Kistler Vineyards where his duties range from customer service and data entry to database programming and website development, and he plans to begin law school in mid-2008.
Customer Reviews
Absolutely indispensable.
Wow. Now this is a gem of a programming reference. The bar to writing tech references is really low these days, and as a result there are lots of tech books on the market that are really empty and only end up giving you one or two useful concepts.
This is not one of those books.
I just got my copy today, and my initial impression was how impressed I was by the thoroughness of it. This is a reference that will be of use for people of all skill and experience levels. The opening chapters provide a great introduction to Lua itself, then Lua in the context of WoW, and then hold your hand through creating your first addon, before diving into more complex concepts such as programmatic UI creation and state headers.
I'm the author of a number of high-profile WoW addons, including Omen and Chatter, and I can honestly say that this is a book that I'll actually use - and I don't use many references. Gentle enough for the new programmer, but meaty enough for the experienced. This is one that will be of genuine use to anyone interested in modding WoW, or understanding the WoW mod UI system. This is a genuine, stick-it-on-your-desk, mark-it-up-and-dog-ear-the-pages reference that you'll use for as long as you're developing addons.
Of note, this is actually a reference that may be of use to people embedding Lua in their own software projects. It dissects WoW's implementation of Lua, and how it ties into the user interface, and explains a lot of concepts that may be of use to people looking to use Lua in a non-WoW context. It's certainly not a reference on embedding Lua in your own application, but its explanation of WoW's implementation is a fantastic reference point.
If you have any interest at all in addon development, get this book.
A-Grade Game Dev / Modding Tome
I'm a game designer who's currently just getting into Lua scripting, and of the 7 or so game dev books I've bought recently this book is EASILY the best. It's useful for ANYONE working on WoW Addons, and also a great buy for anyone learning Lua scripting.
Unlike most of the game dev literature I've seen, this book totally avoids wasting paper on descriptive waffle that is obvious to anyone who plays games (and everyone who makes games does, or should).
For beginners - The introduction to scripting in Lua is MUCH easier to digest than any of the Lua-specific tutorials online, or 'Programming in Lua'.
For experienced scripters or mod-makers - There are over 600 pages on reference, so even if you've got nothing to learn technically, it's still a worthy buy.
Great Book!
I just got this book and love it. Very useful coming from a novice programmer with no knowledge of LUA programming. It's a very thick book over 1000 pages and well written. The book is written by a few authors that have created some very nice and complex addons. Between the book and their website anyone can pick up programming in WoW. If anyone wants to write their own addons in WoW or just learn to modify some that they use, then this book is a must have.




