WEBGAME VỚI NODEJS VÀ CODEIGNITER

26 1.8K 2
WEBGAME VỚI NODEJS VÀ CODEIGNITER

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MÔN: CÔNG NGHỆ WEB VÀ ỨNG DỤNG BÁO CÁO ĐỀ TÀI: WEBGAME VỚI NODEJS VÀ CODEIGNITER Có rất nhiều nền tảng phát triển game: PC, Console, Mobile, Web và nhiều nữa... Mỗi nền tảng có mỗi ưu điểm và nhượt điểm khác nhau. Và trong số đó, Web game là một lựa chọn không tồi. Web game hoàn toàn đa nền tảng, một máy Ubuntu có thể chơi với một máy Windows hay máy MAC, người chơi ở mọi nơi, mọi thời điểm đều có thể kết nối với nhau mà chơi, không kể giàu nghèo đều có đủ tiền để vào internet chơi một trò chơi.

GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN  MÔN: CÔNG NGHỆ WEB VÀ ỨNG DỤNG BÁO CÁO ĐỀ TÀI: WEB-GAME VỚI NODEJS VÀ CODEIGNITER GVHD: Nguyễn Đăng Khoa SVTH: Nhóm 7 1. Huỳnh Ngọc Hiệp 10520128 2. Nguyễn Tấn Hoan 10520135 3. Phạm Tấn Long 10520163 4. Nguyễn Ngọc Thanh Huy 10520480 1 TP. Hồ Chí Minh, tháng 12 năm 2013 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” MỞ ĐẦU Trong thời buổi ngày nay, khi con người đã đầy đủ no ấm thì nhu cầu giải trí ngày càng tăng lên. Chi phí cho con người vào giải trí ngày càng lớn, và ngành công nghiệp game cũng vì thế mà được cơ hội phát triển mạnh mẽ. Có rất nhiều nền tảng phát triển game: PC, Console, Mobile, Web và nhiều nữa Mỗi nền tảng có mỗi ưu điểm và nhượt điểm khác nhau. Và trong số đó, Web game là một lựa chọn không tồi. Web game hoàn toàn đa nền tảng, một máy Ubuntu có thể chơi với một máy Windows hay máy MAC, người chơi ở mọi nơi, mọi thời điểm đều có thể kết nối với nhau mà chơi, không kể giàu nghèo đều có đủ tiền để vào internet chơi một trò chơi. Web game tương đối phát triển mạnh trong những năm gần đây, và đặc biệt game thời gian thực càng được chú trọng bởi tính hấp dẫn của nó. Với mục đích thử sức tạo ra một web game thời gian thực, nhóm đã quyết định chọn NodeJS là công nghệ để tiến hành. Rất mong game sẽ được đông đảo mọi người tham gia chơi. Nhóm sinh viên thực hiện! 2 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” LỜI CẢM ƠN Trong khoảng thời gian thực hiện đề tài này, chúng em đã nhận được sự giúp đỡ, chỉ bảo tận tình của thầy cô bộ môn. Chúng em xin gửi lời cảm ơn sâu sắc đến quý thầy cô. Đặc biệt xin chân thành cảm ơn thầy Nguyễn Đăng Khoa là người hướng dẫn, cung cấp cho chúng em những tài liệu và tạo điều kiện thuận lợi giúp đỡ chúng em để hoàn thành đề tài một cách tốt nhất. Chúng em cũng gửi lời cảm ơn đến bạn bè đã giúp đỡ chúng em hoàn thành đề tài này. Do thời gian và kiến thức có hạn nên mặc dù đã cố gắng hết khả năng nhưng đề tài không thể nào tránh khỏi những thiếu sót. Rất mong được sự đóng góp của quý thầy cô để đề tài này hoàn chỉnh hơn. Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực hiện! 3 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” NHẬN XÉT (Của GVHD) TP. HCM, tháng 12 năm 2013. GVHD Nguyễn Đăng Khoa 4 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” MỤC LỤC 5 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” Chương 1: GIỚI THIỆU NODEJS I. Giới thiệu Author(s): Ryan Lienhart Dahl Developer(s):Node.js Developers, Joyent Initial release: May 27, 2009[1] Stable release: 0.10.21 / October 18, 2013 Written in: C++, JavaScript License: MIT Website: http://nodejs.org NodeJS là một nền tảng được xây dựng dựa trên Chrome JavaScript Runtime để tạo ra các ứng dụng mạng nhanh, khả chuyển. NodeJS sử dụng cơ chế event-driven, mô hình non-blocking I/O để tạo nên sự nhanh, hiệu quả và thời gian thực cho các ứng dụng phân tán. JavaScript được sử dụng ở client-side nhưng trong NodeJS, nó đã được đưa lên server-side. Chính điều này đã tạo nên sự uyển chuyển trong NodeJS, giúp cho sự liên lạc giữa client và server dễ hơn bao giờ hết, không tốn bất kỳ chi phí nào cho quá trình chuyển đổi. Thông thường các server sử dụng cơ chế thread để quản lý các request từ phía client. Tuy nhiên, ở NodeJS, cơ chế đó đã không được sử dụng, thay vào đó là một cơ chế hiệu quả hơn: event. NodeJS xử lý mỗi request trong một vòng lặp event, do đó nó có thể xử lý rất rất nhiều event cùng một lúc. Trong một vòng lặp bình thường, webserver trong khi đang xử lý một request sẽ phải chờ thao tác nhập xuất hoàn thành mới có thể tiếp tục, đó là blocking 6 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” I/O. NodeJS xử lý mỗi request như là một sự kiện, server sẽ không phải chờ thao tác nhập xuất hoàn thành trong khi có thể nhận các request khác. Khi thao tác nhập xuất hoàn thành, nó sẽ gọi một hàm callback để xử lý tiếp. NodeJS chạy trên V8 JavaScript Engine giống như của Google Chrome. NodeJS sử dụng CommonJS framework, do đó nó rất gần với các ngôn ngữ lập trình hướng đối tượng thật sự. II. Tại sao dùng NodeJS NodeJS’s Goal Mục tiêu của NodeJS được tạo ra là để tạo ra các ứng dụng nhanh chóng, chạy nhanh, uyển chuyển và dễ dàng mở rộng NodeJS được lựa chọn là công nghệ của năm 2012 bởi InfoWorld. So sánh với Apache - NodeJS nhanh hơn - NodeJS có thể xử lý hàng nghìn request đồng thời - NodeJS có thể sử dụng code ở server và client tương tự nhau Platform CCU PHP (via Apache) 3187,27 Static (via Apache) 2966,51 NodeJS 5569,30 Với một cộng đồng phát triển đông đảo, NodeJS đang trở thành một xu thế cho tương lai. Tuy mới vừa được phát triển gần đây thôi, nhưng cũng đã có rất rất nhiều công ty biết đến và lựa chọn NodeJS. Số lượng module thư viện được tạo ra cho NodeJS tăng lên hàng ngày. Có thể nói, hầu hết những gì mà các framework khác hỗ trợ thì NodeJS đều có module thực hiện, chỉ có khác biệt là NodeJS chưa được tốt nhất. 7 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” 8 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter” Chương 2: GIỚI THIỆU CODEIGNITER FrameWork I Giới thiệu CodeIgniter Framework được xem là 1 PHP framework phổ biến và dễ tiếp cận nhất so với các PHP framework hiện hành. Codeigniter được xây dựng và ra mắt vào ngày 28-02-2006. Trải qua nhiều lần cải biên và phát triển, hiện phiên bản mới nhất tính cho tới thời điểm tôi viết bài này là 2.1.4 Codeigniter thật sự đã trở nên mạnh mẽ và đầy đủ với các thư viện hỗ trợ người dùng từ dễ đến khó trong việc phát triển ứng dụng web. Để học và làm việc tốt đối với codeigniter cũng giống các php framework khác, người học phải có kiến thức nhất định về lập trình hướng đối tượng và xử lý mảng. Đồng thời am hiểu về kiến trúc M-V-C để có thể hiểu được quy trình và hướng hoạt động trong toàn ứng dụng. III. Tại sao dùng CodeIgniter  Được thiết kế theo mô hình Model-View-Controller. Mô hình MVC giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một phần mềm thành những thành phần độc lập, từ đó giúp cho việc thiết kế, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm. CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng quản lý và dễ bảo trì.  Nhỏ gọn: Gói cài đặt chỉ 404KB (không bao gồm phần User Guide). So với các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB) hay Zend Framework (5.66MB)…kích thước của CodeIgniter giúp giảm thiểu đáng kể không gian lưu trữ. 9 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter”  Tốc độ nhanh. CodeIgniter được đánh giá là một PHP framework có tốc độ nhanh nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử lý dữ liệu, từ đó tối ưu hóa tốc độ tải trang.  Miễn phí. CodeIgniter được phát hành dưới giấy phép Apache/BSD mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn. Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất thân thiện với các robot tìm kiếm.  Hệ thống thư viện phong phú. CodeIgniter cung cấp các thư viện phục vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnh…đến những chức năng nâng cao như XML-RPC, mã hóa, bảo mật…  Bảo mật hệ thống. Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống. 10 [...]... đối phương dễ dàng, và để đối phương không thể bắn được người chơi Click lên màn hình và giữ, một thanh lực bắn sẽ chạy liên tục Chọn thời điểm để lực bắn hợp lý, thả chuột để bắt đầu bắn 20 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter Bắn trúng đối phương để tiêu diệt và chiến thắng Hãy bắt đầu và troll 21 GVHD: Nguyễn Đăng Khoa Chương 4: I “Web-game với NodeJS và CodeIgniter PHIÊN... tốc độ load của website 25 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter TÀI LIỆU THAM KHẢO 1) 2) 3) 4) 5) 6) Slide bài giảng môn học của GVHD: Nguyễn Đăng Khoa Trang NodeJS: http:/ /nodejs. org Trang NodeJS của Việt Nam: http:/ /nodejs. vn/forum Trang Socket.IO: http://socket.io Trang CodeIgniter: http://ellislap.com /codeigniter Và nhiều tài liệu khác 26 ... gần, nhóm sẽ cố gắng đưa sản phẩm lên Windows 8 Store càng sớm càng tốt 23 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter 24 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter KẾT LUẬN & HƯỚNG PHÁT TRIỂN Trong quá trình thực hiện đồ án, nhóm đã gặp không ít khó khăn Tuy nhiên với sự giúp đỡ nhiệt tình của các thầy Nguyễn Đăng Khoa nhóm đã hoàn thành tốt đồ án Do chỉ dừng lại ở mức... sau: 1 Cài đặt NodeJS - Download NodeJS tại địa chỉ: http:/ /nodejs. org, version hiện tại là 0.10.23 Chạy file cài đặt Mở command prompt lên, gõ lệnh cd để chuyển đến thư mục soul-leader\Web_UI_Game\nodejsserver Chạy lệnh: node server.js để chạy server NodeJS 2 Cài đặt CodeIgniter Để cài đặt và chạy ứng dụng đầu tiên trong codeigniter Bạn cần download bộ framework này tại đây: http:/ /codeigniter. com/download.php... “Web-game với NodeJS và CodeIgniter GIỚI THIỆU WEBSITE Giới thiệu chung Nhu cầu Trong thời buổi ngày nay, khi con người đã đầy đủ no ấm thì nhu cầu giải trí ngày càng tăng lên Chi phí cho con người vào giải trí ngày càng lớn, và ngành công nghiệp game cũng vì thế mà được cơ hội phát triển mạnh mẽ Có rất nhiều nền tảng phát triển game: PC, Console, Mobile, Web và nhiều nữa Mỗi nền tảng có mỗi ưu điểm và. .. Add-AppDevPackage.ps1, chọn Run with PowerShell o Tiếp tục Yes nếu được hỏi o Điền email và mật khẩu của một tài khoản Microsoft (livemail, hotmail ) nếu được hỏi o OK o Ra ngoài Start để mở game lên 4 Giao diện và sử dụng Giao diện và cách sử dụng hoàn toàn giống với phiên bản trên website 22 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter Menu Main Game Phát triển Trong tương lai gần, nhóm sẽ cố gắng... đó là những hướng kinh doanh trước mắt của website II Kỹ thuật 1 Realtime với Socket.IO Thư viện Socket.IO được dùng để tạo các ứng dụng realtime trên nền NodeJS Sử dụng - Trang chủ: http://socket.io - Download bằng câu lệnh: npm install socket.io 11 GVHD: Nguyễn Đăng Khoa - “Web-game với NodeJS và CodeIgniter Kết nối client vào server theo hướng dẫn có sẵn ở trên trang chủ của Socket.IO Server var... của chúng như hình bên dưới Như các bạn thấy, chúng ta có tới 3 thư mục là: application, system, user_guide và file index.php Trong đó, chúng ta chỉ quan tâm tới 2 thư mục là application, system và file index.php mà thôi 15 GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter Copy chúng vào thư mục của riêng bạn Trong trường hợp này, tôi tạo thư mục tên ciexam để chứa chúng Sau khi đã hoàn tất... Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter 3 Cài đặt XAMPP - Cài đặt XAMPP để giả lập server Download XAMPP tại địa chỉ: http://www.apachefriends.org/en/xampp.html Chạy file cài đặt, để các lựa chọn mặc định Một thư mục tên xampp sẽ - xuất hiện trong ổ đĩa C:\ của máy Copy toàn bộ file trong thư mục soul-leader vào trong thư mục - - xampp\htdocs Bật browser lên và vào địa chỉ: localhost\soul-leader\Web_UI_Game... dịch vụ cho website và game Hỗ trợ: Các câu hỏi, liên lạc webmaster Thư viện: Những tài nguyên miễn phí mà website cung cấp: Hình ảnh, âm - thanh, phần mềm, game, ebook, Diễn đàn: Diễn đàn thảo luận chia sẻ về các vấn đề trong game - 2 Web game Troll Shooter Để vào chơi game, hãy click vào nút Chơi Ngay trái màn hình 18 ở góc trên, bên GVHD: Nguyễn Đăng Khoa “Web-game với NodeJS và CodeIgniter Giao . nâng cao để làm ra những game đơn giản đến phức tạp. Sử dụng - Trang chủ: http://www.cocos2d-x.org/projects/html5 - Download bộ thư viện từ trang chủ, version hiện tại là 2.2.1 - Sau khi download. kinh doanh trước mắt của website. II Kỹ thuật 1. Realtime với Socket.IO Thư viện Socket.IO được dùng để tạo các ứng dụng realtime trên nền NodeJS. Sử dụng - Trang chủ: http://socket.io - Download. diện chính của website sẽ có dạng như sau: 1. Trang Chủ - Trang chủ: Trang hiện tại tại địa chỉ localhostsoul-leaderWeb_UI_Game - Tin tức: Trang tin tức về thị trường game trong nước và quốc

Ngày đăng: 28/07/2014, 10:05

Mục lục

    Chương 1: GIỚI THIỆU NODEJS

    II. Tại sao dùng NodeJS

    Chương 2: GIỚI THIỆU CODEIGNITER FrameWork

    III. Tại sao dùng CodeIgniter

    Chương 3: GIỚI THIỆU WEBSITE

    I Giới thiệu chung

    2. Temporary Database với TaffyDB

    3. Game với Cocos2d HTML5

    III. Hướng dẫn cài đặt

    IV. Hướng dẫn sử dụng

Tài liệu cùng người dùng

Tài liệu liên quan