Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.037USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.008SP
├── Own SP
0.629SP
└── Incoming Deleg
+4.379SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.629SP
Delegated Out
0.000SP
Delegation In
4.379SP
Effective Power
5.008SP
Reward SP (pending)
0.001SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "1023.404091 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7120.255715 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namejgroos
id658482
rank1,346,414
reputation22215812
created2018-01-24T11:19:36
recovery_accountsteem
proxyNone
post_count2
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-01-29T19:59:39
last_root_post2018-01-29T19:59:39
last_vote_time2018-02-14T19:29:27
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares1023.404091 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7120.255715 VESTS
reward_vesting_balance2.046152 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-02-13T10:35:21
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 658482,
  "name": "jgroos",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7jUC9WGiT91DH4UjB9KbPwG3FxmimurJmwsuGkfZsRDPLjKU6D",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7RQAgU57cHrZkU9UQ8UQHfTofn7CBipsL4Pa2nYYdz965pxLTM",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM4xTy9BboeJbEix6BYr5FGAkwAcQQ9yQCavxJgFQGKBc55J2no7",
        1
      ]
    ]
  },
  "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
  "json_metadata": "{\"profile\":{\"name\":\"Who cares\"}}",
  "posting_json_metadata": "{\"profile\":{\"name\":\"Who cares\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-02-13T10:35:21",
  "created": "2018-01-24T11:19:36",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 2,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779069135
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779069135
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "2.046152 VESTS",
  "reward_vesting_steem": "0.001 STEEM",
  "vesting_shares": "1023.404091 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7120.255715 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 1,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-01-29T19:59:39",
  "last_root_post": "2018-01-29T19:59:39",
  "last_vote_time": "2018-02-14T19:29:27",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 22215812,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 1346414
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.379 SP to @jgroos
2026/05/18 01:52:15
delegatorsteem
delegateejgroos
vesting shares7120.255715 VESTS
Transaction InfoBlock #106145379/Trx 3ff758213e940f5a62dfbd643ae53d1f614363e8
View Raw JSON Data
{
  "trx_id": "3ff758213e940f5a62dfbd643ae53d1f614363e8",
  "block": 106145379,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-18T01:52:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "7120.255715 VESTS"
    }
  ]
}
steemdelegated 2.711 SP to @jgroos
2026/05/12 10:24:36
delegatorsteem
delegateejgroos
vesting shares4408.045310 VESTS
Transaction InfoBlock #105983579/Trx a17aa57e351f4c69b8890dd5b7ff01bb549c8335
View Raw JSON Data
{
  "trx_id": "a17aa57e351f4c69b8890dd5b7ff01bb549c8335",
  "block": 105983579,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-12T10:24:36",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "4408.045310 VESTS"
    }
  ]
}
steemdelegated 4.386 SP to @jgroos
2026/04/26 01:10:27
delegatorsteem
delegateejgroos
vesting shares7132.771471 VESTS
Transaction InfoBlock #105512983/Trx 10efe8334466384f26d1eac050ead3a05a860db6
View Raw JSON Data
{
  "trx_id": "10efe8334466384f26d1eac050ead3a05a860db6",
  "block": 105512983,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-26T01:10:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "7132.771471 VESTS"
    }
  ]
}
steemdelegated 2.736 SP to @jgroos
2026/01/23 12:08:45
delegatorsteem
delegateejgroos
vesting shares4449.592129 VESTS
Transaction InfoBlock #102857018/Trx d59bcf1aa8c75284b85160570b21910d5e363015
View Raw JSON Data
{
  "trx_id": "d59bcf1aa8c75284b85160570b21910d5e363015",
  "block": 102857018,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T12:08:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "4449.592129 VESTS"
    }
  ]
}
steemdelegated 2.837 SP to @jgroos
2024/12/17 07:25:30
delegatorsteem
delegateejgroos
vesting shares4613.811326 VESTS
Transaction InfoBlock #91303369/Trx 90c55cf76c92be92f52313c0568adcdd458ee9fd
View Raw JSON Data
{
  "trx_id": "90c55cf76c92be92f52313c0568adcdd458ee9fd",
  "block": 91303369,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-17T07:25:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "4613.811326 VESTS"
    }
  ]
}
steemdelegated 2.941 SP to @jgroos
2023/11/13 23:07:48
delegatorsteem
delegateejgroos
vesting shares4782.944858 VESTS
Transaction InfoBlock #79857559/Trx ccc996d9d29df55678f14cf02acbc77142999918
View Raw JSON Data
{
  "trx_id": "ccc996d9d29df55678f14cf02acbc77142999918",
  "block": 79857559,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-13T23:07:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "4782.944858 VESTS"
    }
  ]
}
steemdelegated 4.748 SP to @jgroos
2023/09/21 23:44:30
delegatorsteem
delegateejgroos
vesting shares7720.223644 VESTS
Transaction InfoBlock #78350117/Trx bb9565e9aadbed3eeff2252256e786df67ebd6e7
View Raw JSON Data
{
  "trx_id": "bb9565e9aadbed3eeff2252256e786df67ebd6e7",
  "block": 78350117,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-21T23:44:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "7720.223644 VESTS"
    }
  ]
}
steemdelegated 4.884 SP to @jgroos
2022/11/03 13:17:09
delegatorsteem
delegateejgroos
vesting shares7941.905082 VESTS
Transaction InfoBlock #69115150/Trx 97c5f1f5fc0298880ddf9b589dc71e6eeacbe8cf
View Raw JSON Data
{
  "trx_id": "97c5f1f5fc0298880ddf9b589dc71e6eeacbe8cf",
  "block": 69115150,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T13:17:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "7941.905082 VESTS"
    }
  ]
}
steemdelegated 5.019 SP to @jgroos
2022/01/17 16:40:48
delegatorsteem
delegateejgroos
vesting shares8162.140218 VESTS
Transaction InfoBlock #60816248/Trx e1d7d056a26e9ab2471b6c9c26742e44442fa63b
View Raw JSON Data
{
  "trx_id": "e1d7d056a26e9ab2471b6c9c26742e44442fa63b",
  "block": 60816248,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T16:40:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "8162.140218 VESTS"
    }
  ]
}
steemdelegated 5.132 SP to @jgroos
2021/06/14 02:16:27
delegatorsteem
delegateejgroos
vesting shares8346.206971 VESTS
Transaction InfoBlock #54609465/Trx f8ab13ff7e8cdae8b2ffdc8c0448abbcb27508dc
View Raw JSON Data
{
  "trx_id": "f8ab13ff7e8cdae8b2ffdc8c0448abbcb27508dc",
  "block": 54609465,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-14T02:16:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "8346.206971 VESTS"
    }
  ]
}
steemdelegated 5.248 SP to @jgroos
2020/12/11 12:33:09
delegatorsteem
delegateejgroos
vesting shares8533.628945 VESTS
Transaction InfoBlock #49356863/Trx fbbbb8a90c6e55d41c15c79e0d04b1b9528b6987
View Raw JSON Data
{
  "trx_id": "fbbbb8a90c6e55d41c15c79e0d04b1b9528b6987",
  "block": 49356863,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T12:33:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "8533.628945 VESTS"
    }
  ]
}
steemdelegated 1.176 SP to @jgroos
2020/12/06 06:09:57
delegatorsteem
delegateejgroos
vesting shares1912.543513 VESTS
Transaction InfoBlock #49208417/Trx 1cfef5e3f7b4312f3a086b8d873b4807d8e69118
View Raw JSON Data
{
  "trx_id": "1cfef5e3f7b4312f3a086b8d873b4807d8e69118",
  "block": 49208417,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T06:09:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.252 SP to @jgroos
2020/12/05 16:11:24
delegatorsteem
delegateejgroos
vesting shares8539.836799 VESTS
Transaction InfoBlock #49191961/Trx ac89bf0c9e1a4429ed3483a7cc44e221d1015b17
View Raw JSON Data
{
  "trx_id": "ac89bf0c9e1a4429ed3483a7cc44e221d1015b17",
  "block": 49191961,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T16:11:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "8539.836799 VESTS"
    }
  ]
}
steemdelegated 1.181 SP to @jgroos
2020/11/02 18:35:06
delegatorsteem
delegateejgroos
vesting shares1920.017158 VESTS
Transaction InfoBlock #48261273/Trx a90223f82a88663101b0e7b4ad62e3fdd26665f7
View Raw JSON Data
{
  "trx_id": "a90223f82a88663101b0e7b4ad62e3fdd26665f7",
  "block": 48261273,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-02T18:35:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.376 SP to @jgroos
2020/05/09 07:08:48
delegatorsteem
delegateejgroos
vesting shares8742.642158 VESTS
Transaction InfoBlock #43218686/Trx 189a541908731690d9d3d910691f6248d2387d25
View Raw JSON Data
{
  "trx_id": "189a541908731690d9d3d910691f6248d2387d25",
  "block": 43218686,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T07:08:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "8742.642158 VESTS"
    }
  ]
}
steemdelegated 1.201 SP to @jgroos
2020/05/08 10:57:45
delegatorsteem
delegateejgroos
vesting shares1953.311140 VESTS
Transaction InfoBlock #43195030/Trx d93116253a471382e1459ab18b2d60e748f662ae
View Raw JSON Data
{
  "trx_id": "d93116253a471382e1459ab18b2d60e748f662ae",
  "block": 43195030,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T10:57:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.384 SP to @jgroos
2020/04/16 00:48:30
delegatorsteem
delegateejgroos
vesting shares8755.529606 VESTS
Transaction InfoBlock #42566267/Trx 83f3448d0a94a9766861cbc4c31f341bdddcc5dc
View Raw JSON Data
{
  "trx_id": "83f3448d0a94a9766861cbc4c31f341bdddcc5dc",
  "block": 42566267,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-04-16T00:48:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "8755.529606 VESTS"
    }
  ]
}
2020/01/24 12:17:00
parent authorjgroos
parent permlinkaspiring-developers-could-learn-from-s-t-a-l-k-e-r
authorsteemitboard
permlinksteemitboard-notify-jgroos-20200124t121700000z
title
bodyCongratulations @jgroos! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jgroos/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jgroos) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=jgroos)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #40208162/Trx 59d90a2a3b39aeb72ceb4d9258680603fe3056a3
View Raw JSON Data
{
  "trx_id": "59d90a2a3b39aeb72ceb4d9258680603fe3056a3",
  "block": 40208162,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-01-24T12:17:00",
  "op": [
    "comment",
    {
      "parent_author": "jgroos",
      "parent_permlink": "aspiring-developers-could-learn-from-s-t-a-l-k-e-r",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-jgroos-20200124t121700000z",
      "title": "",
      "body": "Congratulations @jgroos! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jgroos/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jgroos) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=jgroos)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.504 SP to @jgroos
2019/05/12 17:54:06
delegatorsteem
delegateejgroos
vesting shares8951.146419 VESTS
Transaction InfoBlock #32849085/Trx ec239a98bc3bb007eaeb1f6b0c60bb06bb209f6d
View Raw JSON Data
{
  "trx_id": "ec239a98bc3bb007eaeb1f6b0c60bb06bb209f6d",
  "block": 32849085,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-05-12T17:54:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "8951.146419 VESTS"
    }
  ]
}
2019/01/24 12:33:09
parent authorjgroos
parent permlinkaspiring-developers-could-learn-from-s-t-a-l-k-e-r
authorsteemitboard
permlinksteemitboard-notify-jgroos-20190124t123308000z
title
bodyCongratulations @jgroos! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jgroos/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@jgroos)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #29735962/Trx ee3d50bd14c1b4c17da5138b903cc1f5ae97031a
View Raw JSON Data
{
  "trx_id": "ee3d50bd14c1b4c17da5138b903cc1f5ae97031a",
  "block": 29735962,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-01-24T12:33:09",
  "op": [
    "comment",
    {
      "parent_author": "jgroos",
      "parent_permlink": "aspiring-developers-could-learn-from-s-t-a-l-k-e-r",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-jgroos-20190124t123308000z",
      "title": "",
      "body": "Congratulations @jgroos! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jgroos/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@jgroos)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.627 SP to @jgroos
2018/05/16 21:58:18
delegatorsteem
delegateejgroos
vesting shares9150.757287 VESTS
Transaction InfoBlock #22491867/Trx 86af7efbd8566fbdb75ec21734e59a2ef484ba51
View Raw JSON Data
{
  "trx_id": "86af7efbd8566fbdb75ec21734e59a2ef484ba51",
  "block": 22491867,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-16T21:58:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jgroos",
      "vesting_shares": "9150.757287 VESTS"
    }
  ]
}
2018/02/14 19:29:27
voterjgroos
authorshadowing
permlinkwhat-we-need-from-the-dceu-part-1
weight10000 (100.00%)
Transaction InfoBlock #19870720/Trx d2b50d0ae8cc7ad37aeb34b8901dab560d05faee
View Raw JSON Data
{
  "trx_id": "d2b50d0ae8cc7ad37aeb34b8901dab560d05faee",
  "block": 19870720,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T19:29:27",
  "op": [
    "vote",
    {
      "voter": "jgroos",
      "author": "shadowing",
      "permlink": "what-we-need-from-the-dceu-part-1",
      "weight": 10000
    }
  ]
}
2018/02/14 19:29:24
voterjgroos
authorshadowing
permlink7uhaps-inspirational-quote-of-the-day
weight10000 (100.00%)
Transaction InfoBlock #19870719/Trx 89ade9f9a0b14cdc034d0d0ba58602fb1e5be18e
View Raw JSON Data
{
  "trx_id": "89ade9f9a0b14cdc034d0d0ba58602fb1e5be18e",
  "block": 19870719,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T19:29:24",
  "op": [
    "vote",
    {
      "voter": "jgroos",
      "author": "shadowing",
      "permlink": "7uhaps-inspirational-quote-of-the-day",
      "weight": 10000
    }
  ]
}
jgroosupdated their account properties
2018/02/13 10:35:21
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"name":"Who cares"}}
Transaction InfoBlock #19831291/Trx e3b34a638f65145d8a1fc6f67f373cdacbf48022
View Raw JSON Data
{
  "trx_id": "e3b34a638f65145d8a1fc6f67f373cdacbf48022",
  "block": 19831291,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T10:35:21",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"name\":\"Who cares\"}}"
    }
  ]
}
2018/02/02 14:09:24
required auths[]
required posting auths["jgroos"]
idfollow
json["follow",{"follower":"jgroos","following":"hotlist","what":["blog"]}]
Transaction InfoBlock #19519295/Trx 4b8bacd55ad4b688481dc63eaf6824d8cd473784
View Raw JSON Data
{
  "trx_id": "4b8bacd55ad4b688481dc63eaf6824d8cd473784",
  "block": 19519295,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-02T14:09:24",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "jgroos"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jgroos\",\"following\":\"hotlist\",\"what\":[\"blog\"]}]"
    }
  ]
}
jgroosfollowed @ctf
2018/02/02 14:09:21
required auths[]
required posting auths["jgroos"]
idfollow
json["follow",{"follower":"jgroos","following":"ctf","what":["blog"]}]
Transaction InfoBlock #19519294/Trx 8b4191c867b189f2a74af884373c70e33601cc01
View Raw JSON Data
{
  "trx_id": "8b4191c867b189f2a74af884373c70e33601cc01",
  "block": 19519294,
  "trx_in_block": 56,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-02T14:09:21",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "jgroos"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jgroos\",\"following\":\"ctf\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/30 22:47:30
required auths[]
required posting auths["jgroos"]
idfollow
json["follow",{"follower":"jgroos","following":"gamemusic","what":["blog"]}]
Transaction InfoBlock #19443359/Trx a3f9a8dff19dc3a012a14fba22e043968eeac042
View Raw JSON Data
{
  "trx_id": "a3f9a8dff19dc3a012a14fba22e043968eeac042",
  "block": 19443359,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-30T22:47:30",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "jgroos"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jgroos\",\"following\":\"gamemusic\",\"what\":[\"blog\"]}]"
    }
  ]
}
jgroosupvoted (100.00%) @shadowing / a-razer-future
2018/01/30 22:47:06
voterjgroos
authorshadowing
permlinka-razer-future
weight10000 (100.00%)
Transaction InfoBlock #19443351/Trx 66099651375ab0c8b6f0a6fce589c98081677d27
View Raw JSON Data
{
  "trx_id": "66099651375ab0c8b6f0a6fce589c98081677d27",
  "block": 19443351,
  "trx_in_block": 27,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-30T22:47:06",
  "op": [
    "vote",
    {
      "voter": "jgroos",
      "author": "shadowing",
      "permlink": "a-razer-future",
      "weight": 10000
    }
  ]
}
2018/01/30 22:47:00
voterjgroos
authorshadowing
permlink4jhkm8-inspirational-quote-of-the-day
weight10000 (100.00%)
Transaction InfoBlock #19443349/Trx 32dc3cec8f3f9a50e2f9a5e2af89cbe71910ae80
View Raw JSON Data
{
  "trx_id": "32dc3cec8f3f9a50e2f9a5e2af89cbe71910ae80",
  "block": 19443349,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-30T22:47:00",
  "op": [
    "vote",
    {
      "voter": "jgroos",
      "author": "shadowing",
      "permlink": "4jhkm8-inspirational-quote-of-the-day",
      "weight": 10000
    }
  ]
}
jgroosreceived 0.001 SP curation reward for @shadowing / why-the-mcu-needs-agent-venom
2018/01/30 20:15:09
curatorjgroos
reward2.046152 VESTS
comment authorshadowing
comment permlinkwhy-the-mcu-needs-agent-venom
Transaction InfoBlock #19440315/Virtual Operation #31
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19440315,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 31,
  "timestamp": "2018-01-30T20:15:09",
  "op": [
    "curation_reward",
    {
      "curator": "jgroos",
      "reward": "2.046152 VESTS",
      "comment_author": "shadowing",
      "comment_permlink": "why-the-mcu-needs-agent-venom"
    }
  ]
}
2018/01/29 20:27:12
votershadowing
authorjgroos
permlinkaspiring-developers-could-learn-from-s-t-a-l-k-e-r
weight10000 (100.00%)
Transaction InfoBlock #19411796/Trx 4b19ea63eedefaefaaf86c839b969e5432bcc3aa
View Raw JSON Data
{
  "trx_id": "4b19ea63eedefaefaaf86c839b969e5432bcc3aa",
  "block": 19411796,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-29T20:27:12",
  "op": [
    "vote",
    {
      "voter": "shadowing",
      "author": "jgroos",
      "permlink": "aspiring-developers-could-learn-from-s-t-a-l-k-e-r",
      "weight": 10000
    }
  ]
}
2018/01/29 19:59:39
parent author
parent permlinkblog
authorjgroos
permlinkaspiring-developers-could-learn-from-s-t-a-l-k-e-r
titleAspiring Developers Could Learn From S.T.A.L.K.E.R.
body![stalker_tri.jpg](https://steemitimages.com/DQmSyCBNKMuypu54bpZP2hPJKtFfKT2to6BcXadrPibHwNQ/stalker_tri.jpg) ---------------------------------------------------INTRODUCTION When someone gives a list of reasons of what certain features games are missing, I usually think to myself "do these people even know how those features are made/implemented?". The short answer is an obvious no. No, the majority of players have no clue how those assets or "graphics" are created. Nor do they know how long and arduous the process of programming them might be. But then I remember that I was the exact same way during my younger years. Now I am about to do the same thing...but the small difference between me and a normal gamer, is that I have a degree in Computer Science and worked on small personal video game projects myself. No, none of my games were successful or even released, but I did learn a few things along the way (giving me flimsy justification). So I though I might write a short article on what the developers of STALKER did so long ago (2007-2009 is long ago for the purpose of this article), and what today's aspiring developers could take note of. For the most part I will use Call of Pripyat and Shadow of Chernobyl as examples as they are the most stable versions. Even though this article will give much credit to the series, do know that not everything in these games were perfect by any means and were considerably flawed. They were very rough diamonds from the start. ![xrEngine 2016-08-04 22-14-04-21.jpg](https://steemitimages.com/DQmP87Ebhb3NrWLaoDW73dzkkC2L4BEJcEkgAZcuKAmsYQv/xrEngine%202016-08-04%2022-14-04-21.jpg) Yanov Station, Call of Pripyat ---------------------------------------------------BRIEF HISTORY The STALKER series was developed by Ukrainian developer GSC Game World, with the exception of STALKER: Mobile. The first game, Shadow of Chernobyl (SOC) was first announced in 2001, and was to be released in 2003 but suffered many delays. It was finally released in March 2007 (got it for my birthday). The second game, Clear Sky (CS) was released August 2008 (did not get it for my birthday) as a prequel to SOC. The last game, Call of Pripyat (COP) was released in October 2009 (did also not get for my birthday) in the CIS regions. With every installment new features and "tech" were added to the game engine that GSC called X-ray. The games would go on to be highly revered cult classics worldwide. All games took heavy inspiration from Boris and Arkady Strugatsky's Roadside Picnic novella, as well as Andrei Tarkovksy's film, Stalker (1979). ![220px-Roadside-picnic-macmillan-cover.jpg](https://steemitimages.com/DQmcfynD5Q5jmAdybyQ9jfy6dx59ccks5DoVYxgg2aZQESz/220px-Roadside-picnic-macmillan-cover.jpg) Written by Boris and Arkady Strugatsky 1972 (Russian) and 1977 (English) ![220px-Stalker_poster.jpg](https://steemitimages.com/DQmfR6Gh1DX5tabZoQhxrzqx8JxQwREFYxbfUvKws5KPDoG/220px-Stalker_poster.jpg) Stalker (1979) Directed by Andrei Tarkovsky ---------------------------------------------------WHY ARE THESE GAMES PROFOUND? They were one of the first games to successfully blend multiple genres into one coherent experience, being a first-person shooter/RPG/Sandbox/Horror/Survival game. All of them had an interesting story, narrative and world for the player to explore. They boasted a combination features rarely present in other games at the time, and are unique games even to this day. The following are the different aspects and features presented in these games that made them stand out during 2007 to 2009: ---------------------------------------------------IMPRESSIVE PHOTOREALISM ![XR_3DA 2016-08-07 15-23-14-48.jpg](https://steemitimages.com/DQmX6AcxJcWmDkWBCHyPzwMtUCnF919P2xL6iaH5UMt3Ba1/XR_3DA%202016-08-07%2015-23-14-48.jpg) The method used by the game's artists is called photorealism. It is a style of art characterized by highly detailed depictions of real life, resembling a photograph. While you might think that most artists would ideally use complete photos in their textures and replicate objects exactly for in-game assets, you'd be surprised to find that it's usually only a small part of the overall composition, as artists usually take more creative liberty with their work. GSC's artists have mostly stayed true to their references to produce life-like textures and objects, almost as much as Finland's Remedy. ![XR_3DA 2016-08-09 21-59-05-24.jpg](https://steemitimages.com/DQmS1wayTE7NmkmwNPRnEczq6m4iQjipK4XWmm6KNGsNzBs/XR_3DA%202016-08-09%2021-59-05-24.jpg) GSC made great effort to incorporate the look and feel of the Kiev landscape with its varied flora and fauna, buildings, climate and overall atmosphere. Seeing as the game's setting was literally their backyard, it gave them the edge over most developers. The opportunity to create a true-to-life experience grounded in both reality and fiction, just by doing simple replication of things they knew very well. While the STALKER games may be considered dated visually, their 3D environments and meshes had relatively high polycounts/vertices compared to other games from the same era. ![XR_3DA 2016-08-10 23-30-19-54.jpg](https://steemitimages.com/DQmbLpHx9x9dVTMLRtjBfDQvaeF6qKXsE9AsydQmUMoSEWW/XR_3DA%202016-08-10%2023-30-19-54.jpg) Today photorealism is much more common place and developers mimick reality way better than in 2007, so if you want your game to look competent, try to make things look real. That may sound like obvious and dumb advice, but really think about how many games actually look close to reality. Not too many eh? Its a very simple concept, but is rarely adhered to. Have you maybe ever asked yourself why games like Red Dead Redemption still looks good in comparison to newer graphical behemoths like Uncharted 4? Good photorealism practice lengthens a game's lifespan and adds to replayability, helping players to come back to it. Heck, people still think Half-Life 2 looks good because of the way it used photorealism. ![xrEngine 2016-08-04 22-26-59-97.jpg](https://steemitimages.com/DQmRrs15tLKe3PoLhC5JAR74nkxnymdtsArNJ522ChqfhDs/xrEngine%202016-08-04%2022-26-59-97.jpg) Steve Buscemi ---------------------------------------------------CREATIVE ARTIFICIAL INTELLIGENCE During development GSC created an artificial intelligence engine they called ALife, which they eventually implemented into all three games. This system/engine was the backbone of the game's overall gameplay and AI behavior. ALife worked by assigning one of two states/behavior sets to entities (NPC's and mutants): offline and online. In offline, entities had no physical presence (meaning no character models, animations or sound) and only built paths on the global navigation graph, meaning that their movement was visible on the player map, but not physically visible to the player. In online, entities had a physical presence (visible character models with animations and sound), could actively manage their inventory and build detailed smooth paths, with global navigation paths visible on the player map. PDA map in SOC, showing player and NPC movement/location ![soc map.png](https://steemitimages.com/DQmaZownJx7xBqtMVU2YBaiVaW5VWMzvWcoKy24gR62npZj/soc%20map.png) The offline state gets implemented on entities active on another area/level of the game world, while the online state gets implemented on entities within the same area/level the player inhabits, only being applied to entities within a 150 meter radius of the player's position. This meant that the game could swap between the two states as necessary, creating a seamless and active game world even if the player couldn't see any of it. In a nutshell ALife enabled NPC's to belong to specific factions, work and travel together, have their own location waypoints (where they travel to) and react to the environment. For the mutants/wildlife, it enabled them to inhabit certain areas, migrate and hunt/attack as packs. All this with or without the player's presence. In fact the player is considered nothing special, being reckoned as another entity, a small cog in the workings of the greater machine. ![xrEngine 2016-08-04 21-56-41-25.jpg](https://steemitimages.com/DQmS2itG5yUjk8DtobigsPzzSRRtW8wT7SJX9Wov8BXyaEM/xrEngine%202016-08-04%2021-56-41-25.jpg) Friendly mutant that can cloak like the Predator While this was implemented in SOC, the two later installments would feature a new and improved ALife engine, enabling GSC to assign new tasks and behaviors to entities in the game world. Some of these included in COP and to a lesser extent CS, was the ability for NPC's to have personal quests/missions and alliances with the player. NPC's would go about their own routine, traveling and doing jobs like artifact hunting. They would move as a team with other NPC's to various sites on the map, completing whatever task that was assigned to them the moment the game started. NPC's belonging to Duty, one of the series' many factions ![xrEngine 2016-08-04 21-57-23-04.jpg](https://steemitimages.com/DQmejp3cSGhKsAxhGf9Y3waYUWb3d4dpP11ng82eMYESZsK/xrEngine%202016-08-04%2021-57-23-04.jpg) In most of today's games the player is treated as the cream of the crop, lest they start feeling unimportant and lose interest. The game industry is obsessed with pleasing the player. In STALKER the player is thrown in the deep end, having to figure everything out for themselves. Whether this was a good or bad approach, it undeniably contributed to the series' reputation of unforgiving and tough gameplay. This AI system is somewhat similar to other sandbox games, but remember that in STALKER the game world is segmented into different areas with open interiors, whereas games like the Elder Scrolls series have one large and open area, with much smaller segmented levels for the interiors. Now I'm not saying that every game should have top-notch AI that will threaten F.E.A.R.'s reign, but assess your gameplay objectives carefully. Start with simple AI and then build upon it incrementally. The more complex your AI, the more the possibility of it becoming clunky/bad and failure-prone, like Fallout 4 or Half-Life 2 (oh snap!). ---------------------------------------------------REALISTIC BALLISTICS That title may sound funny if you say it fast, but the point is that STALKER has always featured an in-depth and realistic weapon ballistics system. While the word "system" may be too generous, the games do have specific rules when it comes to the damage and effect of every weapon. Bullets respond in a realistic fashion, explosions throw shrapnel and shock waves inside their effective range, and melee attacks cause rupture and bleeding. When the player shoots with their firearm, bullets always appear from the tip of the barrel and spawns at a different point depending on the specific firearm used, not like in some older and newer games where bullets always spawn from the player character's chest (*cough* Battlefield 4). Bullets are physical objects affected by gravity and are propelled with a set amount of force, causing them to travel at an arc, and do not fly in a straight line like in most games. Depending on the impact surface angle and slope, the bullet will either be destroyed or bounce/ricochet off in the correct manner, while still maintaining its original force and gravity limitations. Every weapon has a different variable for bullet force and weight. For example, a rifle bullet travels faster and further than a bullet from a pistol. Bullets also have different penetrative properties depending on their type. A normal bullet (such as a hollow point) will not penetrate medium thick metal or wood and is less effective against armored targets, being better suited to non-armored and open targets. Armor-piercing (full metal jacket) bullets are capable of penetrating medium thick metal or wood and is very effective against armored targets, being somewhat less effective against non-armored targets. The game allows the player to switch between ammo types if they are placed inside the inventory. For example, if a target is in cover behind a small tree or metal door, the armor-piercing bullets will penetrate and hit the target behind it, depending on the thickness of the cover. ![xrEngine 2016-08-04 22-24-11-57.jpg](https://steemitimages.com/DQmTuPELnXVjEAWrrg7xkGaQo8MTLBfMFWbfCJhLmBEAeTX/xrEngine%202016-08-04%2022-24-11-57.jpg) AP Bullets can whiz through this tree hitting anything behind it While these concepts are nothing new or revolutionary today, they were rarely incorporated in AAA games. They were somewhat untapped back then. Other older examples are Splinter Cell: Chaos Theory, the Rainbow Six series, Hitman series, ARMA series, and maybe even Perfect Dark. Although these and other known games used some or a mixture of these features, they were limited representations of realistic ballistics. STALKER was one of the first to incorporate most, if not all of them, being applied to both the player and AI. Popular examples like Call of Duty, Battlefield and Metal Gear Solid incorporated these features later on. ---------------------------------------------------BELIEVABLE WEATHER EFFECTS ![xrEngine 2016-08-04 21-13-03-73.jpg](https://steemitimages.com/DQmXswEJ4vtap6gD1oC1igrtzegtySzr7r1drFaGZXwdLci/xrEngine%202016-08-04%2021-13-03-73.jpg) The series features dynamically changing weather that alters the gameplay in different ways. Thunderstorms cause light that can give away the players position and trembling that deafens smaller sounds around them, with fog and rain limiting the player's vision. Fake/simulated wind blows leaves around (localized particles) and trees and foliage make rustling sounds (part of ambient sounds). The skybox changes according to the corresponding weather over time, and a plane with a clouds texture on it scrolls above the player. The skybox or skydome (not sure which method was used) undergoes a transition of texture depending on the weather and time of day. Imagine a slider incrementally increasing/decreasing in value, with the value being the transparency on a sky texture. As the slider moves up/down, the texture starts to appear/disappear revealing an alternative texture that was above/underneath. Whether this process is as described or different, the result is usually the same. It doesn't use an animated skydome like in Red Dead Redemption or Far Cry. ![XR_3DA 2016-08-08 00-39-27-47.jpg](https://steemitimages.com/DQmSeSGYxJ1UcrbKfQjaNWrcz13yGGNfuT9nETkBWpnFLES/XR_3DA%202016-08-08%2000-39-27-47.jpg) To be honest, the methods used in these games are very dated and quaint looking, but gets a pass for implementing it so well in its time. No, they didn't use cool stuff like volumetric clouds similar to Crysis, but decided to harbor simple techniques for performance and functionality. That's how your game should feature dynamic weather, by implementing simple assets in clever ways. In its simplest form, the weather in STALKER (and most games) follows the player and is attached to their pivot point. So basically when any weather effects appear in-game, its always exclusively around the player extending a certain radius. When the wind is blowing the leafy particles around you, it's only around you. When it's raining, it's only raining on you. It's for both performance and practicality. Hope that doesn't spoil anyone's perception of games, but that's simply how it works. ![tumblr_n064ywvAnZ1qisuj3o1_500.png](https://steemitimages.com/DQmQX5pd6ES3oRf1HcWpUUePbvmPgRH3MgrixnTNx769fuy/tumblr_n064ywvAnZ1qisuj3o1_500.png) Now there is nothing wrong with that in practice, when handled well. It's a little too obvious in some games though, so when creating your weather effects do remember to extend the radius of the particles so that it is near impossible to spot the edge. The technique used in Gears of War 1 was to have scrolling textures on planes, packed in blocks to simulate rain coming down all around the environment. This worked great and diminished the need for particle effects...until the player looked straight up and saw the empty squares between the planes. In the end particles are still the way to go, especially when attached to the player. You could opt to use a large scale particle radius, but know the bigger it gets the more performance hungry it will be. ---------------------------------------------------LIGHTING IS THE SECRET In order to fully represent a realistic environment, a game needs to adequately use light to present believable and realistic looking visuals. Lighting really is everything. A game can have the highest resolution textures and the best detailed objects and environment, but without good lighting it will look like a game from the early 2000's, like Unreal Engine 2, id Tech 3 and early Source games. Competent lighting can make an arguably bland looking game pleasing to the eye, like F.E.A.R. for example. Here is a quick video showing an updated version of lighting for Half-Life 2, which is nothing spectacular but it brings across the point well enough: https://www.youtube.com/watch?v=XPl1MRKstG0 ![tumblr_inline_npqdupIGYZ1r9k0uq_540.jpg](https://steemitimages.com/DQmVoxTJ4ERan4Gf2qixVTCqU3NQsPNEzHdcoFn2ZiTDwRD/tumblr_inline_npqdupIGYZ1r9k0uq_540.jpg) Vanilla Skyrim vs ENB modded Skyrim with better lighting Now did STALKER hold up in terms of lighting? In my humble opinion it did, especially with CS and COP. Depending on the mood and general atmosphere of your game, it will dictate the type of color lighting used. For instance Splinter Cell required generally dark lighting, Just Cause needed very vibrant and brightly colored lighting, Condemned needed washed out looking shadows and lighting, and STALKER needed grayish and bland lighting to simulate the typical Eastern Bloc overcast weather and mood, with the occasional vibrant color to simulate the limited sunshine. Bloom, Shadows, Ambient Occlusion and HDR can only get you so far, which was especially true for Fallout 3 that ended up looking pretty bad as it didn't implement compelling light colors. ![XR_3DA 2016-08-09 21-56-11-74.jpg](https://steemitimages.com/DQmfGEKTPK3hNQmTi21hfvGRLv6aLDiG8PwrsVjvH6YUssV/XR_3DA%202016-08-09%2021-56-11-74.jpg) SOC still looks fine in 2018 For more realistic depictions, modern games like GTA V and Metal Gear Solid V have used some of the most convincing lighting colors used in gaming history, and many games are starting to follow the same standard. The overall gaming industry has kind of figured out good texturing years ago (except for Bethesda) and have started to see the importance of lighting and how it affects the overall look of the visuals, where it compliments the surrounding environment and object textures. ![METAL GEAR SOLID V_ THE PHANTOM PAIN_20150908143600.jpg](https://steemitimages.com/DQmYP22L9qTREmJQhy3fo3by6nt3VXGMQjJv21yxMBixw6j/METAL%20GEAR%20SOLID%20V_%20THE%20PHANTOM%20PAIN_20150908143600.jpg) MGSV looked good even on Xbox 360 and PS3 ![GTA-V-6.jpg](https://steemitimages.com/DQmS9GwfoCs3KXQCt9f5d7U7t6XsrFY5xKUb7pDi4K9ruvf/GTA-V-6.jpg) GTA V with the ICEnhancer mod STALKER used the perfect lighting solution for what it was trying to be and largely succeeded in becoming one of the most atmospheric FPS experiences ever created. ![xrEngine 2016-08-14 21-19-48-63.jpg](https://steemitimages.com/DQmaMjc4g7fBV3sqW84tWdQoMPh3SDkMVu8TYC1rgYYpbJJ/xrEngine%202016-08-14%2021-19-48-63.jpg) Perfect use of light and shadows to simulate a thunderstorm ---------------------------------------------------RESPONSIBLE USE OF PHYSICS It has been proven time and again that real time physics simulation makes a game world feel alive, as it enables players to interact with their virtual surroundings thereby increasing the immersion. That being said, physics are a double-edged sword, possessing the ability to ruin a game's atmosphere and mood. Developers need to assess whether or not physics simulation (especially ragdolls) fits the vision for their game, whether or not it's beneficial to sacrifice interaction for sound atmosphere. A good example of where physics have proven very unhelpful is the Horror genre. The world of Silent Hill 2 would probably not be as threatening for players if every dying monster collapsed into a floppy ragdoll. Let's be honest, physics are hilarious in nature, just look to YouTube for proof. Games like Max Payne 2 and Half-Life 2 are often considered more funny than serious, seeing as both used the Havok physics engine in the early 2000's, which often made characters do impromptu flips and cartwheels upon death. Hitman, Deus Ex, LA Noire, Assassin's Creed, Elder Scrolls, Fallout, Bioshock, Dying Light, Splinter Cell and Battlefield are just some of the games that made me and my friends consistently laugh over the years for their over/improper use of physics. That's exactly why developers need to decide whether or not to use physics simulation, or rather plan to implement it in a smarter way. If you want people to take your game seriously use it responsibly. For example, the fact that players could move and flip around the Emperor in Oblivion just removed any serious impact of his death in the story. ![1884164-april03_ragdoll_limbo.jpg](https://steemitimages.com/DQmSsaDMxUzqg5yHKhSB8QGi2ReNPSkWw8qqJYL94JfKQPL/1884164-april03_ragdoll_limbo.jpg) Rainbow Six - Raven Shield ![1884165-cs_militia0015.jpg](https://steemitimages.com/DQmXn4dn1A2uFdic7ikCuTRGW5pSdQWz9s6vk92nehzDn8A/1884165-cs_militia0015.jpg) Counter-Strike Source ![maxresdefault.jpg](https://steemitimages.com/DQmbT8QnRdUKUrtNfNpWAEuJr2xW7W8PUC5ZFLh2DW3oNqh/maxresdefault.jpg) The Elder Scrolls - Skyrim STALKER used a heavily modified version of the ODE physics engine which featured Ragdoll physics and destructible objects. In STALKER, ragdoll enabled characters are heavier in weight thereby limiting the chances of characters flailing about upon death, and drop to the ground relatively fast. The more the joints and bones of the skeleton weigh, the less likely they are to move around in a comical fashion when the player or environment interacts with them. This mostly blurs the line between comical and realistic, the line being whether or not physics make a game more profound and effective, or whether it turns it into a YouTube fail video. ---------------------------------------------------DISTINCTIVE SOUND Lastly sound. I cannot emphasize enough how much of an impact sound plays in games, and this was especially true for STALKER. Region accurate character voices, distinct mutant growls, anomaly beeps, radiation crackling, foliage rustling, natural weather recordings and ambient soundscapes made up half of what made the game so immersive. Were it not for GSC's effective use of sound the games would have been debilitated greatly, reducing the overall atmosphere and direction. Music itself sets the stage the moment the player first runs STALKER, with a haunting soundtrack that fits the greater narrative and environment. Developers need to fully understand their main vision for the game they are making, and need to cater the correct audio to enhance that vision. Would Far Cry 3 - Blood Dragon be the same without the synth soundtrack and futuristic 80's sound effects? Hell no. ---------------------------------------------------FINAL THOUGHTS This short article mainly touched on some of the technical aspects of STALKER and really doesn't serve as a comprehensive guide to creating timeless video games, but I do hope that these simple observations helps someone one day, should anyone miraculously read it in the first place. Some of the GSC Game World guys have gotten back together again so hopefully they can captivate the gaming world once again soon, and show everyone how it's done. Here are some final screenshots from SOC and COP: ![XR_3DA 2016-08-07 15-28-10-93.jpg](https://steemitimages.com/DQmTTqk6KvcmriYWtjGP14Ui4CkipcyZ6DknepZTj2F79qd/XR_3DA%202016-08-07%2015-28-10-93.jpg) Excellent combination of Parallax and Normal Mapping ![XR_3DA 2016-08-07 15-26-51-63.jpg](https://steemitimages.com/DQmYV5b7eG2pLQXahqpkbrj644Qhwa2SMBuUwcLcZCq279A/XR_3DA%202016-08-07%2015-26-51-63.jpg) ![XR_3DA 2016-08-08 00-20-55-78.jpg](https://steemitimages.com/DQmW56V6cLq7jTX5BVHMyNFNmexn58wFscPbX8sJNjXdHHn/XR_3DA%202016-08-08%2000-20-55-78.jpg) ![XR_3DA 2016-08-08 00-41-18-78.jpg](https://steemitimages.com/DQmVddC2Q1NYY8wxa3Kip3n62Yvw24t6DEe2LpJmH2RwG1U/XR_3DA%202016-08-08%2000-41-18-78.jpg) ![XR_3DA 2016-08-10 23-10-20-54.jpg](https://steemitimages.com/DQme3KvJ2Jsz74pLmKsJLbd5wRyvrxt8y4PFwfADu9CgKA2/XR_3DA%202016-08-10%2023-10-20-54.jpg) ![XR_3DA 2016-08-10 22-52-06-53.jpg](https://steemitimages.com/DQmXhbMCr1oUmuXDAjvDayDpXNV92r1pXaugBwgcaN2Q7oY/XR_3DA%202016-08-10%2022-52-06-53.jpg) ![XR_3DA 2016-08-10 23-25-10-59.jpg](https://steemitimages.com/DQmQizzAwhYGoiWjYpWM94TQcrmXrtPY7g4vW6ub4gxwPpP/XR_3DA%202016-08-10%2023-25-10-59.jpg) ![xrEngine 2016-08-04 22-19-02-44.jpg](https://steemitimages.com/DQmc5XA7XTZv8PrXyZKELCtNbvdd2HfNUHSRUeCPdbouzdF/xrEngine%202016-08-04%2022-19-02-44.jpg) ![xrEngine 2016-08-14 21-03-39-76.jpg](https://steemitimages.com/DQmdsM7iWv6Xp4yV5wKJYfESxu47F6Kmrs3RaDzD5TsPJ4w/xrEngine%202016-08-14%2021-03-39-76.jpg) - JG Roos
json metadata{"tags":["blog","gaming","technology","history","development"],"image":["https://steemitimages.com/DQmSyCBNKMuypu54bpZP2hPJKtFfKT2to6BcXadrPibHwNQ/stalker_tri.jpg","https://steemitimages.com/DQmP87Ebhb3NrWLaoDW73dzkkC2L4BEJcEkgAZcuKAmsYQv/xrEngine%202016-08-04%2022-14-04-21.jpg","https://steemitimages.com/DQmcfynD5Q5jmAdybyQ9jfy6dx59ccks5DoVYxgg2aZQESz/220px-Roadside-picnic-macmillan-cover.jpg","https://steemitimages.com/DQmfR6Gh1DX5tabZoQhxrzqx8JxQwREFYxbfUvKws5KPDoG/220px-Stalker_poster.jpg","https://steemitimages.com/DQmX6AcxJcWmDkWBCHyPzwMtUCnF919P2xL6iaH5UMt3Ba1/XR_3DA%202016-08-07%2015-23-14-48.jpg","https://steemitimages.com/DQmS1wayTE7NmkmwNPRnEczq6m4iQjipK4XWmm6KNGsNzBs/XR_3DA%202016-08-09%2021-59-05-24.jpg","https://steemitimages.com/DQmbLpHx9x9dVTMLRtjBfDQvaeF6qKXsE9AsydQmUMoSEWW/XR_3DA%202016-08-10%2023-30-19-54.jpg","https://steemitimages.com/DQmRrs15tLKe3PoLhC5JAR74nkxnymdtsArNJ522ChqfhDs/xrEngine%202016-08-04%2022-26-59-97.jpg","https://steemitimages.com/DQmaZownJx7xBqtMVU2YBaiVaW5VWMzvWcoKy24gR62npZj/soc%20map.png","https://steemitimages.com/DQmS2itG5yUjk8DtobigsPzzSRRtW8wT7SJX9Wov8BXyaEM/xrEngine%202016-08-04%2021-56-41-25.jpg","https://steemitimages.com/DQmejp3cSGhKsAxhGf9Y3waYUWb3d4dpP11ng82eMYESZsK/xrEngine%202016-08-04%2021-57-23-04.jpg","https://steemitimages.com/DQmTuPELnXVjEAWrrg7xkGaQo8MTLBfMFWbfCJhLmBEAeTX/xrEngine%202016-08-04%2022-24-11-57.jpg","https://steemitimages.com/DQmXswEJ4vtap6gD1oC1igrtzegtySzr7r1drFaGZXwdLci/xrEngine%202016-08-04%2021-13-03-73.jpg","https://steemitimages.com/DQmSeSGYxJ1UcrbKfQjaNWrcz13yGGNfuT9nETkBWpnFLES/XR_3DA%202016-08-08%2000-39-27-47.jpg","https://steemitimages.com/DQmQX5pd6ES3oRf1HcWpUUePbvmPgRH3MgrixnTNx769fuy/tumblr_n064ywvAnZ1qisuj3o1_500.png","https://img.youtube.com/vi/XPl1MRKstG0/0.jpg","https://steemitimages.com/DQmVoxTJ4ERan4Gf2qixVTCqU3NQsPNEzHdcoFn2ZiTDwRD/tumblr_inline_npqdupIGYZ1r9k0uq_540.jpg","https://steemitimages.com/DQmfGEKTPK3hNQmTi21hfvGRLv6aLDiG8PwrsVjvH6YUssV/XR_3DA%202016-08-09%2021-56-11-74.jpg","https://steemitimages.com/DQmYP22L9qTREmJQhy3fo3by6nt3VXGMQjJv21yxMBixw6j/METAL%20GEAR%20SOLID%20V_%20THE%20PHANTOM%20PAIN_20150908143600.jpg","https://steemitimages.com/DQmS9GwfoCs3KXQCt9f5d7U7t6XsrFY5xKUb7pDi4K9ruvf/GTA-V-6.jpg","https://steemitimages.com/DQmaMjc4g7fBV3sqW84tWdQoMPh3SDkMVu8TYC1rgYYpbJJ/xrEngine%202016-08-14%2021-19-48-63.jpg","https://steemitimages.com/DQmSsaDMxUzqg5yHKhSB8QGi2ReNPSkWw8qqJYL94JfKQPL/1884164-april03_ragdoll_limbo.jpg","https://steemitimages.com/DQmXn4dn1A2uFdic7ikCuTRGW5pSdQWz9s6vk92nehzDn8A/1884165-cs_militia0015.jpg","https://steemitimages.com/DQmbT8QnRdUKUrtNfNpWAEuJr2xW7W8PUC5ZFLh2DW3oNqh/maxresdefault.jpg","https://steemitimages.com/DQmTTqk6KvcmriYWtjGP14Ui4CkipcyZ6DknepZTj2F79qd/XR_3DA%202016-08-07%2015-28-10-93.jpg","https://steemitimages.com/DQmYV5b7eG2pLQXahqpkbrj644Qhwa2SMBuUwcLcZCq279A/XR_3DA%202016-08-07%2015-26-51-63.jpg","https://steemitimages.com/DQmW56V6cLq7jTX5BVHMyNFNmexn58wFscPbX8sJNjXdHHn/XR_3DA%202016-08-08%2000-20-55-78.jpg","https://steemitimages.com/DQmVddC2Q1NYY8wxa3Kip3n62Yvw24t6DEe2LpJmH2RwG1U/XR_3DA%202016-08-08%2000-41-18-78.jpg","https://steemitimages.com/DQme3KvJ2Jsz74pLmKsJLbd5wRyvrxt8y4PFwfADu9CgKA2/XR_3DA%202016-08-10%2023-10-20-54.jpg","https://steemitimages.com/DQmXhbMCr1oUmuXDAjvDayDpXNV92r1pXaugBwgcaN2Q7oY/XR_3DA%202016-08-10%2022-52-06-53.jpg","https://steemitimages.com/DQmQizzAwhYGoiWjYpWM94TQcrmXrtPY7g4vW6ub4gxwPpP/XR_3DA%202016-08-10%2023-25-10-59.jpg","https://steemitimages.com/DQmc5XA7XTZv8PrXyZKELCtNbvdd2HfNUHSRUeCPdbouzdF/xrEngine%202016-08-04%2022-19-02-44.jpg","https://steemitimages.com/DQmdsM7iWv6Xp4yV5wKJYfESxu47F6Kmrs3RaDzD5TsPJ4w/xrEngine%202016-08-14%2021-03-39-76.jpg"],"links":["https://www.youtube.com/watch?v=XPl1MRKstG0"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19411245/Trx 8da99e0d16f781f18f88ee3f5d501eb5d2eec9fc
View Raw JSON Data
{
  "trx_id": "8da99e0d16f781f18f88ee3f5d501eb5d2eec9fc",
  "block": 19411245,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-29T19:59:39",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "blog",
      "author": "jgroos",
      "permlink": "aspiring-developers-could-learn-from-s-t-a-l-k-e-r",
      "title": "Aspiring Developers Could Learn From S.T.A.L.K.E.R.",
      "body": "![stalker_tri.jpg](https://steemitimages.com/DQmSyCBNKMuypu54bpZP2hPJKtFfKT2to6BcXadrPibHwNQ/stalker_tri.jpg)\n\n\n\n\n\n\n---------------------------------------------------INTRODUCTION\n\nWhen someone gives a list of reasons of what certain features games are missing, I usually think to myself  \"do these people even know how those features are made/implemented?\". The short answer is an obvious no. No, the majority of players have no clue how those assets or \"graphics\" are created. Nor do they know how long and arduous the process of programming them might be. But then I remember that I was the exact same way during my younger years.\n\nNow I am about to do the same thing...but the small difference between me and a normal gamer, is that I have a degree in Computer Science and worked on small personal video game projects myself. No, none of my games were successful or even released, but I did learn a few things along the way (giving me flimsy justification). So I though I might write a short article on what the developers of STALKER did so long ago (2007-2009 is long ago for the purpose of this article), and what today's aspiring developers could take note of. For the most part I will use Call of Pripyat and Shadow of Chernobyl as examples as they are the most stable versions.\n\nEven though this article will give much credit to the series, do know that not everything in these games were perfect by any means and were considerably flawed. They were very rough diamonds from the start.\n\n![xrEngine 2016-08-04 22-14-04-21.jpg](https://steemitimages.com/DQmP87Ebhb3NrWLaoDW73dzkkC2L4BEJcEkgAZcuKAmsYQv/xrEngine%202016-08-04%2022-14-04-21.jpg)\nYanov Station, Call of Pripyat\n\n\n\n---------------------------------------------------BRIEF HISTORY\n\nThe STALKER series was developed by Ukrainian developer GSC Game World, with the exception of STALKER: Mobile. The first game, Shadow of Chernobyl (SOC) was first announced in 2001, and was to be released in 2003 but suffered many delays. It was finally released in March 2007 (got it for my birthday). The second game, Clear Sky (CS) was released August 2008 (did not get it for my birthday) as a prequel to SOC. The last game, Call of Pripyat (COP) was released in October 2009 (did also not get for my birthday) in the CIS regions. With every installment new features and \"tech\" were added to the game engine that GSC called X-ray. The games would go on to be highly revered cult classics worldwide. All games took heavy inspiration from Boris and Arkady Strugatsky's Roadside Picnic novella, as well as Andrei Tarkovksy's film, Stalker (1979).\n\n![220px-Roadside-picnic-macmillan-cover.jpg](https://steemitimages.com/DQmcfynD5Q5jmAdybyQ9jfy6dx59ccks5DoVYxgg2aZQESz/220px-Roadside-picnic-macmillan-cover.jpg)\nWritten by Boris and Arkady Strugatsky\n1972 (Russian) and 1977 (English)\n\n![220px-Stalker_poster.jpg](https://steemitimages.com/DQmfR6Gh1DX5tabZoQhxrzqx8JxQwREFYxbfUvKws5KPDoG/220px-Stalker_poster.jpg)\nStalker (1979)\nDirected by Andrei Tarkovsky\n\n\n\n---------------------------------------------------WHY ARE THESE GAMES PROFOUND?\n\nThey were one of the first games to successfully blend multiple genres into one coherent experience, being a first-person shooter/RPG/Sandbox/Horror/Survival game. All of them had an interesting story, narrative and world for the player to explore. They boasted a combination features rarely present in other games at the time, and are unique games even to this day. The following are the different aspects and features presented in these games that made them stand out during 2007 to 2009:\n\n\n---------------------------------------------------IMPRESSIVE PHOTOREALISM\n\n![XR_3DA 2016-08-07 15-23-14-48.jpg](https://steemitimages.com/DQmX6AcxJcWmDkWBCHyPzwMtUCnF919P2xL6iaH5UMt3Ba1/XR_3DA%202016-08-07%2015-23-14-48.jpg)\n\nThe method used by the game's artists is called photorealism. It is a style of art characterized by highly detailed depictions of real life, resembling a photograph. While you might think that most artists would ideally use complete photos in their textures and replicate objects exactly for in-game assets, you'd be surprised to find that it's usually only a small part of the overall composition, as artists usually take more creative liberty with their work. GSC's artists have mostly stayed true to their references to produce life-like textures and objects, almost as much as Finland's Remedy. \n\n![XR_3DA 2016-08-09 21-59-05-24.jpg](https://steemitimages.com/DQmS1wayTE7NmkmwNPRnEczq6m4iQjipK4XWmm6KNGsNzBs/XR_3DA%202016-08-09%2021-59-05-24.jpg)\n\nGSC made great effort to incorporate the look and feel of the Kiev landscape with its varied flora and fauna, buildings, climate and overall atmosphere. Seeing as the game's setting was literally their backyard, it gave them the edge over most developers. The opportunity to create a true-to-life experience grounded in both reality and fiction, just by doing simple replication of things they knew very well. While the STALKER games may be considered dated visually, their 3D environments and meshes had relatively high polycounts/vertices compared to other games from the same era.\n\n![XR_3DA 2016-08-10 23-30-19-54.jpg](https://steemitimages.com/DQmbLpHx9x9dVTMLRtjBfDQvaeF6qKXsE9AsydQmUMoSEWW/XR_3DA%202016-08-10%2023-30-19-54.jpg)\n\nToday photorealism is much more common place and developers mimick reality way better than in 2007, so if you want your game to look competent, try to make things look real. That may sound like obvious and dumb advice, but really think about how many games actually look close to reality. Not too many eh? Its a very simple concept, but is rarely adhered to. Have you maybe ever asked yourself why games like Red Dead Redemption still looks good in comparison to newer graphical behemoths like Uncharted 4? Good photorealism practice lengthens a game's lifespan and adds to replayability, helping players to come back to it. Heck, people still think Half-Life 2 looks good because of the way it used photorealism.\n\n![xrEngine 2016-08-04 22-26-59-97.jpg](https://steemitimages.com/DQmRrs15tLKe3PoLhC5JAR74nkxnymdtsArNJ522ChqfhDs/xrEngine%202016-08-04%2022-26-59-97.jpg)\nSteve Buscemi\n\n\n\n---------------------------------------------------CREATIVE ARTIFICIAL INTELLIGENCE\n\nDuring development GSC created an artificial intelligence engine they called ALife, which they eventually implemented into all three games. This system/engine was the backbone of the game's overall gameplay and AI behavior. ALife worked by assigning one of two states/behavior sets to entities (NPC's and mutants): offline and online. \n\nIn offline, entities had no physical presence (meaning no character models, animations or sound) and only built paths on the global navigation graph, meaning that their movement was visible on the player map, but not physically visible to the player. In online, entities had a physical presence (visible character models with animations and sound), could actively manage their inventory and build detailed smooth paths, with global navigation paths visible on the player map.\n\n\nPDA map in SOC, showing player and NPC movement/location\n![soc map.png](https://steemitimages.com/DQmaZownJx7xBqtMVU2YBaiVaW5VWMzvWcoKy24gR62npZj/soc%20map.png)\nThe offline state gets implemented on entities active on another area/level of the game world, while the online state gets implemented on entities within the same area/level the player inhabits, only being applied to entities within a 150 meter radius of the player's position. This meant that the game could swap between the two states as necessary, creating a seamless and active game world even if the player couldn't see any of it.\n\nIn a nutshell ALife enabled NPC's to belong to specific factions, work and travel together, have their own location waypoints (where they travel to) and react to the environment. For the mutants/wildlife, it enabled them to inhabit certain areas, migrate and hunt/attack as packs. All this with or without the player's presence. In fact the player is considered nothing special, being reckoned as another entity, a small cog in the workings of the greater machine. \n\n\n![xrEngine 2016-08-04 21-56-41-25.jpg](https://steemitimages.com/DQmS2itG5yUjk8DtobigsPzzSRRtW8wT7SJX9Wov8BXyaEM/xrEngine%202016-08-04%2021-56-41-25.jpg)\nFriendly mutant that can cloak like the Predator\n\nWhile this was implemented in SOC, the two later installments would feature a new and improved ALife engine, enabling GSC to assign new tasks and behaviors to entities in the game world. Some of these included in COP and to a lesser extent CS, was the ability for NPC's to have personal quests/missions and alliances with the player. NPC's would go about their own routine, traveling and doing jobs like artifact hunting. They would move as a team with other NPC's to various sites on the map, completing whatever task that was assigned to them the moment the game started.\n\n\nNPC's belonging to Duty, one of the series' many factions\n![xrEngine 2016-08-04 21-57-23-04.jpg](https://steemitimages.com/DQmejp3cSGhKsAxhGf9Y3waYUWb3d4dpP11ng82eMYESZsK/xrEngine%202016-08-04%2021-57-23-04.jpg)\nIn most of today's games the player is treated as the cream of the crop, lest they start feeling unimportant and lose interest. The game industry is obsessed with pleasing the player. In STALKER the player is thrown in the deep end, having to figure everything out for themselves. Whether this was a good or bad approach, it undeniably contributed to the series' reputation of unforgiving and tough gameplay. This AI system is somewhat similar to other sandbox games, but remember that in STALKER the game world is segmented into different areas with open interiors, whereas games like the Elder Scrolls series have one large and open area, with much smaller segmented levels for the interiors.\n\nNow I'm not saying that every game should have top-notch AI that will threaten F.E.A.R.'s reign, but assess your gameplay objectives carefully. Start with simple AI and then build upon it incrementally. The more complex your AI, the more the possibility of it becoming clunky/bad and failure-prone, like Fallout 4 or Half-Life 2 (oh snap!). \n\n\n\n---------------------------------------------------REALISTIC BALLISTICS\n\nThat title may sound funny if you say it fast, but the point is that STALKER has always featured an in-depth and realistic weapon ballistics system. While the word \"system\" may be too generous, the games do have specific rules when it comes to the damage and effect of every weapon. Bullets respond in a realistic fashion, explosions throw shrapnel and shock waves inside their effective range, and melee attacks cause rupture and bleeding. \n\nWhen the player shoots with their firearm, bullets always appear from the tip of the barrel and spawns at a different point depending on the specific firearm used, not like in some older and newer games where bullets always spawn from the player character's chest (*cough* Battlefield 4). Bullets are physical objects affected by gravity and are propelled with a set amount of force, causing them to travel at an arc, and do not fly in a straight line like in most games. Depending on the impact surface angle and slope, the bullet will either be destroyed or bounce/ricochet off in the correct manner, while still maintaining its original force and gravity limitations. Every weapon has a different variable for bullet force and weight. For example, a rifle bullet travels faster and further than a bullet from a pistol.\n\nBullets also have different penetrative properties depending on their type. A normal bullet (such as a hollow point) will not penetrate medium thick metal or wood and is less effective against armored targets, being better suited to non-armored and open targets. Armor-piercing (full metal jacket) bullets are capable of penetrating medium thick metal or wood and is very effective against armored targets, being somewhat less effective against non-armored targets. The game allows the player to switch between ammo types if they are placed inside the inventory. For example, if a target is in cover behind a small tree or metal door, the armor-piercing bullets will penetrate and hit the target behind it, depending on the thickness of the cover.\n\n![xrEngine 2016-08-04 22-24-11-57.jpg](https://steemitimages.com/DQmTuPELnXVjEAWrrg7xkGaQo8MTLBfMFWbfCJhLmBEAeTX/xrEngine%202016-08-04%2022-24-11-57.jpg)\nAP Bullets can whiz through this tree hitting anything behind it\n\nWhile these concepts are nothing new or revolutionary today, they were rarely incorporated in AAA games. They were somewhat untapped back then. Other older examples are Splinter Cell: Chaos Theory, the Rainbow Six series, Hitman series, ARMA series, and maybe even Perfect Dark. Although these and other known games used some or a mixture of these features, they were limited representations of realistic ballistics. STALKER was one of the first to incorporate most, if not all of them, being applied to both the player and AI. Popular examples like Call of Duty, Battlefield and Metal Gear Solid incorporated these features later on. \n\n\n---------------------------------------------------BELIEVABLE WEATHER EFFECTS\n\n ![xrEngine 2016-08-04 21-13-03-73.jpg](https://steemitimages.com/DQmXswEJ4vtap6gD1oC1igrtzegtySzr7r1drFaGZXwdLci/xrEngine%202016-08-04%2021-13-03-73.jpg)\n\nThe series features dynamically changing weather that alters the gameplay in different ways. Thunderstorms cause light that can give away the players position and trembling that deafens smaller sounds around them, with fog and rain limiting the player's vision. Fake/simulated wind blows leaves around (localized particles) and trees and foliage make rustling sounds (part of ambient sounds). The skybox changes according to the corresponding weather over time, and a plane with a clouds texture on it scrolls above the player.\n\nThe skybox or skydome (not sure which method was used) undergoes a transition of texture depending on the weather and time of day. Imagine a slider incrementally increasing/decreasing in value, with the value being the transparency on a sky texture. As the slider moves up/down, the texture starts to appear/disappear revealing an alternative texture that was above/underneath. Whether this process is as described or different, the result is usually the same. It doesn't use an animated skydome like in Red Dead Redemption or Far Cry.\n\n![XR_3DA 2016-08-08 00-39-27-47.jpg](https://steemitimages.com/DQmSeSGYxJ1UcrbKfQjaNWrcz13yGGNfuT9nETkBWpnFLES/XR_3DA%202016-08-08%2000-39-27-47.jpg)   \n\nTo be honest, the methods used in these games are very dated and quaint looking, but gets a pass for implementing it so well in its time. No, they didn't use cool stuff like volumetric clouds similar to Crysis, but decided to harbor simple techniques for performance and functionality. That's how your game should feature dynamic weather, by implementing simple assets in clever ways.\n\nIn its simplest form, the weather in STALKER (and most games) follows the player and is attached to their pivot point. So basically when any weather effects appear in-game, its always exclusively around the player extending a certain radius. When the wind is blowing the leafy particles around you, it's only around you. When it's raining, it's only raining on you. It's for both performance and practicality. Hope that doesn't spoil anyone's perception of games, but that's simply how it works.\n\n![tumblr_n064ywvAnZ1qisuj3o1_500.png](https://steemitimages.com/DQmQX5pd6ES3oRf1HcWpUUePbvmPgRH3MgrixnTNx769fuy/tumblr_n064ywvAnZ1qisuj3o1_500.png)\n\nNow there is nothing wrong with that in practice, when handled well. It's a little too obvious in some games though, so when creating your weather effects do remember to extend the radius of the particles so that it is near impossible to spot the edge. The technique used in Gears of War 1 was to have scrolling textures on planes, packed in blocks to simulate rain coming down all around the environment. This worked great and diminished the need for particle effects...until the player looked straight up and saw the empty squares between the planes. In the end particles are still the way to go, especially when attached to the player. You could opt to use a large scale particle radius, but know the bigger it gets the more performance hungry it will be. \n\n\n\n---------------------------------------------------LIGHTING IS THE SECRET\n\nIn order to fully represent a realistic environment, a game needs to adequately use light to present believable and realistic looking visuals. Lighting really is everything. A game can have the highest resolution textures and the best detailed objects and environment, but without good lighting it will look like a game from the early 2000's, like Unreal Engine 2, id Tech 3 and early Source games. Competent lighting can make an arguably bland looking game pleasing to the eye, like F.E.A.R. for example. Here is a quick video showing an updated version of lighting for Half-Life 2, which is nothing spectacular but it brings across the point well enough:  \n\n\nhttps://www.youtube.com/watch?v=XPl1MRKstG0\n![tumblr_inline_npqdupIGYZ1r9k0uq_540.jpg](https://steemitimages.com/DQmVoxTJ4ERan4Gf2qixVTCqU3NQsPNEzHdcoFn2ZiTDwRD/tumblr_inline_npqdupIGYZ1r9k0uq_540.jpg)\n\n\nVanilla Skyrim vs ENB modded Skyrim with better lighting\n\nNow did STALKER hold up in terms of lighting? In my humble opinion it did, especially with CS and COP. Depending on the mood and general atmosphere of your game, it will dictate the type of color lighting used. For instance Splinter Cell required generally dark lighting, Just Cause needed very vibrant and brightly colored lighting, Condemned needed washed out looking shadows and lighting, and STALKER needed grayish and bland lighting to simulate the typical Eastern Bloc overcast weather and mood, with the occasional vibrant color to simulate the limited sunshine. Bloom, Shadows, Ambient Occlusion and HDR can only get you so far, which was especially true for Fallout 3 that ended up looking pretty bad as it didn't implement compelling light colors.\n\n![XR_3DA 2016-08-09 21-56-11-74.jpg](https://steemitimages.com/DQmfGEKTPK3hNQmTi21hfvGRLv6aLDiG8PwrsVjvH6YUssV/XR_3DA%202016-08-09%2021-56-11-74.jpg)\nSOC still looks fine in 2018\n\nFor more realistic depictions, modern games like GTA V and Metal Gear Solid V have used some of the most convincing lighting colors used in gaming history, and many games are starting to follow the same standard. The overall gaming industry has kind of figured out good texturing years ago (except for Bethesda) and have started to see the importance of lighting and how it affects the overall look of the visuals, where it compliments the surrounding environment and object textures.   \n\n\n![METAL GEAR SOLID V_ THE PHANTOM PAIN_20150908143600.jpg](https://steemitimages.com/DQmYP22L9qTREmJQhy3fo3by6nt3VXGMQjJv21yxMBixw6j/METAL%20GEAR%20SOLID%20V_%20THE%20PHANTOM%20PAIN_20150908143600.jpg)\nMGSV looked good even on Xbox 360 and PS3\n\n![GTA-V-6.jpg](https://steemitimages.com/DQmS9GwfoCs3KXQCt9f5d7U7t6XsrFY5xKUb7pDi4K9ruvf/GTA-V-6.jpg)\nGTA V with the ICEnhancer mod\n\nSTALKER used the perfect lighting solution for what it was trying to be and largely succeeded in becoming one of the most atmospheric FPS experiences ever created. \n\n![xrEngine 2016-08-14 21-19-48-63.jpg](https://steemitimages.com/DQmaMjc4g7fBV3sqW84tWdQoMPh3SDkMVu8TYC1rgYYpbJJ/xrEngine%202016-08-14%2021-19-48-63.jpg)\nPerfect use of light and shadows to simulate a thunderstorm\n\n\n\n---------------------------------------------------RESPONSIBLE USE OF PHYSICS\n\nIt has been proven time and again that real time physics simulation makes a game world feel alive, as it enables players to interact with their virtual surroundings thereby increasing the immersion. That being said, physics are a double-edged sword, possessing the ability to ruin a game's atmosphere and mood. Developers need to assess whether or not physics simulation (especially ragdolls) fits the vision for their game, whether or not it's beneficial to sacrifice interaction for sound atmosphere. A good example of where physics have proven very unhelpful is the Horror genre. The world of Silent Hill 2 would probably not be as threatening for players if every dying monster collapsed into a floppy ragdoll. Let's be honest, physics are hilarious in nature, just look to YouTube for proof. \n\nGames like Max Payne 2 and Half-Life 2 are often considered more funny than serious, seeing as both used the Havok physics engine in the early 2000's, which often made characters do impromptu flips and cartwheels upon death. Hitman, Deus Ex, LA Noire, Assassin's Creed, Elder Scrolls, Fallout, Bioshock, Dying Light, Splinter Cell and Battlefield are just some of the games that made me and my friends consistently laugh over the years for their over/improper use of physics. That's exactly why developers need to decide whether or not to use physics simulation, or rather plan to implement it in a smarter way. If you want people to take your game seriously use it responsibly. For example, the fact that players could move and flip around the Emperor in Oblivion just removed any serious impact of his death in the story. \n\n![1884164-april03_ragdoll_limbo.jpg](https://steemitimages.com/DQmSsaDMxUzqg5yHKhSB8QGi2ReNPSkWw8qqJYL94JfKQPL/1884164-april03_ragdoll_limbo.jpg)\nRainbow Six - Raven Shield\n\n![1884165-cs_militia0015.jpg](https://steemitimages.com/DQmXn4dn1A2uFdic7ikCuTRGW5pSdQWz9s6vk92nehzDn8A/1884165-cs_militia0015.jpg)\nCounter-Strike Source \n\n![maxresdefault.jpg](https://steemitimages.com/DQmbT8QnRdUKUrtNfNpWAEuJr2xW7W8PUC5ZFLh2DW3oNqh/maxresdefault.jpg)\nThe Elder Scrolls - Skyrim \n\nSTALKER used a heavily modified version of the ODE physics engine which featured Ragdoll physics and destructible objects. In STALKER, ragdoll enabled characters are heavier in weight thereby limiting the chances of characters flailing about upon death, and drop to the ground relatively fast. The more the joints and bones of the skeleton weigh, the less likely they are to move around in a comical fashion when the player or environment interacts with them. This mostly blurs the line between comical and realistic, the line being whether or not physics make a game more profound and effective, or whether it turns it into a YouTube fail video. \n\n\n\n---------------------------------------------------DISTINCTIVE SOUND\n\nLastly sound. I cannot emphasize enough how much of an impact sound plays in games, and this was especially true for STALKER. Region accurate character voices, distinct mutant growls, anomaly beeps, radiation crackling, foliage rustling, natural weather recordings and ambient soundscapes made up half of what made the game so immersive. Were it not for GSC's effective use of sound the games would have been debilitated greatly, reducing the overall atmosphere and direction. Music itself sets the stage the moment the player first runs STALKER, with a haunting soundtrack that fits the greater narrative and environment. Developers need to fully understand their main vision for the game they are making, and need to cater the correct audio to enhance that vision. Would Far Cry 3 - Blood Dragon be the same without the synth soundtrack and futuristic 80's sound effects? Hell no. \n\n\n\n---------------------------------------------------FINAL THOUGHTS\n\nThis short article mainly touched on some of the technical aspects of STALKER and really doesn't serve as a comprehensive guide to creating timeless video games, but I do hope that these simple observations helps someone one day, should anyone miraculously read it in the first place. Some of the GSC Game World guys have gotten back together again so hopefully they can captivate the gaming world once again soon, and show everyone how it's done. Here are some final screenshots from SOC and COP:\n\n![XR_3DA 2016-08-07 15-28-10-93.jpg](https://steemitimages.com/DQmTTqk6KvcmriYWtjGP14Ui4CkipcyZ6DknepZTj2F79qd/XR_3DA%202016-08-07%2015-28-10-93.jpg)\nExcellent combination of Parallax and Normal Mapping \n\n![XR_3DA 2016-08-07 15-26-51-63.jpg](https://steemitimages.com/DQmYV5b7eG2pLQXahqpkbrj644Qhwa2SMBuUwcLcZCq279A/XR_3DA%202016-08-07%2015-26-51-63.jpg)\n\n![XR_3DA 2016-08-08 00-20-55-78.jpg](https://steemitimages.com/DQmW56V6cLq7jTX5BVHMyNFNmexn58wFscPbX8sJNjXdHHn/XR_3DA%202016-08-08%2000-20-55-78.jpg)\n\n![XR_3DA 2016-08-08 00-41-18-78.jpg](https://steemitimages.com/DQmVddC2Q1NYY8wxa3Kip3n62Yvw24t6DEe2LpJmH2RwG1U/XR_3DA%202016-08-08%2000-41-18-78.jpg)\n\n![XR_3DA 2016-08-10 23-10-20-54.jpg](https://steemitimages.com/DQme3KvJ2Jsz74pLmKsJLbd5wRyvrxt8y4PFwfADu9CgKA2/XR_3DA%202016-08-10%2023-10-20-54.jpg)\n\n![XR_3DA 2016-08-10 22-52-06-53.jpg](https://steemitimages.com/DQmXhbMCr1oUmuXDAjvDayDpXNV92r1pXaugBwgcaN2Q7oY/XR_3DA%202016-08-10%2022-52-06-53.jpg)\n\n![XR_3DA 2016-08-10 23-25-10-59.jpg](https://steemitimages.com/DQmQizzAwhYGoiWjYpWM94TQcrmXrtPY7g4vW6ub4gxwPpP/XR_3DA%202016-08-10%2023-25-10-59.jpg)\n\n![xrEngine 2016-08-04 22-19-02-44.jpg](https://steemitimages.com/DQmc5XA7XTZv8PrXyZKELCtNbvdd2HfNUHSRUeCPdbouzdF/xrEngine%202016-08-04%2022-19-02-44.jpg)\n\n![xrEngine 2016-08-14 21-03-39-76.jpg](https://steemitimages.com/DQmdsM7iWv6Xp4yV5wKJYfESxu47F6Kmrs3RaDzD5TsPJ4w/xrEngine%202016-08-14%2021-03-39-76.jpg)\n\n\n- JG Roos",
      "json_metadata": "{\"tags\":[\"blog\",\"gaming\",\"technology\",\"history\",\"development\"],\"image\":[\"https://steemitimages.com/DQmSyCBNKMuypu54bpZP2hPJKtFfKT2to6BcXadrPibHwNQ/stalker_tri.jpg\",\"https://steemitimages.com/DQmP87Ebhb3NrWLaoDW73dzkkC2L4BEJcEkgAZcuKAmsYQv/xrEngine%202016-08-04%2022-14-04-21.jpg\",\"https://steemitimages.com/DQmcfynD5Q5jmAdybyQ9jfy6dx59ccks5DoVYxgg2aZQESz/220px-Roadside-picnic-macmillan-cover.jpg\",\"https://steemitimages.com/DQmfR6Gh1DX5tabZoQhxrzqx8JxQwREFYxbfUvKws5KPDoG/220px-Stalker_poster.jpg\",\"https://steemitimages.com/DQmX6AcxJcWmDkWBCHyPzwMtUCnF919P2xL6iaH5UMt3Ba1/XR_3DA%202016-08-07%2015-23-14-48.jpg\",\"https://steemitimages.com/DQmS1wayTE7NmkmwNPRnEczq6m4iQjipK4XWmm6KNGsNzBs/XR_3DA%202016-08-09%2021-59-05-24.jpg\",\"https://steemitimages.com/DQmbLpHx9x9dVTMLRtjBfDQvaeF6qKXsE9AsydQmUMoSEWW/XR_3DA%202016-08-10%2023-30-19-54.jpg\",\"https://steemitimages.com/DQmRrs15tLKe3PoLhC5JAR74nkxnymdtsArNJ522ChqfhDs/xrEngine%202016-08-04%2022-26-59-97.jpg\",\"https://steemitimages.com/DQmaZownJx7xBqtMVU2YBaiVaW5VWMzvWcoKy24gR62npZj/soc%20map.png\",\"https://steemitimages.com/DQmS2itG5yUjk8DtobigsPzzSRRtW8wT7SJX9Wov8BXyaEM/xrEngine%202016-08-04%2021-56-41-25.jpg\",\"https://steemitimages.com/DQmejp3cSGhKsAxhGf9Y3waYUWb3d4dpP11ng82eMYESZsK/xrEngine%202016-08-04%2021-57-23-04.jpg\",\"https://steemitimages.com/DQmTuPELnXVjEAWrrg7xkGaQo8MTLBfMFWbfCJhLmBEAeTX/xrEngine%202016-08-04%2022-24-11-57.jpg\",\"https://steemitimages.com/DQmXswEJ4vtap6gD1oC1igrtzegtySzr7r1drFaGZXwdLci/xrEngine%202016-08-04%2021-13-03-73.jpg\",\"https://steemitimages.com/DQmSeSGYxJ1UcrbKfQjaNWrcz13yGGNfuT9nETkBWpnFLES/XR_3DA%202016-08-08%2000-39-27-47.jpg\",\"https://steemitimages.com/DQmQX5pd6ES3oRf1HcWpUUePbvmPgRH3MgrixnTNx769fuy/tumblr_n064ywvAnZ1qisuj3o1_500.png\",\"https://img.youtube.com/vi/XPl1MRKstG0/0.jpg\",\"https://steemitimages.com/DQmVoxTJ4ERan4Gf2qixVTCqU3NQsPNEzHdcoFn2ZiTDwRD/tumblr_inline_npqdupIGYZ1r9k0uq_540.jpg\",\"https://steemitimages.com/DQmfGEKTPK3hNQmTi21hfvGRLv6aLDiG8PwrsVjvH6YUssV/XR_3DA%202016-08-09%2021-56-11-74.jpg\",\"https://steemitimages.com/DQmYP22L9qTREmJQhy3fo3by6nt3VXGMQjJv21yxMBixw6j/METAL%20GEAR%20SOLID%20V_%20THE%20PHANTOM%20PAIN_20150908143600.jpg\",\"https://steemitimages.com/DQmS9GwfoCs3KXQCt9f5d7U7t6XsrFY5xKUb7pDi4K9ruvf/GTA-V-6.jpg\",\"https://steemitimages.com/DQmaMjc4g7fBV3sqW84tWdQoMPh3SDkMVu8TYC1rgYYpbJJ/xrEngine%202016-08-14%2021-19-48-63.jpg\",\"https://steemitimages.com/DQmSsaDMxUzqg5yHKhSB8QGi2ReNPSkWw8qqJYL94JfKQPL/1884164-april03_ragdoll_limbo.jpg\",\"https://steemitimages.com/DQmXn4dn1A2uFdic7ikCuTRGW5pSdQWz9s6vk92nehzDn8A/1884165-cs_militia0015.jpg\",\"https://steemitimages.com/DQmbT8QnRdUKUrtNfNpWAEuJr2xW7W8PUC5ZFLh2DW3oNqh/maxresdefault.jpg\",\"https://steemitimages.com/DQmTTqk6KvcmriYWtjGP14Ui4CkipcyZ6DknepZTj2F79qd/XR_3DA%202016-08-07%2015-28-10-93.jpg\",\"https://steemitimages.com/DQmYV5b7eG2pLQXahqpkbrj644Qhwa2SMBuUwcLcZCq279A/XR_3DA%202016-08-07%2015-26-51-63.jpg\",\"https://steemitimages.com/DQmW56V6cLq7jTX5BVHMyNFNmexn58wFscPbX8sJNjXdHHn/XR_3DA%202016-08-08%2000-20-55-78.jpg\",\"https://steemitimages.com/DQmVddC2Q1NYY8wxa3Kip3n62Yvw24t6DEe2LpJmH2RwG1U/XR_3DA%202016-08-08%2000-41-18-78.jpg\",\"https://steemitimages.com/DQme3KvJ2Jsz74pLmKsJLbd5wRyvrxt8y4PFwfADu9CgKA2/XR_3DA%202016-08-10%2023-10-20-54.jpg\",\"https://steemitimages.com/DQmXhbMCr1oUmuXDAjvDayDpXNV92r1pXaugBwgcaN2Q7oY/XR_3DA%202016-08-10%2022-52-06-53.jpg\",\"https://steemitimages.com/DQmQizzAwhYGoiWjYpWM94TQcrmXrtPY7g4vW6ub4gxwPpP/XR_3DA%202016-08-10%2023-25-10-59.jpg\",\"https://steemitimages.com/DQmc5XA7XTZv8PrXyZKELCtNbvdd2HfNUHSRUeCPdbouzdF/xrEngine%202016-08-04%2022-19-02-44.jpg\",\"https://steemitimages.com/DQmdsM7iWv6Xp4yV5wKJYfESxu47F6Kmrs3RaDzD5TsPJ4w/xrEngine%202016-08-14%2021-03-39-76.jpg\"],\"links\":[\"https://www.youtube.com/watch?v=XPl1MRKstG0\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
jgroosfollowed @rmp
2018/01/28 12:28:18
required auths[]
required posting auths["jgroos"]
idfollow
json["follow",{"follower":"jgroos","following":"rmp","what":["blog"]}]
Transaction InfoBlock #19373431/Trx a02e8e9c9ac17fe20063e47a4143179732d16d46
View Raw JSON Data
{
  "trx_id": "a02e8e9c9ac17fe20063e47a4143179732d16d46",
  "block": 19373431,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-28T12:28:18",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "jgroos"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jgroos\",\"following\":\"rmp\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/25 11:19:54
voterjgroos
authorsteemitboard
permlinksteemitboard-notify-jgroos-20180125t083644000z
weight10000 (100.00%)
Transaction InfoBlock #19285717/Trx 1c1d86559694e42914067d4a7575075daa95eeb5
View Raw JSON Data
{
  "trx_id": "1c1d86559694e42914067d4a7575075daa95eeb5",
  "block": 19285717,
  "trx_in_block": 61,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T11:19:54",
  "op": [
    "vote",
    {
      "voter": "jgroos",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-jgroos-20180125t083644000z",
      "weight": 10000
    }
  ]
}
2018/01/25 11:19:06
voterjgroos
authorshadowing
permlinkwhat-we-need-from-star-wars-part-4
weight10000 (100.00%)
Transaction InfoBlock #19285701/Trx b0ddab0e2b1883ec122311511f92820f496e056b
View Raw JSON Data
{
  "trx_id": "b0ddab0e2b1883ec122311511f92820f496e056b",
  "block": 19285701,
  "trx_in_block": 48,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T11:19:06",
  "op": [
    "vote",
    {
      "voter": "jgroos",
      "author": "shadowing",
      "permlink": "what-we-need-from-star-wars-part-4",
      "weight": 10000
    }
  ]
}
jgroosfollowed @zsh
2018/01/25 11:18:57
required auths[]
required posting auths["jgroos"]
idfollow
json["follow",{"follower":"jgroos","following":"zsh","what":["blog"]}]
Transaction InfoBlock #19285698/Trx baa0a95620134809de1f13351d475dd8bd758238
View Raw JSON Data
{
  "trx_id": "baa0a95620134809de1f13351d475dd8bd758238",
  "block": 19285698,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T11:18:57",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "jgroos"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jgroos\",\"following\":\"zsh\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/25 11:18:54
required auths[]
required posting auths["jgroos"]
idfollow
json["follow",{"follower":"jgroos","following":"cryptoriddler","what":["blog"]}]
Transaction InfoBlock #19285697/Trx 1c83e165494be06abe4f30e4dc245d0aec034693
View Raw JSON Data
{
  "trx_id": "1c83e165494be06abe4f30e4dc245d0aec034693",
  "block": 19285697,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T11:18:54",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "jgroos"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jgroos\",\"following\":\"cryptoriddler\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/25 08:36:42
parent authorjgroos
parent permlinkgame-development-prototype-1-free-download
authorsteemitboard
permlinksteemitboard-notify-jgroos-20180125t083644000z
title
bodyCongratulations @jgroos! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/firstvote.png)](http://steemitboard.com/@jgroos) You made your First Vote Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!
json metadata{"image":["https://steemitboard.com/img/notifications.png"]}
Transaction InfoBlock #19282455/Trx 8bd908795d7f605cd9dfdf932e8d28d1487f723e
View Raw JSON Data
{
  "trx_id": "8bd908795d7f605cd9dfdf932e8d28d1487f723e",
  "block": 19282455,
  "trx_in_block": 76,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T08:36:42",
  "op": [
    "comment",
    {
      "parent_author": "jgroos",
      "parent_permlink": "game-development-prototype-1-free-download",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-jgroos-20180125t083644000z",
      "title": "",
      "body": "Congratulations @jgroos! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/firstvote.png)](http://steemitboard.com/@jgroos) You made your First Vote\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}"
    }
  ]
}
2018/01/24 21:24:39
voterzsh
authorjgroos
permlinkgame-development-prototype-1-free-download
weight5400 (54.00%)
Transaction InfoBlock #19269018/Trx 76b55664afdc5828f4c7a9ed1e3881f0e75e25a9
View Raw JSON Data
{
  "trx_id": "76b55664afdc5828f4c7a9ed1e3881f0e75e25a9",
  "block": 19269018,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T21:24:39",
  "op": [
    "vote",
    {
      "voter": "zsh",
      "author": "jgroos",
      "permlink": "game-development-prototype-1-free-download",
      "weight": 5400
    }
  ]
}
2018/01/24 20:15:54
voterjgroos
authorshadowing
permlinkwhy-the-mcu-needs-agent-venom
weight10000 (100.00%)
Transaction InfoBlock #19267645/Trx fa43f997fbf90da4684e5e3f723ce85d54fd938d
View Raw JSON Data
{
  "trx_id": "fa43f997fbf90da4684e5e3f723ce85d54fd938d",
  "block": 19267645,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T20:15:54",
  "op": [
    "vote",
    {
      "voter": "jgroos",
      "author": "shadowing",
      "permlink": "why-the-mcu-needs-agent-venom",
      "weight": 10000
    }
  ]
}
2018/01/24 15:25:51
votershadowing
authorjgroos
permlinkgame-development-prototype-1-free-download
weight10000 (100.00%)
Transaction InfoBlock #19261845/Trx d09f26f437cdfe372c64aaf397792b7df8891ac6
View Raw JSON Data
{
  "trx_id": "d09f26f437cdfe372c64aaf397792b7df8891ac6",
  "block": 19261845,
  "trx_in_block": 45,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T15:25:51",
  "op": [
    "vote",
    {
      "voter": "shadowing",
      "author": "jgroos",
      "permlink": "game-development-prototype-1-free-download",
      "weight": 10000
    }
  ]
}
jgroosupdated their account properties
2018/01/24 13:44:30
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"profile_image":"https://f4.bcbits.com/img/0006054143_10.jpg","name":"JG Roos","location":"Durbanville, South Africa","about":"Gym, Music, Video Games and Scriptures","cover_image":"http://churchofchristarticles.com/blog/wp-content/uploads/2015/04/hebrew-bible-words.jpg"}}
Transaction InfoBlock #19259818/Trx 4b32a29194740cfac6b8e2441d5c6e448b353a1f
View Raw JSON Data
{
  "trx_id": "4b32a29194740cfac6b8e2441d5c6e448b353a1f",
  "block": 19259818,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T13:44:30",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://f4.bcbits.com/img/0006054143_10.jpg\",\"name\":\"JG Roos\",\"location\":\"Durbanville, South Africa\",\"about\":\"Gym, Music, Video Games and Scriptures\",\"cover_image\":\"http://churchofchristarticles.com/blog/wp-content/uploads/2015/04/hebrew-bible-words.jpg\"}}"
    }
  ]
}
2018/01/24 13:25:21
parent author
parent permlinkgamedevelopment
authorjgroos
permlinkgame-development-prototype-1-free-download
titleGame Development Prototype #1 (Free Download)
bodyAs my first posts will be just me going through some of the stuff I worked on over the years, I kind of thought of just showing and sharing what sort of video game prototypes I worked on up until now, usually made during my free time while I was still studying. These were experiments, mostly made in Unity, and were me trying to improve my programming and design skills. First up is a simple/silly project called Speed Runner. ![game1.jpg](https://steemitimages.com/DQmTmXgtqRsWd2wsP7fDQCDYs47Zusbd6Cunkg33ka9ARx4/game1.jpg) The concept is simple: Two minutes to reach the end of the level, otherwise it resets to the starting position. Seeing as it was one of the first games I made, it was coded in JavaScript (yuck I know). This is one of the more successful early endeavors, taking me 4 days to create and program. This is also the shortest project I've worked on. Admittedly the 80's/90's fever had struck me then as well, so I gave it a go. This is still probably my favorite project, as it was the only one that didn't give me a headache. I stopped because I didn't know what to do with it, where to go next, or what I was trying to achieve. It was kinda fun though. This was made in October 2015. Here's the download from Google Docs (19 Mb): https://docs.google.com/uc?export=download&id=0BxlBAamkABEpb2FIclVXV0xFMDA Here's the link to the song used in the game: https://newretrowave.bandcamp.com/track/the-entity
json metadata{"tags":["gamedevelopment","videogames","programming","freegame","prototype"],"image":["https://steemitimages.com/DQmTmXgtqRsWd2wsP7fDQCDYs47Zusbd6Cunkg33ka9ARx4/game1.jpg"],"links":["https://docs.google.com/uc?export=download&amp;id=0BxlBAamkABEpb2FIclVXV0xFMDA","https://newretrowave.bandcamp.com/track/the-entity"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19259435/Trx 33e90f8c841b46b6e88f19910cfa2e86c79c94df
View Raw JSON Data
{
  "trx_id": "33e90f8c841b46b6e88f19910cfa2e86c79c94df",
  "block": 19259435,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T13:25:21",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "gamedevelopment",
      "author": "jgroos",
      "permlink": "game-development-prototype-1-free-download",
      "title": "Game Development Prototype #1 (Free Download)",
      "body": "As my first posts will be just me going through some of the stuff I worked on over the years, I kind of thought of just showing and sharing what sort of video game prototypes I worked on up until now, usually made during my free time while I was still studying. These were experiments, mostly made in Unity, and were me trying to improve my programming and design skills. \n\nFirst up is a simple/silly project called Speed Runner. \n\n![game1.jpg](https://steemitimages.com/DQmTmXgtqRsWd2wsP7fDQCDYs47Zusbd6Cunkg33ka9ARx4/game1.jpg)\n\nThe concept is simple: Two minutes to reach the end of the level, otherwise it resets to the starting position. Seeing as it was one of the first games I made, it was coded in JavaScript (yuck I know). \n\nThis is one of the more successful early endeavors, taking me 4 days to create and program. This is also the shortest project I've worked on. Admittedly the 80's/90's fever had struck me then as well, so I gave it a go. This is still probably my favorite project, as it was the only one that didn't give me a headache. I stopped because I didn't know what to do with it, where to go next, or what I was trying to achieve. It was kinda fun though. This was made in October 2015.\n\nHere's the download from Google Docs (19 Mb):\nhttps://docs.google.com/uc?export=download&id=0BxlBAamkABEpb2FIclVXV0xFMDA\n\nHere's the link to the song used in the game:\nhttps://newretrowave.bandcamp.com/track/the-entity",
      "json_metadata": "{\"tags\":[\"gamedevelopment\",\"videogames\",\"programming\",\"freegame\",\"prototype\"],\"image\":[\"https://steemitimages.com/DQmTmXgtqRsWd2wsP7fDQCDYs47Zusbd6Cunkg33ka9ARx4/game1.jpg\"],\"links\":[\"https://docs.google.com/uc?export=download&amp;id=0BxlBAamkABEpb2FIclVXV0xFMDA\",\"https://newretrowave.bandcamp.com/track/the-entity\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
jgroosupdated their account properties
2018/01/24 13:06:18
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"profile_image":"https://f4.bcbits.com/img/0006054143_10.jpg","name":"JG Roos","location":"Durbanville, South Africa","about":"Gym, Music, Video Games and Scriptures"}}
Transaction InfoBlock #19259054/Trx c660b6c7a60a0e30cf35b8251e352c069f1b60fe
View Raw JSON Data
{
  "trx_id": "c660b6c7a60a0e30cf35b8251e352c069f1b60fe",
  "block": 19259054,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T13:06:18",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://f4.bcbits.com/img/0006054143_10.jpg\",\"name\":\"JG Roos\",\"location\":\"Durbanville, South Africa\",\"about\":\"Gym, Music, Video Games and Scriptures\"}}"
    }
  ]
}
jgroosupdated their account properties
2018/01/24 13:01:00
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"profile_image":"https://f4.bcbits.com/img/0006054143_10.jpg","name":"JG Roos","location":"Durbanville, South Africa"}}
Transaction InfoBlock #19258948/Trx a82309808b1ccc935982574a211f18a16b2e53d4
View Raw JSON Data
{
  "trx_id": "a82309808b1ccc935982574a211f18a16b2e53d4",
  "block": 19258948,
  "trx_in_block": 52,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T13:01:00",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://f4.bcbits.com/img/0006054143_10.jpg\",\"name\":\"JG Roos\",\"location\":\"Durbanville, South Africa\"}}"
    }
  ]
}
jgroosupdated their account properties
2018/01/24 13:00:09
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"profile_image":"https://f4.bcbits.com/img/0006054143_10.jpg","name":"JG Roos"}}
Transaction InfoBlock #19258931/Trx 5cfa2458c698f5db908c48867a3bab15fdd9e13a
View Raw JSON Data
{
  "trx_id": "5cfa2458c698f5db908c48867a3bab15fdd9e13a",
  "block": 19258931,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T13:00:09",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://f4.bcbits.com/img/0006054143_10.jpg\",\"name\":\"JG Roos\"}}"
    }
  ]
}
2018/01/24 12:59:21
required auths[]
required posting auths["jgroos"]
idfollow
json["follow",{"follower":"jgroos","following":"shadowing","what":["blog"]}]
Transaction InfoBlock #19258915/Trx 12342cf1b903b28628ecee86484f3dd7ae36386a
View Raw JSON Data
{
  "trx_id": "12342cf1b903b28628ecee86484f3dd7ae36386a",
  "block": 19258915,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T12:59:21",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "jgroos"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jgroos\",\"following\":\"shadowing\",\"what\":[\"blog\"]}]"
    }
  ]
}
jgroosupdated their account properties
2018/01/24 12:56:33
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"profile_image":"https://f4.bcbits.com/img/0006054143_10.jpg"}}
Transaction InfoBlock #19258859/Trx 4978f5628475f18aa2a58e5af29e77f106c8ccbd
View Raw JSON Data
{
  "trx_id": "4978f5628475f18aa2a58e5af29e77f106c8ccbd",
  "block": 19258859,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T12:56:33",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://f4.bcbits.com/img/0006054143_10.jpg\"}}"
    }
  ]
}
jgroosupdated their account properties
2018/01/24 12:55:33
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"profile_image":"https://scontent.fcpt4-1.fna.fbcdn.net/v/t1.0-1/p160x160/11011875_10203648808339078_5028077375201397421_n.jpg?oh=5564f45de5276673e23f0b3a72816d8a&oe=5B223192"}}
Transaction InfoBlock #19258839/Trx 8102a28107fc277698ad8d496faddff86756d5e4
View Raw JSON Data
{
  "trx_id": "8102a28107fc277698ad8d496faddff86756d5e4",
  "block": 19258839,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T12:55:33",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://scontent.fcpt4-1.fna.fbcdn.net/v/t1.0-1/p160x160/11011875_10203648808339078_5028077375201397421_n.jpg?oh=5564f45de5276673e23f0b3a72816d8a&oe=5B223192\"}}"
    }
  ]
}
jgroosupdated their account properties
2018/01/24 12:53:42
accountjgroos
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata{"profile":{"profile_image":"https://3.bp.blogspot.com/-4r2emnXsYjw/V5p1a47zWeI/AAAAAAAAAXw/YK0nsciJFk0ePBGujhTW-UFJlp6N77JnwCK4B/s200/Dads%2Ben%2Bek.png","name":"JG Roos","location":"Durbanville, South Africa"}}
Transaction InfoBlock #19258802/Trx f5c40d73d535fef3bbebfe5295b70deb1472ffb4
View Raw JSON Data
{
  "trx_id": "f5c40d73d535fef3bbebfe5295b70deb1472ffb4",
  "block": 19258802,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T12:53:42",
  "op": [
    "account_update",
    {
      "account": "jgroos",
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://3.bp.blogspot.com/-4r2emnXsYjw/V5p1a47zWeI/AAAAAAAAAXw/YK0nsciJFk0ePBGujhTW-UFJlp6N77JnwCK4B/s200/Dads%2Ben%2Bek.png\",\"name\":\"JG Roos\",\"location\":\"Durbanville, South Africa\"}}"
    }
  ]
}
steemcreated a new account: @jgroos
2018/01/24 11:19:36
fee0.500 STEEM
delegation29700.000000 VESTS
creatorsteem
new account namejgroos
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7jUC9WGiT91DH4UjB9KbPwG3FxmimurJmwsuGkfZsRDPLjKU6D",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7RQAgU57cHrZkU9UQ8UQHfTofn7CBipsL4Pa2nYYdz965pxLTM",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM4xTy9BboeJbEix6BYr5FGAkwAcQQ9yQCavxJgFQGKBc55J2no7",1]]}
memo keySTM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
json metadata
extensions[]
Transaction InfoBlock #19256920/Trx 093face51e7c15dca8ad48f720e4a7d3bebc7770
View Raw JSON Data
{
  "trx_id": "093face51e7c15dca8ad48f720e4a7d3bebc7770",
  "block": 19256920,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T11:19:36",
  "op": [
    "account_create_with_delegation",
    {
      "fee": "0.500 STEEM",
      "delegation": "29700.000000 VESTS",
      "creator": "steem",
      "new_account_name": "jgroos",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7jUC9WGiT91DH4UjB9KbPwG3FxmimurJmwsuGkfZsRDPLjKU6D",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7RQAgU57cHrZkU9UQ8UQHfTofn7CBipsL4Pa2nYYdz965pxLTM",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM4xTy9BboeJbEix6BYr5FGAkwAcQQ9yQCavxJgFQGKBc55J2no7",
            1
          ]
        ]
      },
      "memo_key": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez",
      "json_metadata": "",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"name":"Who cares"}
JSON METADATA
profile{"name":"Who cares"}
{
  "posting_json_metadata": {
    "profile": {
      "name": "Who cares"
    }
  },
  "json_metadata": {
    "profile": {
      "name": "Who cares"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM7jUC9WGiT91DH4UjB9KbPwG3FxmimurJmwsuGkfZsRDPLjKU6D1/1
Active
Single Signature
Public Keys
STM7RQAgU57cHrZkU9UQ8UQHfTofn7CBipsL4Pa2nYYdz965pxLTM1/1
Posting
Single Signature
Public Keys
STM4xTy9BboeJbEix6BYr5FGAkwAcQQ9yQCavxJgFQGKBc55J2no71/1
Memo
STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7jUC9WGiT91DH4UjB9KbPwG3FxmimurJmwsuGkfZsRDPLjKU6D",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7RQAgU57cHrZkU9UQ8UQHfTofn7CBipsL4Pa2nYYdz965pxLTM",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM4xTy9BboeJbEix6BYr5FGAkwAcQQ9yQCavxJgFQGKBc55J2no7",
        1
      ]
    ]
  },
  "memo": "STM6YMw64MHfwsuTRDmq5nqL4bDNkeGxsJsGNdmR1FiTLSADh8mez"
}

Witness Votes

0 / 30
No active witness votes.
[]