4 yếu tố của việc thiết kế game(Phần 4)

Ở phần cuối của bài viết này chúng ta sẽ đến với yếu tố cuối cùng và cũng không kém phần quan trọng của việc thiết kế game , đó chính là cơ hội. Cơ hội là yếu tố cuối cùng của thiết kế game. Khi ta chơi, chúng ta sẽ tự tạo ra kế hoạch để kiếm vàng, tài nguyên, đánh bại kẻ địch, hoặc làm bất cứ ...

Tác giả: Trịnh Tiến Mạnh viết 15:15 ngày 12/08/2018

Làm thế nào để xây dựng một Recommender System (RS) - Phần 2

Trong bài trước mình đã trình bày với mọi người những khái niệm cơ bản về một Hệ gợi ý và chúng ta cũng đã biết đến hai hướng tiếp cận chính để xây dựng một hệ thống gợi ý đó là Content-based và Collaborative Filtering cũng như phân tích ưu nhược điểm của chúng. Từ phần này chúng ta bắt ...

Tác giả: Bùi Văn Nam viết 15:15 ngày 12/08/2018

C言語のメモリ操作の危険性について

C言語を学習してみたかったが、ポインタの制御を間違えてPCをおじゃんにしてしまったという昔の話を聞いたことがあったので及び腰だった。 実際に容易にPCを壊してしまうことはあるのか、その場合どう気をつけるべきなのかを調べてみた。 Q,ポインタの誤操作はPCを破壊するのか? A, 最近のPCでは破壊には至らないらしい。 どういうことか 似たような質問がこのサイトにあり、その回答が納得の行くものだったので引用 リアルモードのOSであれば、OSとアプリケーションは同じメモリ空間で動作しますから、OSが壊れる場合があります。その際、一般にポートも保護されていませんから、最悪、C ...

Tác giả: Hoàng Hải Đăng viết 15:15 ngày 12/08/2018

Day 18 - Toon rendering

さて、それではグラフィック、見た目のところについて学習します。 まずはシェーダーとかレンダラーって何?ってところからなんですが、以外と明確に定義してる情報が無いんですよね。 僕は、ゲームによって様々なグラフィックの種類があり 種類分けをする時は「リアル系」だとか「アニメ系」とか言って その「~~系」を作っている部分がシェーダーとかレンダラーだという認識でした。 質感の調整って言うんですかね? 僕の大好きなジャンルにトゥーンレンダリング?っていうアニメ調のグラフィックをしたゲームがあるんですけど トゥーンシェーダーってのと何が違うんだろう? ...

Tác giả: Bùi Văn Nam viết 15:15 ngày 12/08/2018

Continuous Integration with Jenkins - Bài 1: Giới thiệu về CI và Jenkins

Xin chào các bạn. Nếu các bạn đang làm việc ở một môi trường phát triển phần mềm chuyên nghiệp và theo phương pháp Agile, các bạn chắc hẳn đã nghe tới từ khóa Continuous Integration (CI) - Tích hợp liên tục. Vậy nó là gì và thực hiện nó ra sao. Trong series này của mình sẽ: Bài 1: Giới thiệu về CI ...

Tác giả: Hoàng Hải Đăng viết 15:15 ngày 12/08/2018

[Become a SuperUser] Debian vs Redhat: Package Management System

Unix vs Linux. Nguồn gốc và sự khác biệt Debian vs Redhat: Package Management System Như trong bài viết trước, tôi đã đề cập đến khái niệm Linux Distribution, hay Linux Distro, với 2 nhánh chính mà các bạn nên biết, đó là Debian và Redhat . Có khá nhiều điểm khác biệt giữa hai nhánh ...

Tác giả: Trịnh Tiến Mạnh viết 15:15 ngày 12/08/2018

Lập trình C cho hệ thống nhúng (P4- Giao tiếp I2C trong V850E)

1.I2C là gì Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C. I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao tiếp giữa các IC với nhau. Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các ...

Tác giả: Trịnh Tiến Mạnh viết 15:15 ngày 12/08/2018

Python context manager - bạn đã thực sự hiểu?

Trong Python, context manager là một phương thức cho phép bạn cấp phát và sử dụng tài nguyên một cách hiệu quả. Context manager được sử dụng rộng rãi thông qua câu lệnh with. Ví dụ: with open('foo', 'w') as f: f.write('Hora! We opened this file') Đoạn code trên mở một file, ghi dữ ...

Tác giả: Trịnh Tiến Mạnh viết 15:15 ngày 12/08/2018

Tìm hiểu về RESTful

REST viết tắt cho REpresentational State Transfer Khái niệm về REST lần đầu tiên được giới thiệu vào năm 2000 trong luận văn Tiến sĩ của Roy Fielding (đồng sáng lập giao thức HTTP) Là 1 kiểu kiến trúc lập trình, định nghĩa các quy tắc để thiết kế web service chú trọng vào tài nguyên Mọi thứ trong ...

Tác giả: Tạ Quốc Bảo viết 15:15 ngày 12/08/2018

Bài 7 - Tạo Tooltip bằng Bootstrap

Để tiếp tục quá trình học bootsrap, chúng ta cùng đi tìm hiểu cách tạo Tooltip bằng Bootstrap nhé. 1. Khái niệm tooltip Tooltip là một chú thích xuất hiện khi rê chuột lên 1 đối tượng nào đó như văn bản, hình ảnh, liên kết và các phần tử giao diện khác. Nội dung trong tooltip có thể là văn ...

Tác giả: Trịnh Tiến Mạnh viết 15:15 ngày 12/08/2018

Viết code java dễ hiểu hơn

Các ngôn ngữ JVM hiện đại như Kotlin, Groovy, Scala và một số ngôn ngữ khác cung cấp nhiều tính năng cho phép bạn viết code một cách ngắn gọn và diễn cảm hơn. Ngay cả Java (luôn luôn được sử dụng rất thận trọng và có lý do tốt), trong phiên bản mới nhất (v8) đã giới thiệu cú pháp lambda để làm cho ...

Tác giả: Bùi Văn Nam viết 15:15 ngày 12/08/2018

Day 17 - Motion

昨日はGitHubにUnityのプロジェクトがプッシュ出来るようになりました。 今日は、新しいゲーム制作に入る前にちょっとやりたい事があるのでそれについて書きます。 What is fun of the game? プレイヤー視点から見たゲームに置いて重要な要素、というのは様々な物があります。 操作性が良かったり、シナリオが感動的だったり。 その中でも僕が重要な要素だと思うのが、 プレイしていて楽しいかどうか だと思います。 まあ、そのプレイしていて楽しいかを構成している要素っていうのもまたまた出てきてどんどん分岐して行くのですが… ...

Tác giả: Hoàng Hải Đăng viết 15:15 ngày 12/08/2018

Nghiên cứu SDR sử dụng bộ thu vệ tinh Outernet

Outernet là một dự án dựa trên hạ tầng vệ tinh Inmarsat, cho phép người dùng tiếp cận với các tài nguyên số công cộng như tin tức từ BBC World, Al Jazeera, Deutsche Welle, EurekAlert!, Medline, World Health Organization; thông tin thời tiết; Ham Radio APRS,... Người dùng mặt đất có thể sử dụng ...

Tác giả: Bùi Văn Nam viết 15:15 ngày 12/08/2018

Tìm hiểu Enumerable methods bằng cách re-implement chúng bằng Ruby (part I)

Enumerable là một module rất quan trọng trong Ruby, ngoài ra nó cũng là một ví dụ cho thấy vì sao Ruby lại sinh ra khái niệm module. Enumerable cung cấp một tập hợp gồm rất nhiều method giúp cho việc handle các data structer trong Ruby dễ dàng hơn, mặc dù cực kì mạnh mẽ nhưng nó chỉ yêu cầu 1 ...

Tác giả: Bùi Văn Nam viết 15:15 ngày 12/08/2018

DOM (Document Object Model) Cho Người Mới Bắt Đầu

Trong bài viết Khác biệt giữa Attribute và Property gần đây tác giả có đề cập tới khái niệm DOM hay Document Object Model. Tuy nhiên sau đó có một số độc giả đã đặt ra thắc mắc không hiểu chính xác thì DOM là gì. Bài viết bổ sung này sẽ giải thích về khái niệm DOM theo một cách đơn giản về dễ ...

Tác giả: Tạ Quốc Bảo viết 15:15 ngày 12/08/2018

Cách xây dựng testcase cơ bản

Test case là tập hợp các trường hợp điều kiện mà Tester dựa vào đó để xác định ứng dụng, hệ thống phần mềm hoặc là 1 trong các chức năng của nó có hoạt động như mong muốn hay không. Quá trình phát triển test case có thể giúp tìm ra lỗi trong các yêu cầu hoặc thiết kế của ứng dụng, vì nó đòi hỏi ...

Tác giả: Trịnh Tiến Mạnh viết 15:15 ngày 12/08/2018

Tạo Một LiBrary Calendar Cho Android và Sample Sử Dụng Library Calendar

Trong quá trình phát triển dự án cho khách hàng của công ty nơi tôi đang làm việc. Khách hàng yêu cầu chức năng hiển thị calendar với các chức năng như là cho người dùng có thể chọn một ngày, hoặc nhiều ngày, đồng thời còn phải hiển thị icon trạng thái cho từng ngày tuỳ theo dữ liệu lấy về, vì lý ...

Tác giả: Tạ Quốc Bảo viết 15:15 ngày 12/08/2018

自作OSへの道 1. OSでHello World

OSの勉強を始めます 教本はこの本 30日でできる! OS自作入門(リンク先はAmazon) OSの知識を深めつつ、C言語とアセンブリ言語に挑戦していきたいと思います。 30日といいつつも、作者によれば7日目までは詰め込みで量が多いとのことなので無理せず分割して進めたいと思う。 やったこと バイナリエディタでHello Worldを表示するだけのOSを作成 =>92160行をバイナリエディタで直打ち **長すぎ!!!**笑 とは言っても、中身の99.99%は0の羅列なのでコピペで埋めて、冒頭8行と後二箇所ほど頑張って打ち込む 使ったバイナリエディタ HexEdit ...

Tác giả: Bùi Văn Nam viết 15:15 ngày 12/08/2018

Laravel Page View Counter

Ngày xưa làm project training về website order thức ăn mình làm chức năng đếm số lượt xem sản phẩm như sau: Thêm một column là count_views vào bảng products rồi xữ lý (trong controller) tăng count_views lên 1 và update vào database mỗi lần người dùng click vào trang chi tiết sản phẩm. Đúng là khi ...

Tác giả: Hoàng Hải Đăng viết 15:15 ngày 12/08/2018

Kotlin for Android: Introduce about Reified Types

How to use the type within a function? Hi mọi người, hôm nay mình sẽ giới thiệu với mọi người một tính năng hay ho nữa của Kotlin, như mọi người biết, một trong những hạn chế của java khi dùng generics là không thể sử dụng trực tiếp một kiểu, thay vào đó chúng ta sẽ truyền class như một tham số, ...

Tác giả: Bùi Văn Nam viết 15:15 ngày 12/08/2018