mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
219 lines
7.4 KiB
HTML
219 lines
7.4 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</h2>
|
|
<p>
|
|
Torque has been around for a while, and it's been used for everything
|
|
from interactive coral reefs to MMOs to driving simulators.
|
|
</p>
|
|
<a href="{{page.root}}/engine">Games made with Torque <i class="fa fa-angle-right"></i></a>
|
|
</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>
|
|
<a href="{{page.root}}/start">Download it now <i class="fa fa-angle-right"></i></a>
|
|
</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>your</em> hands, not those of a company with a
|
|
bottom line to meet.
|
|
</p>
|
|
<a href="{{page.root}}/contribute">Get involved <i class="fa fa-angle-right"></i></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="break"></div>
|
|
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-sm-4">
|
|
<h2 class="status">Activity</h2>
|
|
<p id="activity-loading">Loading activity...</p>
|
|
</div>
|
|
|
|
<div class="col-sm-4">
|
|
<h2 class="status">Status</h2>
|
|
<table class="borderless table">
|
|
<tr>
|
|
<td>Continuous</td>
|
|
<td><img src="http://builds.garagegames.com/app/rest/builds/buildType:(id:bt79)/statusIcon"></img></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Release</td>
|
|
<td><img src="http://builds.garagegames.com/app/rest/builds/buildType:(id:bt78)/statusIcon"></img></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="col-sm-4">
|
|
<h2>Issues</h2>
|
|
<ul>
|
|
<li><a href="https://github.com/GarageGames/Torque3D/issues/new">Report an issue</a></li>
|
|
<li><a href="https://github.com/GarageGames/Torque3D/issues?milestone=2">Issues for next milestone</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>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% if site.posts != empty %}
|
|
<div class="break"></div>
|
|
|
|
<div class="container">
|
|
<div class="imgbanner row">
|
|
<div class="col-sm-12">
|
|
<img src="{{page.root}}/img/banner1.jpg"></img>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<h2>Recent news</h2>
|
|
|
|
{% for post in site.posts limit:3 %}
|
|
<span class="date">{{post.date | date_to_string}}</span>
|
|
<a href="{{page.root}}{{post.url}}"><span class="post-title">{{post.title}}</span></a>
|
|
<p>{{ post.content | strip_html | truncatewords: 40 }}</p>
|
|
{% endfor %}
|
|
|
|
<a class="pull-right" href="{{page.root}}/news">See all <i class="fa fa-angle-right"></i></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<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 YorkshireRifes',
|
|
3: 'Deadly Matter by Studio Dim Sum',
|
|
4: 'Life is Feudal',
|
|
5: 'Frozen Endzone by Mode 7',
|
|
6: 'The Reef by QUT',
|
|
7: 'By Felix Westin',
|
|
8: 'By Felix Westin',
|
|
9: 'BeamNG.drive by BeamNG',
|
|
10: 'Re-Spawn by Gobbo Games',
|
|
11: 'Blood & Mana',
|
|
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 YorkshireRifes',
|
|
24: 'Airship Dragoon by YorkshireRifes',
|
|
25: 'Frozen Endzone by Mode 7',
|
|
26: 'Frozen Endzone by Mode 7',
|
|
27: 'Re-Spawn by Gobbo Games',
|
|
28: 'Blood & Mana',
|
|
};
|
|
|
|
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();
|
|
|
|
var numResults = 2;
|
|
var feed = 'https://github.com/GarageGames/Torque3D/commits/development.atom';
|
|
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);
|
|
$.ajax({
|
|
url: url,
|
|
dataType: 'json',
|
|
success: 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/>').appendTo(list);
|
|
var hash = e.link.split('/').pop().substr(0, 6);
|
|
var hashel = $('<pre/>').addClass('inline').appendTo(li);
|
|
hashel.append($('<a/>')
|
|
.text(hash)
|
|
.attr('href', e.link)
|
|
.attr('target', '_blank'));
|
|
|
|
var content = e.contentSnippet.split('\n').pop();
|
|
li.append($('<span/>')
|
|
.addClass('commit')
|
|
.text(content));
|
|
|
|
var d = new Date(e.publishedDate);
|
|
var stamp = $('<p/>').addClass('timeago').text('by ' + e.author + ' ').appendTo(li);
|
|
stamp.append($('<span/>')
|
|
.attr('title', d.toISOString())
|
|
.timeago());
|
|
});
|
|
$('#activity-loading').replaceWith(list);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
</script>
|