TeamPorcupine / ProjectPorcupine

Project Porcupine: A Base-Building Game...in Space!
GNU General Public License v3.0
484 stars 280 forks source link

[Info] v0.1 Repository stats #1472

Closed mikejbrown closed 7 years ago

mikejbrown commented 7 years ago

This is a purely informative post celebrating the THE NOW RELEASED v0.1 milestone!! :tada: Kind of a taking stock moment. I just felt like pulling out some repository stats.

So it's just basic stuff here so far, broken down into contributor stats and file stats. If anyone has neat stats feel free to share below!

Contributor stats

How many contributors?

$ ./Scripts/Contributor_Name_List.py | wc -l
105

Who's not yet on the list?

$ ./Scripts/Contributor_Name_List.py | diff Assets/StreamingAssets/Data/CharacterNames.txt --to-file=-

Nobody! Great job everyone.

Top 25 contributors so far (by commit count):

$ git shortlog -sn | head -25
    61  Koosemose
    54  Martin "quill18" Glaude
    46  mikejbrown
    45  Randshot
    40  Tomás Malbrán
    39  kd7uiy
    31  sboigelot
    30  Gleb
    22  Brian Jubelirer
    22  Zak
    20  Kent Karlsson
    20  Ohda
    19  Alexander Fast
    18  Dormanil
    16  Oscar Sommerbo
    15  Simon Larsen
    15  dusho
    14  Julius Häger
    13  James
    13  Tymoteusz Adamczyk
    12  Steve
    12  jaselito
     9  TRBRY
     9  abackwood
     9  relinu

Congrats, @koosemose, you've overtaken quill!

Top 25 scripters (by commit count):

$ git shortlog -sn Assets/Scripts/ Scripts/ Assets/UberLogger/ Assets/StreamingAssets/LUA/ | head -25
    56  Koosemose
    42  Randshot
    38  Tomás Malbrán
    37  mikejbrown
    31  kd7uiy
    29  sboigelot
    26  Gleb
    19  Martin "quill18" Glaude
    16  Zak
    15  Ohda
    14  Brian Jubelirer
    14  Oscar Sommerbo
    14  Simon Larsen
    13  Dormanil
    13  Julius Häger
    13  Kent Karlsson
    10  Alexander Fast
    10  Steve
    10  Tymoteusz Adamczyk
     9  dusho
     9  jaselito
     9  relinu
     8  NoobPete
     8  Rod Ritter
     8  abackwood

Top 25 artists (by commit count):

$ git shortlog -sn Assets/StreamingAssets/{Audio,Data,Images,Localization,Music} Assets/Resources/ Assets/UI/ | head -25
    19  sboigelot
    18  Koosemose
    17  Tomás Malbrán
    15  kd7uiy
    12  James
    11  Martin "quill18" Glaude
     9  Ohda
     9  Simon Larsen
     9  dusho
     7  Gleb
     7  Steve
     7  abackwood
     6  Alexis
     6  Kent Karlsson
     6  TRBRY
     6  jaselito
     6  mikejbrown
     5  Dormanil
     5  FilippoLeon
     4  Julius Häger
     4  Santeri Hetekivi
     4  longtomjr
     3  Dustin Loring
     3  Rod Ritter
     3  Sergey Nelga

File stats

How many commits have there been?

$ git log --oneline | wc -l
793

The top 25 most changed files (by commit count):

$ git log --name-only --pretty= | sort | uniq -c | sort -r | head -25
     91 Assets/Scripts/Models/Furniture.cs
     85 Assets/StreamingAssets/LUA/Furniture.lua
     85 Assets/StreamingAssets/Data/Furniture.xml
     81 Assets/Scripts/Models/Character.cs
     79 Assets/Scripts/Models/World.cs
     61 Assets/Scripts/Controllers/MouseController.cs
     60 Assets/Scripts/Controllers/WorldController.cs
     46 Assets/Scripts/Controllers/BuildModeController.cs
     43 Assets/Scripts/Models/Tile.cs
     36 Assets/Scripts/Models/Job.cs
     34 Assets/Scripts/Controllers/FurnitureSpriteController.cs
     30 CONTRIBUTING.md
     28 Assets/Scripts/Controllers/CharacterSpriteController.cs
     27 Assets/Scripts/Models/WorldGenerator.cs
     27 Assets/Scripts/Models/Inventory.cs
     26 Assets/Scripts/Pathfinding/Path_AStar.cs
     26 Assets/_SCENE_.unity
     25 Assets/Scripts/Models/InventoryManager.cs
     24 Assets/Scripts/Models/FurnitureActions.cs
     24 Assets/Scripts/Models/Buildable/Furniture.cs
     23 Assets/Scripts/Models/Room.cs
     22 README.md
     21 Assets/StreamingAssets/Localization/en_US.lang
     21 Assets/Scripts/Controllers/JobSpriteController.cs
     20 Assets/Scripts/UI/Overlay/OverlayMap.cs

The Furniture handling is clearly a major choke point, followed shortly thereafter by Character and World. It will be interesting to see how the new job system and FSM change this going forward.

How many files haven't been changed since they were first committed?

$ git log --name-only --pretty= | sort | uniq -c | grep " 1 " | wc -l
969

How many total changes have there been?

$ git diff $(git log --pretty=%H --reverse | head -1) --shortstat
 1067 files changed, 77356 insertions(+), 1 deletion(-)

Huh, what was the one deletion?

$ git diff $(git log --pretty=%H --reverse | head -1) --stat | grep -e "-$"
 README.md                                          |   87 +-

which was...

$ git diff $(git log --pretty=%H --reverse | head -1) -- README.md | head -7
diff --git a/README.md b/README.md
index fa655d3..7552fe8 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,87 @@
-# ProjectPorcupine
+# ProjectPorcupine [![Build Status](https://travis-ci.org/TeamPorcupine/ProjectPorcupine.svg?branch=master)](https://travis-ci.org/TeamPorcupine/ProjectPorcupine)

...so not really a deletion after all...

bjubes commented 7 years ago

Woo I win the only deletion award!

TomMalbran commented 7 years ago

Hehe. I am really high in the artists and all I did was just change the xml files.

I think that World is at a good point. Right now we can simplify it by having a TileManager (not sure about it since tiles are kind of part of the World) and moving/simplifying the saving/loading.

mikejbrown commented 7 years ago

Updated the stats for the v0.1 release.