Torque3D/index.html
2015-02-08 21:49:58 +11:00

248 lines
8.2 KiB
HTML

---
layout: default
title: Torque 3D
root: .
---
<div class="jumbotron banner">
<div class="container">
<div class="row">
<div class="col-sm-4">
<img id="torque-logo" src="{{page.root}}/img/torque.png"></img>
</div>
<div class="col-sm-8">
<h1 class="title">Torque 3D</h1>
<p>The premier open-source game engine.</p>
</div>
</div>
</div>
</div>
<div class="break"></div>
<div class="container">
<div class="row">
<div class="col-sm-4">
<h2>Proven tech</h2>
<p>
Torque has been around for a while, and it's been used for everything
from driving simulators to MMOs to interactive coral reefs. Still
not convinced?
</p>
<center>
<a class="btn btn-default" href="{{page.root}}/engine">
See some games
<i class="fa fa-angle-right"></i>
</a>
</center>
</div>
<div class="col-sm-4">
<h2>Gratis et libre</h2>
<p>
When you get Torque, you get everything. Under the permissive MIT
open-source license, you can do what you want with the source code.
</p>
<center>
<a class="btn btn-default" href="{{page.root}}/start">
Download it now
<i class="fa fa-angle-right"></i>
</a>
</center>
</div>
<div class="col-sm-4">
<h2>Always evolving</h2>
<p>
Torque is being constantly developed by an enthusiastic community.
Its future is in <em>our</em> hands, not those of a company with a
bottom line to meet.
</p>
<center>
<a class="btn btn-default" href="{{page.root}}/contribute">
Get involved
<i class="fa fa-angle-right"></i>
</a>
</center>
</div>
</div>
</div>
<div class="break"></div>
<div class="container">
<div class="row">
<div class="col-sm-4">
<h2 class="status">Recent news</h2>
<div id="recent-news">Loading news...</div>
<a class="pull-right" href="http://forums.torque3d.org/viewforum.php?f=15">See all <i class="fa fa-angle-right"></i></a>
</div>
<div class="col-sm-4">
<h2 class="status">Activity</h2>
<p id="activity-loading">Loading activity...</p>
</div>
<div class="col-sm-4">
<h2>Quick links</h2>
<ul id="quick-links">
<li><a href="https://github.com/GarageGames/Torque3D/issues/new">Report an issue</a></li>
<li><a href="https://github.com/GarageGames/Torque3D/issues?labels=Final+review">Changes for final review</a></li>
<li><a href="http://garagegames.uservoice.com/forums/178972-torque-3d-mit/filters/top">Feature requests</a></li>
<li><a href="http://t3dci.org">Builds and CI</a></li>
</ul>
</div>
</div>
</div>
<script type="text/javascript" src="{{page.root}}/js/jquery.cycle.all.js"></script>
<script type="text/javascript" src="{{page.root}}/js/jquery.timeago.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var images = {
1: 'Deadly Matter by Studio Dim Sum',
2: 'Airship Dragoon by YorkshireRifles',
3: 'Deadly Matter by Studio Dim Sum',
4: 'Life is Feudal',
5: 'Frozen Endzone by Mode 7',
6: 'The Reef by QUT',
7: 'Grim Prospects',
8: 'Grim Prospects',
9: 'BeamNG.drive by BeamNG',
12: 'Villagers and Heroes by Mad Otter Games',
13: 'Villagers and Heroes by Mad Otter Games',
14: 'Villagers and Heroes by Mad Otter Games',
15: 'Tower Wars by SuperVillain Studios',
16: 'Tower Wars by SuperVillain Studios',
17: 'Tower Wars by SuperVillain Studios',
18: 'Life is Feudal',
19: 'Chinatown (demo) by GarageGames',
20: 'Deathball Desert (demo) by GarageGames',
21: 'Deathball Desert (demo) by GarageGames',
22: 'Mars (demo) by GarageGames',
23: 'Airship Dragoon by YorkshireRifles',
24: 'Airship Dragoon by YorkshireRifles',
25: 'Frozen Endzone by Mode 7',
26: 'Frozen Endzone by Mode 7',
29: 'Dark Horizons: Mechanized Corps by Max Gaming Technologies',
30: 'Dark Horizons: Mechanized Corps by Max Gaming Technologies',
31: 'Dark Horizons: Mechanized Corps by Max Gaming Technologies',
32: 'Age of Decadence by Iron Tower Studio',
33: 'Age of Decadence by Iron Tower Studio',
34: 'Age of Decadence by Iron Tower Studio',
35: 'BeamNG.drive by BeamNG',
};
function shuffle(o) {
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
}
// TODO: ensure no duplicate images occur.
function createBreaks() {
var breaks = $('div.break');
var delay = 0;
breaks.each(function(i) {
// Shuffle the list of pictures that will appear in each break.
var ids = shuffle(Object.keys(images));
for(var i = 0; i < ids.length; i++) {
$(this).append($('<img>')
.attr('width', '760px')
.attr('height', '144px')
.attr('src', '{{page.root}}/img/banner'+ids[i]+'.jpg')
.attr('title', images[ids[i]]));
}
$(this).cycle({fx: 'fade', delay: delay});
delay += 5000 / breaks.length;
});
};
createBreaks();
getFeed('https://github.com/GarageGames/Torque3D/commits/development.atom', 2)
.done(function (data) {
if(data.responseData.feed && data.responseData.feed.entries) {
var list = $('<ul/>').addClass('list-unstyled');
$.each(data.responseData.feed.entries, function (i, e) {
var li = $('<li/>').addClass('commit').appendTo(list);
var hash = e.link.split('/').pop().substr(0, 6);
var content = e.contentSnippet.split('\n').pop();
var contentel = $('<p/>').text(content).appendTo(li);
var hashel = $('<pre/>').addClass('inline').prependTo(contentel);
hashel.append($('<a/>')
.text(hash)
.attr('href', e.link)
.attr('target', '_blank'));
var d = new Date(e.publishedDate);
var stamp = $('<span/>').addClass('timeago').text('by ' + e.author + ' ').appendTo(li);
stamp.append($('<span/>')
.attr('title', d.toISOString())
.timeago());
});
$('#activity-loading').replaceWith(list);
}
})
getFeed('http://forums.torque3d.org/feed.php?mode=news', 3)
.done(function(data) {
if(data.responseData.feed && data.responseData.feed.entries) {
var news = $('#recent-news');
$.each(data.responseData.feed.entries, function (i, e) {
news.html('');
news.append($('<h5/>')
.append($('<a/>')
.attr('href', e.link)
.html(e.title)
)
);
var d = new Date(e.publishedDate);
var stamp = $('<span/>').addClass('timeago').text('by ' + e.author + ' ').appendTo(news);
stamp.append($('<span/>')
.attr('title', d.toISOString())
.timeago());
news.append($('<p/>').html(e.contentSnippet + ' ')
.append($('<a/>')
.attr('href', e.link)
.html('Read more')
)
);
});
}
});
$.get('http://api.github.com/repos/GarageGames/Torque3D/releases')
.done(function(releases) {
var latest = releases[0];
$('<li/>').append($('<a/>')
.attr('href', latest.html_url)
.html('Version ' + latest.name)
).prependTo('#quick-links');
})
.fail(function() {
$('#current-version').html('error');
});
// Get a feed through the Google feeds API with hourly caching.
function getFeed(feed, numResults) {
var now = new Date();
var googleAPI = document.location.protocol +
'//ajax.googleapis.com/ajax/services/feed/load?' +
'v=1.0' +
'&dailycache=' + [now.getUTCDate(), now.getUTCMonth(), now.getUTCFullYear()].join('-') +
'&num=' + numResults +
'&callback=?&q=';
var url = googleAPI + encodeURIComponent(feed);
return $.ajax({
url: url,
dataType: 'json'
});
}
});
</script>