25 May 2019

Writing commits

History / Edit / PDF / EPUB / BIB / 1 min read (~85 words)
  • One liner describing what changed (not period terminated)
  • A few lines describing in more details why things changed
  • GPG signed commit

  • Separate subject from body with a blank line
  • Limit the subject line to 50 characters
  • Capitalize the subject line
  • Do not end the subject line with a period
  • Use the imperative mood in the subject line
  • Wrap the body at 72 characters
  • Use the body to explain what and why vs. how

25 May 2019

Writing tickets

History / Edit / PDF / EPUB / BIB / 1 min read (~36 words)

  • Title
  • Important
  • Urgent
  • Definition of deliverables
  • Assignee
  • Estimate of effort required
  • Deadline

  • If a ticket is in a blocked state, then the reason why it is blocked should be made explicit
29 Dec 2018

Diablo

History / Edit / PDF / EPUB / BIB / 1 min read (~140 words)
games

A table of probabilities is built
The ratio 1/drop chance is used to compute a total drop chance
A number is generated in the range 0-total drop chance
A table lookup is done to find the associated item
Item properties are randomly rolled
Different table lookup may be built depending on the difficulty setting as well as the current act
The rarity of an enemy pack may either change the random generator distribution or some other mean to modify the probability of higher quality items from dropping
The pseudo random number generator is initialized each game and does not depend on the current time (to avoid issue with reading some timer which may have the same value over many iterations or may be slow to read)
When an enemy is killed, we want to determine how many items will drop

29 Dec 2018

League of legends

History / Edit / PDF / EPUB / BIB / 1 min read (~66 words)
games

Client/server
Per region servers
Login/authentication server
Lobby server
Store server

  • buy champion/runes
    Transfer player from lobby to game server
  • champion selection
  • spectators
    Per game server
  • Coordinates all 10 players within the game
  • controls game events dragon/baron/npc/player gold
  • compute damage
  • end game lobby
    Game client
  • Display animations
  • play game state according to server
29 Dec 2018

Starcraft

History / Edit / PDF / EPUB / BIB / 1 min read (~60 words)
games

Authentication/Login server
Per game server

  • compute damage simulation
  • in game chat
  • decide game victory
  • returns end game stats for ui (or done client side?)
    Game client
  • display game ui
  • play animations
  • send commands to game server
    Local backend
  • record game
  • compute game simulation
  • communicate game state to game client