www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Atrium - 3D game written in D

reply Timur Gafarov <gecko0307 gmail.com> writes:
Atrium (code name) is a work-in-progress science fiction game with 
physics based puzzles (gravity effects, force fields, etc) akin to 
Portal or Inverto. The game is fully written in D, it uses custom 
graphics engine based on OpenGL and SDL. Physics engine is also written 
from scratch.

Source code:
https://github.com/gecko0307/atrium

IndieDB page:
http://www.indiedb.com/games/atrium

A precompiled demo for Windows:
https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Nov 06 2015
next sibling parent reply stewart <growlercab gmail.com> writes:
On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game 
 with physics based puzzles (gravity effects, force fields, etc) 
 akin to Portal or Inverto. The game is fully written in D, it 
 uses custom graphics engine based on OpenGL and SDL. Physics 
 engine is also written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Great looking game, nice work. Are there any plans to distribute the GUI/Gfx and physics components as separate libraries? Stew
Nov 06 2015
parent Timur Gafarov <gecko0307 gmail.com> writes:
06.11.2015 12:29, stewart пишет:
 On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game with
 physics based puzzles (gravity effects, force fields, etc) akin to
 Portal or Inverto. The game is fully written in D, it uses custom
 graphics engine based on OpenGL and SDL. Physics engine is also
 written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Great looking game, nice work. Are there any plans to distribute the GUI/Gfx and physics components as separate libraries? Stew
They already exist as separate libs: https://github.com/gecko0307/dmech https://github.com/gecko0307/dgl DGL (graphics engine) is currently falling behind from the game and may contain bugs, but I eventually update it.
Nov 06 2015
prev sibling next sibling parent FreeSlave <freeslave93 gmail.com> writes:
On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game 
 with physics based puzzles (gravity effects, force fields, etc) 
 akin to Portal or Inverto. The game is fully written in D, it 
 uses custom graphics engine based on OpenGL and SDL. Physics 
 engine is also written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
I visit your blog time to time and sometimes download demo. Really glad to see improvements. Definitely will wait for the release to play. Did not know about Inverto, should check it out too.
Nov 06 2015
prev sibling next sibling parent Abdulhaq <alynch4047 gmail.com> writes:
On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game 
 with physics based puzzles (gravity effects, force fields, etc) 
 akin to Portal or Inverto. The game is fully written in D, it 
 uses custom graphics engine based on OpenGL and SDL. Physics 
 engine is also written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
It looks good and the physics simulation seems to work really well, congratulations.
Nov 06 2015
prev sibling next sibling parent Joakim <dlang joakim.fea.st> writes:
On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game 
 with physics based puzzles (gravity effects, force fields, etc) 
 akin to Portal or Inverto. The game is fully written in D, it 
 uses custom graphics engine based on OpenGL and SDL. Physics 
 engine is also written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Nice, graphics and physics look impressive in the demo video. If you ever want to try and get it on Android, let me know if I can help. I'll have a build of the ldc cross-compiler up for download in an hour, will be announcing it soon.
Nov 06 2015
prev sibling next sibling parent reply NVolcz <niklas.volcz gmail.com> writes:
On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game 
 with physics based puzzles (gravity effects, force fields, etc) 
 akin to Portal or Inverto. The game is fully written in D, it 
 uses custom graphics engine based on OpenGL and SDL. Physics 
 engine is also written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Very cool! How have it been to work with the GC? Reddit it! Maybe with an writeup?
Nov 06 2015
parent reply Timur Gafarov <gecko0307 gmail.com> writes:
06.11.2015 13:51, NVolcz пишет:
 On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game with
 physics based puzzles (gravity effects, force fields, etc) akin to
 Portal or Inverto. The game is fully written in D, it uses custom
 graphics engine based on OpenGL and SDL. Physics engine is also
 written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Very cool! How have it been to work with the GC? Reddit it! Maybe with an writeup?
I tried to fully avoid GC, using my own malloc-based allocator. This lead to the fact that the code is not very D-ish, but it proves that there's perfectly possible to write real-world GC-free applications in D.
Nov 06 2015
next sibling parent tired_eyes <pastuhov85 gmail.com> writes:
On Friday, 6 November 2015 at 10:58:24 UTC, Timur Gafarov wrote:
 06.11.2015 13:51, NVolcz пишет:
 On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov 
 wrote:
[...]
Very cool! How have it been to work with the GC? Reddit it! Maybe with an writeup?
I tried to fully avoid GC, using my own malloc-based allocator. This lead to the fact that the code is not very D-ish, but it proves that there's perfectly possible to write real-world GC-free applications in D.
On Friday, 6 November 2015 at 10:58:24 UTC, Timur Gafarov wrote: Kickstarter awaits! Glad to see you here.
Nov 06 2015
prev sibling parent MrSmith <mrsmith33 yandex.ru> writes:
Would be nice to have demos avaliable on github
Nov 06 2015
prev sibling next sibling parent reply Andrea Fontana <nospam example.com> writes:
On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game 
 with physics based puzzles (gravity effects, force fields, etc) 
 akin to Portal or Inverto. The game is fully written in D, it 
 uses custom graphics engine based on OpenGL and SDL. Physics 
 engine is also written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Any demo for linux too?
Nov 06 2015
parent Timur Gafarov <gecko0307 gmail.com> writes:
06.11.2015 13:51, Andrea Fontana пишет:
 On Friday, 6 November 2015 at 09:04:05 UTC, Timur Gafarov wrote:
 Atrium (code name) is a work-in-progress science fiction game with
 physics based puzzles (gravity effects, force fields, etc) akin to
 Portal or Inverto. The game is fully written in D, it uses custom
 graphics engine based on OpenGL and SDL. Physics engine is also
 written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
Any demo for linux too?
Linux demo will be available very soon.
Nov 06 2015
prev sibling parent reply Manuel =?UTF-8?B?S8O2bmln?= <manuelk89 gmx.net> writes:
Am Fri, 6 Nov 2015 12:04:03 +0300
schrieb Timur Gafarov <gecko0307 gmail.com>:

 Atrium (code name) is a work-in-progress science fiction game with 
 physics based puzzles (gravity effects, force fields, etc) akin to 
 Portal or Inverto. The game is fully written in D, it uses custom 
 graphics engine based on OpenGL and SDL. Physics engine is also
 written from scratch.
 
 Source code:
 https://github.com/gecko0307/atrium
 
 IndieDB page:
 http://www.indiedb.com/games/atrium
 
 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
This looks very nice, congrats! I'm especially interested in the physics and character controller part, because I'm currently developing a character controller myself, but just a sphere character in a static triangle world for now. Finding a robust and fast sliding algorithm for sliding a sphere along triangles in a given direction seems to be the hardest part. I'm investigating two approaches, which can be simplified to: 1) move until we hit any geometry, compute new slide direction, repeat 2) move first, then project the character out of the world geometry Both approaches work reasonably well, but there are scenarios where they don't work so well (mostly pathetic scenarios). I'll definitely look how you solved the problem and maybe tinker with your physics code :)
Nov 07 2015
parent Timur Gafarov <gecko0307 gmail.com> writes:
07.11.2015 21:17, Manuel König пишет:
 Am Fri, 6 Nov 2015 12:04:03 +0300
 schrieb Timur Gafarov <gecko0307 gmail.com>:

 Atrium (code name) is a work-in-progress science fiction game with
 physics based puzzles (gravity effects, force fields, etc) akin to
 Portal or Inverto. The game is fully written in D, it uses custom
 graphics engine based on OpenGL and SDL. Physics engine is also
 written from scratch.

 Source code:
 https://github.com/gecko0307/atrium

 IndieDB page:
 http://www.indiedb.com/games/atrium

 A precompiled demo for Windows:
 https://www.dropbox.com/s/qh8gai2n94qe8jj/atrium-testbuild-051115.zip?dl=0
This looks very nice, congrats! I'm especially interested in the physics and character controller part, because I'm currently developing a character controller myself, but just a sphere character in a static triangle world for now. Finding a robust and fast sliding algorithm for sliding a sphere along triangles in a given direction seems to be the hardest part. I'm investigating two approaches, which can be simplified to: 1) move until we hit any geometry, compute new slide direction, repeat 2) move first, then project the character out of the world geometry Both approaches work reasonably well, but there are scenarios where they don't work so well (mostly pathetic scenarios). I'll definitely look how you solved the problem and maybe tinker with your physics code :)
I took rather idiomatic approach: move, detect collisions, generate contact points, then solve them iteratively. Sliding is obtained somewhat automatically.
Nov 08 2015