5. Who am I?
• My name is Paul
• I’m a developer with about 10 years of experience
6. Who am I?
• My name is Paul
• I’m a developer with about 10 years of experience
• I work for HUGE in London
7. Who am I?
• My name is Paul
• I’m a developer with about 10 years of experience
• I work for HUGE in London
• Findable on Twitter as @aerotwist
8. Who am I?
• My name is Paul
• I’m a developer with about 10 years of experience
• I work for HUGE in London
• Findable on Twitter as @aerotwist
• Findable on the interwibble at http://aerotwist.com
12. Why bother?
• There are already loads: Three.js, J3D, PhiloGL, etc
• A great opportunity to learn
13. Why bother?
• There are already loads: Three.js, J3D, PhiloGL, etc
• A great opportunity to learn
• An even better opportunity to share
14. Why bother?
• There are already loads: Three.js, J3D, PhiloGL, etc
• A great opportunity to learn
• An even better opportunity to share
• ... and Bartek Drozdz suggested it
19. Elevator Pitch
• Make a simple 3D engine
• Make it feature-limited... feature-selective ;)
20. Elevator Pitch
• Make a simple 3D engine
• Make it feature-limited... feature-selective ;)
• Make it Open Source and available on GitHub
21. Elevator Pitch
• Make a simple 3D engine
• Make it feature-limited... feature-selective ;)
• Make it Open Source and available on GitHub
http://github.com/paullewis/a3
24. Goalz
• Try and write a 3D engine a developer can use
• Get API documentation “for free”
25. Goalz
• Try and write a 3D engine a developer can use
• Get API documentation “for free”
• Keep it lean and mean
26. Goalz
• Try and write a 3D engine a developer can use
• Get API documentation “for free”
• Keep it lean and mean
• Record videos explaining the process
30. Developer APIs
• Really difficult
• You know your own code
• You don’t know what a developer wants to do
31. Developer APIs
• Really difficult
• You know your own code
• You don’t know what a developer wants to do
• You may screw it up a bit :)
32. Developer APIs
• Really difficult
• You know your own code
• You don’t know what a developer wants to do
• You may screw it up a bit :)
• Advice: get help
33. For your Renderer class why did you go
with a shortcut namespace of A3.R
instead of A3.Renderer?
That tripped me up initially because it was
inconsistent with how you shortcut
namespaced your other class files.
- Joshua Perez, via email
38. Free Documentation
• Really easy
• With JavaScript just use JavaDoc comments
• Run jsdoc-toolkit against it as part of the build
39. Free Documentation
• Really easy
• With JavaScript just use JavaDoc comments
• Run jsdoc-toolkit against it as part of the build
• Automagic wonders will follow
43. Keeping It Small
• Really hard
• Functionality is either core or addon
• Core is always included, addon toggled in the build
44. Keeping It Small
• Really hard
• Functionality is either core or addon
• Core is always included, addon toggled in the build
• 99% right now is core
45. Keeping It Small
• Really hard
• Functionality is either core or addon
• Core is always included, addon toggled in the build
• 99% right now is core
• The engine is about 13KB gzipped (53KB normal)