Try this
DECLARE @TBL TABLE
(
ID INT IDENTITY,
REPORTDATE DATETIME,
GAMENAME VARCHAR(50),
TOTAL INT
)
INSERT INTO @TBL (REPORTDATE, GAMENAME, TOTAL)
SELECT '2015-09-05', 'Ninja Runner', 2000 UNION ALL
SELECT '2015-09-05', 'ZigZag', 1500 UNION ALL
SELECT '2015-09-05', 'Sky Force', 8000 UNION ALL
SELECT '2015-09-06', 'ZigZag', 300 UNION ALL
SELECT '2015-09-06', 'Sky Force', 2500 UNION ALL
SELECT '2015-09-07', 'Ninja Runner', 700 UNION ALL
SELECT '2015-09-07', 'Sky Force', 1000 UNION ALL
SELECT '2015-09-08', 'ZigZag', 10000
SELECT TMP.REPORTDATE, TMP.GAMENAME, ISNULL(T.TOTAL, 0)
FROM
(
SELECT distinct GAMENAME, A.REPORTDATE
FROM @TBL
CROSS JOIN
(
SELECT '2015-09-03' as 'REPORTDATE' UNION ALL
SELECT '2015-09-04' UNION ALL
SELECT '2015-09-05' UNION ALL
SELECT '2015-09-06' UNION ALL
SELECT '2015-09-07' UNION ALL
SELECT '2015-09-08'
) A
) TMP LEFT OUTER JOIN @TBL T ON TMP.GAMENAME = T.GAMENAME AND TMP.REPORTDATE = T.REPORTDATE
order by 1, 2