Glossary script

A note from the developer

To whom may concern,

I am the principal developer of Project F. I started this project at 2011, ambitiously attempting to reimplement LF2. At this point, 2016, I think that the original objectives can be said fulfilled. So I am retiring from this project, and anyone who is interested in moving forward, please don't hesitate to contact us.

Surely, there are still quite some features of original LF2 missing. But I believe that they can be implemented without big changes to the architecture. On the other side, there are many aspects in that F.LF supersedes LF2 by re-engineering in today's context. For example, F.LF can adapt to different device form factors and you notice that there is barely any "loading" time. Architecturally, the separation between game engine, LF2 game logic, application and production server is clear. Arguably, the specification is also well specified.

The vast engineering effort is a collective exercise, including all the discussions, experiments and knowledge accumulated around LF2 since the 2000s. So lets give a big hand to the original authors of LF2 and the community!! LF2 definitely took off much higher than the original author had expected. Surely it should.

This should continue too. At least not to be forgotten. You shall still find LF2 interesting, from an artistic, cultural or engineering perspective. By the way, it is also authentically Hong Kong.

The Project F developers

F.LF v0.9.0

2015 July

F.LF v0.9.0

  • 跨平台 HTML5
    • Windows (Chrome, Firefox, IE11)
    • Linux (Chrome, Firefox)
    • Mac (未經測試, 應該ok)
    • Android 4.0+, Chrome, Galaxy S3同等級配備
    • iOS 7+, Chrome, iPhone 5s同等級配備
  • 角色暫時支援 Bandit, Deep, John, Dennis, Woody, Davis
  • 支援所有1.9場景(Lee On Road除外), 16:9寬景模式
  • 只有VS mode
  • WebSocket及WebRTC連線, 最多支援2打2
    • WebRTC暫不支援IE, iOS
    • WebSocket server請自己host
    • 可以手機跟電腦連線哦
  • 可自行編寫及選擇AI
  • data檔方面, 是可以由原生dat的轉換成json, 而且格式是很相似的, 所以改檔的技巧大致不變, 但以前的奇怪bug是不可用的了

  • Cross platform HTML5
    • Windows (Chrome, Firefox, IE11)
    • Linux (Chrome, Firefox)
    • Mac (untested, but should work)
    • Android 4.0+, Chrome, Galaxy S3 or equivalent hardware
    • iOS 7+, Chrome, iPhone 5s or equivalent hardware
  • Supported characters Bandit, Deep, John, Dennis, Woody, Davis
  • Supports all 1.9 backgrounds (except Lee On Road), and wide screen mode
  • VS mode only
  • PvP networking via WebSocket and WebRTC
    • WebRTC is not available on IE and iOS
    • You can host your own WebSocket server
    • Can even connect between PC and mobile!
  • Scriptable and selectable AI
  • data files are converted from original dat to json in a similar format. so data changing concepts remain

1. 延續LF2的精神
2. 提供一個基礎以衍生出更多作品
3. 推廣格鬥遊戲及開源運動
Project F has three ultimate goals:
1. Continuation of LF2
2. A codebase for more creativity
3. Promote the fighter game genre and open source movement

Github https://github.com/Project-F
Documentation http://www.projectf.hk/F.LF/

Join the discussion on

New sites for Project F

Important news! The Project F website is now migrated to another domain, with repositories moved to under github organization.
Note that articles older than this post may be obsolete.

香港開放源碼年會 2013 / Hong Kong Open Source Conference 2013

開源遊戲: 前瞻 by Chris Tsang
時段: 4:15pm-4:45pm
房間: M4001

日期: 2013 年 10 月 19 日 (星期六)
時間: 上午 9 時至下午 6 時
地點: 香港城市大學邵逸夫創意媒體中心
報名: http://hkosc2013.eventbrite.com
大會網站: http://opensource.hk/2013
議程: http://bit.ly/hkosc2013-agenda
主辦: 香港 Linux 用家協會、開放系統研用協會、Open Source Hong Kong
場地提供: 香港城市大學電腦學系


開源遊戲: 前瞻

遊戲開發有甚麼困難? 有限的金錢,人力及時間是遊戲開發的最大限制. 而經典遊戲往往在產品生命周期完結之後無法延續.
甚麼是開源遊戲? 開源遊戲是社群主導, 每個人都有權去參與的遊戲開發過程.
誰人可以參與? 插畫家,設計師,編程人員及任何玩家

為何要開源? 開源可以增強合作, 發展出不同的產品, 擴展至不同平台, 為遊戲注入新元素, 延續遊戲的生命.
開源遊戲要有甚麼技術結構? 要區分開設計,內容及機制

單一遊戲會有這麼大的力量嗎? 例子分析: LF2曾經吸引了世界各地的玩家, 發展出大量的玩家改版及衍生創作. 例子: Minecraft發展出大量的改版及私服. 例子: 高登巴打合力開發"高登之塔"諷刺"神抄之塔".

有甚麼工作在進行中? F計劃的理念是刺激香港非商業主導的創意產業, 主張民主的遊戲開發, 認為每個人都應有權利及知識去加入遊戲軟件的開發過程. F計劃主力網頁遊戲開發, 包括一個開源的程式集, 技術性文章, 以及一個開發中的遊戲LF2和兩個已完成的小遊戲.

We are going to share on the topic "open source games" on Hong Kong Open Source Conference 2013.
Open Source Games: a Preliminary View
session: 4:15pm-4:45pm
room: M4001

The First Hong Kong Open Source Conference
Date: 19 October 2013 (Saturday)
Time: 9am to 6pm
Venue: Run Run Shaw Creative Media Centre, City University of Hong Kong.
Registration / RSVP: http://hkosc2013.eventbrite.com
Web Site: http://opensource.hk/2013
Agenda: http://bit.ly/hkosc2013-agenda
Organizers: Hong Kong Linux User Group, Opensource Application Knowledge Association, Open Source Hong Kong
Venue Provider: Department of Computer Science, City University of Hong Kong.

Be aware that, however, our sharing and some others will be in Cantonese and Chinese.


Open Source Games: a Preliminary View

What is the difficulty in game development? The constraints of money, labour and time. Sometimes even very successful titles cannot continue its legend.

What is (in our opinion) open source games? Game development as an open process. More than games with source code available, open source games should have good hackability and a community-engaged development process.
Who can engage in? illustrators, designers, programmers and all players.

Why open source? facilitate collaboration; can fork to different products and port to different platforms.
What is the architectural requirement? separation of design, content and logic

Can a single project really gain/worth so much attention?
example: Little Fighter 2 had received significant popularity, many modifications had been made, plus a vast amount of related work, including comics, animations and novels.
example: Minecraft being the most successful indie game, has lots of fans and a great community that created skins, modifications and private servers with very creative gameplay.

What is the work going on in Hong Kong? The belief of Project F is that computer game development should be a community oriented and democratic process, that every one should have the right and knowledge to involve in such a process. Project F is attempting an open source implementation of LF2. Released work includes also programming libraries, related tools and technical documents.

Computer simulation

                       Computer simulation
Notion and terminologies
category: game systems


The development of F.LittleFighter has led to the design of increasingly complex systems. The theoretic justification and implication of subsystems must be well understood in order to build a reliable game system. This article attempts to provide a concrete mental model to align people’s understanding on what game systems are. This article is not yet finalized.

Time model and determinism

         Time model and determinism
why use a fixed interval game clock
category: game systems


Time model

There are two types of time model in game systems: fixed interval and variable interval.
- A game clock is the parameter t which all simulations in a game varies with.
- Time model refers to how the game clock advances.
A fixed interval model is, thus, one that advances the game clock in fixed steps. In other words,
- The time interval between any two adjacent frames is always fixed in a fixed interval system.
- The time interval between any two adjacent frames may vary in a variable interval system.

Architecture of Project F games

Project F games should be structured to separate game design, content and logic, in the goal to maximize hackability.


design is the audio/visual appearance of a computer game. separating design means a game can be re-skinned by only changing numbers in data files. example


content means levels and other digital assets that its continual release can prolong the playable lifetime of a game and provide a richer experience. content separation is done by moving all parameters out of source code into separate data files, and depending on the nature of the data, design tools should be offered to facilitate content creation. example, example2


logic means system behavior of a game. sometimes, data files can contain parameters that can alter behavior. it is recommended not to represent game logic in plain text. javascript is special that data files (object literal) can contain function definition. source code should be commented with a format that can be processed to generate documentation automatically.