What is Laboratory2D
<ul><li>Cross platform 2D engine </li></ul><ul><li>2 layers, can be used for apps or games </li></ul><ul><li>Networking, p...
Tech? <ul><li>Networking engine </li></ul><ul><li>Rendering engine </li></ul><ul><li>Scripting engine </li></ul><ul><li>Ch...
Game engine? <ul><li>Sprites, animations </li></ul><ul><li>Level management </li></ul><ul><li>Game play, mechanics, helper...
Portability <ul><li>C++ layer is portable, runs on Windows, Linux, Mac OSX and iOS ( and android, but not fully ported ) <...
Where does it come from?
Authors <ul><li>Jon Parrott , a.k.a Josie  http://github.com/jjramone13 </li></ul><ul><ul><li>Rendering engine, Bea </li><...
The sum of all its parts <ul><li>Mootools, ENet, Boost, LZMA SDK, Phoenix Core, Bea, 'Gamelab', V8, Chrome, Berkelium, Awe...
Fun! <ul><li>Writing the game I always wanted to build required certain features. This game needed an engine, rapid iterat...
So.... Javascript!
Why Javascript? <ul><li>Curiosity </li></ul><ul><li>Cut throat fighting for performance </li></ul><ul><li>Accessibility  <...
Personal Con List <ul><li>Operator overloads </li></ul><ul><li>Portability might have been an issue </li></ul><ul><li>Conv...
Personal Epic Wins <ul><li>TONS of libraries around ( mootools, astar, physics, maths etc etc ) </li></ul><ul><li>Huge buz...
Sample code
Simple chat server
Simple chat client
Simple paddle class
Upcoming SlideShare
Loading in …5
×

Laboratory2D presentation at beer.js in Johannesburg South Africa

711 views

Published on

Laboratory2D presentation at beer.js in Johannesburg South Africa

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
711
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Laboratory2D presentation at beer.js in Johannesburg South Africa

  1. 1. What is Laboratory2D
  2. 2. <ul><li>Cross platform 2D engine </li></ul><ul><li>2 layers, can be used for apps or games </li></ul><ul><li>Networking, physics, scripting, file system, UI, audio, etc </li></ul><ul><li>Tech in C++ </li></ul><ul><li>Game engine in JS </li></ul>
  3. 3. Tech? <ul><li>Networking engine </li></ul><ul><li>Rendering engine </li></ul><ul><li>Scripting engine </li></ul><ul><li>Chrome embedded ( UI ) </li></ul><ul><li>Event systems ( communication layer ) </li></ul><ul><li>File system </li></ul><ul><li>All performance related items should be in the C++ </li></ul>
  4. 4. Game engine? <ul><li>Sprites, animations </li></ul><ul><li>Level management </li></ul><ul><li>Game play, mechanics, helpers </li></ul><ul><li>Base systems, colors, rectangles, points all needed for a game </li></ul><ul><li>Wrappers for tech, like networking, cameras, sounds etc. </li></ul><ul><li>Anything that is faster to iterate in JS over C++ should be in js. Don't want to be digging in c++ for a simple animation class. </li></ul>
  5. 5. Portability <ul><li>C++ layer is portable, runs on Windows, Linux, Mac OSX and iOS ( and android, but not fully ported ) </li></ul><ul><li>JS layer is portable, can run where ever there is Javascript available. </li></ul><ul><li>Games are portable, the API is shared across platforms so the game code is abstracted from the platform </li></ul>
  6. 6. Where does it come from?
  7. 7. Authors <ul><li>Jon Parrott , a.k.a Josie http://github.com/jjramone13 </li></ul><ul><ul><li>Rendering engine, Bea </li></ul></ul><ul><li>Sven Bergström , a.k.a FuzzYspo0N </li></ul><ul><li>http://blog.centrc.net </li></ul><ul><ul><li>The rest of the engine </li></ul></ul><ul><li>Third party lib authors </li></ul>
  8. 8. The sum of all its parts <ul><li>Mootools, ENet, Boost, LZMA SDK, Phoenix Core, Bea, 'Gamelab', V8, Chrome, Berkelium, Awesomium, SpiderMonkey, Angelcode Toolbox, CAudio, MongoDB BSON, GLFW, Crypto++, LLV8, JSON::spirit, miniupnpc, sqlite3 etc ... </li></ul><ul><li>But why? </li></ul>
  9. 9. Fun! <ul><li>Writing the game I always wanted to build required certain features. This game needed an engine, rapid iteration, all of which over time - became something that I now call Lab2D. </li></ul><ul><li>Mostly about 6 months of 'experimenting with libraries' while working on the game in my spare time led to the base features. </li></ul>
  10. 10. So.... Javascript!
  11. 11. Why Javascript? <ul><li>Curiosity </li></ul><ul><li>Cut throat fighting for performance </li></ul><ul><li>Accessibility </li></ul><ul><li>Flexibility </li></ul><ul><li>Asynchronous nature, easily evented </li></ul><ul><li>Something new to me </li></ul>
  12. 12. Personal Con List <ul><li>Operator overloads </li></ul><ul><li>Portability might have been an issue </li></ul><ul><li>Convincing others to take JS out of the browser mindset and realise its just a programming language. </li></ul><ul><li>Debugging might have been an issue </li></ul>
  13. 13. Personal Epic Wins <ul><li>TONS of libraries around ( mootools, astar, physics, maths etc etc ) </li></ul><ul><li>Huge buzz around JS. node.js , EverythingYouCanThinkOf.js, HTML5 games and libraries etc </li></ul><ul><li>Mature language </li></ul><ul><li>Everyone I know who codes, has done JS somewhere along the line. Now they can approach making games with something less intimidating </li></ul>
  14. 14. Sample code
  15. 15. Simple chat server
  16. 16. Simple chat client
  17. 17. Simple paddle class

×