Live data from Hacker News

Amethyst: Data-driven game engine written in Rust

amethyst.rs

21–30 of 37 posts

Re: Amethyst: Data-driven game engine written in Rust

#21
post #4

What does "data-driven" mean in this context? And why are companies like DigitalOcean and Sentry sponsoring a game engine?

In the context of game engines, "data-driven" usually means that its behaviour (sometimes an entire game) can be built mostly by feeding it with data created by artists, level- and game-designers as opposed to a mostly "programmer-centric workflow". A very simplified example is building surface materials with a "noodle graph" (creating a "data processing graph" visually by connecting node outputs to node inputs) inst…

At first I thought that it's data-driven in the same sense that Lisp is. The concept describing Lisp's phenomenon is called Homoiconicity [0], or "code as data", but Homoiconicity means that "all code can be accessed and transformed as data, using the same representation". Emphasis mine. A lisp program could transform its own representation, because it's just a list of lists; but, a "noodle graph" programming system doesn't necessarily have the ability to parse its own structure; but I guess it could, all that is really needed is for the program to be treated as data, as in something the program itself could manipulate. I guess that's the meaning of data, something a program in question could potentially manipulate; and that's the difference between "data-driven" (or homoiconic) and code-as-code programming: the code-as-code program can't manipulate its structure as a first-class citizen.

I started out saying that a data-driven program isn't necessarily homoiconic, but I'm finishing with the realization that it is, they're synonyms. Also, I'll add that data-driven doesn't contrast with programmer-centric workflow, because it's still programming, that hasn't changed. The question is what you're programming with.

[0] https://en.wikipedia.org/wiki/Homoiconicity

Re: Amethyst: Data-driven game engine written in Rust

#22
post #20

Earlier quoted context omitted.

I don't like the gatekeeping "make games, not engines" attitude. People want to hack on projects that are interesting, and low-level game code is interesting. This isn't a case in which where people can get hurt or lose money if the project doesn't work, like Cryptocat or Mt. Gox or whatever. For a project like Amethyst, the worst thing that can happen is that we discover that certain techniques don't work well for g…

None of that invalidates the core issue that "trying to make a general purpose engine without a game is a BadIdea™" ("...if you want it to be used by other people" implied) is a pretty strong belief among experienced game developers. OTOH there's Unity, who never developed a large game themselves, only demos and samples.

> OTOH there's Unity, who never developed a large game themselves, only demos and samples.

Possibly to the engine's detriment (though a cottage industry of add-ons in the assert store has helped bridge the most serious gaps)

Re: Amethyst: Data-driven game engine written in Rust

#23
post #4

What does "data-driven" mean in this context? And why are companies like DigitalOcean and Sentry sponsoring a game engine?

More information on what we mean by that term can be found here: https://book.amethyst.rs/stable/glossary.html

If viewed as goals, we aren't quite there yet, but we're working on it. =)

Re: Amethyst: Data-driven game engine written in Rust

#24

Amethyst project very badly needs to eat their own dogfood and make some non-trivial games. I have serious doubts this project will be used for anything interesting. The projects using it so far all look really really bad. I think the project is doing a lot interesting things. But I think trying to make a general purpose engine without a game is a BadIdea™. Source: have shipped multiple games on multiple custom engin…

Maybe it's just lack of good designers/artists, not a code quality issue.

We do suffer from a bit of a dearth of artists/modelers. We recently had one join who is doing a lot of nice work to the editor UI.

There's a few of us who have quite a bit of experience in the gaming industry and with game design, both from working at studios and game engine companies. We could definitely use more, if anyone is interested. =)

Re: Amethyst: Data-driven game engine written in Rust

#25

Amethyst project very badly needs to eat their own dogfood and make some non-trivial games. I have serious doubts this project will be used for anything interesting. The projects using it so far all look really really bad. I think the project is doing a lot interesting things. But I think trying to make a general purpose engine without a game is a BadIdea™. Source: have shipped multiple games on multiple custom engin…

> Source: have shipped multiple games on multiple custom engines

Nice! Which games? We'd certainly welcome more feedback from experienced game devs and engine devs on what they want in a game engine.

Re: Amethyst: Data-driven game engine written in Rust

#26

Amethyst project very badly needs to eat their own dogfood and make some non-trivial games. I have serious doubts this project will be used for anything interesting. The projects using it so far all look really really bad. I think the project is doing a lot interesting things. But I think trying to make a general purpose engine without a game is a BadIdea™. Source: have shipped multiple games on multiple custom engin…

I don't like the gatekeeping "make games, not engines" attitude. People want to hack on projects that are interesting, and low-level game code is interesting. This isn't a case in which where people can get hurt or lose money if the project doesn't work, like Cryptocat or Mt. Gox or whatever. For a project like Amethyst, the worst thing that can happen is that we discover that certain techniques don't work well for g…

I 1000% support people hacking on things to learn.

But I don’t think Amethyst is a “just to learn” thing. They setup an actual foundation. There are sponsors. A lot of work has gone into a website and documentation. There is community outreach.

I really dislike the negativity of the internet. I don’t want to be a negative Nancy. I want Amethyst to succeed and be a useful tool in the Rust gaming ecosystem.

But right now I’m not seeing a path to that. I don’t think the engine makers need to switch focus to shipping an actual game. But I do think they need to clone a bunch of existing games with their engine to find the weak points.

Show me a page with Amethyst clones of Pong, PacMan, Super Mario, Doom, Warcraft 1, Quake 2, etc. Not complete games of course. But sufficient to convince me that a full clone could conceivably be made.

Re: Amethyst: Data-driven game engine written in Rust

#27
post #18

Earlier quoted context omitted.

I'm not sure what you mean, I'm afraid. They actively support us by discussing our needs and figuring out how they can best support us. They've each specifically asked to have their names and logos associated with our project. Perhaps if you can reframe your question I can better answer?

Thanks, the answer my confusion. Very cool! I saw other projects say they were 'supported' by some things when in reality they simple used free stuff.

Sure, no problem. To be fair, we take all the free stuff we can get, as we are almost entirely community funded and volunteer driven.

In terms of straight cash support, Mozilla recently gave us a grant to work on WASM-related things.

Re: Amethyst: Data-driven game engine written in Rust

#28

Earlier quoted context omitted.

I don't like the gatekeeping "make games, not engines" attitude. People want to hack on projects that are interesting, and low-level game code is interesting. This isn't a case in which where people can get hurt or lose money if the project doesn't work, like Cryptocat or Mt. Gox or whatever. For a project like Amethyst, the worst thing that can happen is that we discover that certain techniques don't work well for g…

I 1000% support people hacking on things to learn. But I don’t think Amethyst is a “just to learn” thing. They setup an actual foundation. There are sponsors. A lot of work has gone into a website and documentation. There is community outreach. I really dislike the negativity of the internet. I don’t want to be a negative Nancy. I want Amethyst to succeed and be a useful tool in the Rust gaming ecosystem. But right n…

Our book includes a Pong tutorial. =)

Re: Amethyst: Data-driven game engine written in Rust

#29

Earlier quoted context omitted.

I don't like the gatekeeping "make games, not engines" attitude. People want to hack on projects that are interesting, and low-level game code is interesting. This isn't a case in which where people can get hurt or lose money if the project doesn't work, like Cryptocat or Mt. Gox or whatever. For a project like Amethyst, the worst thing that can happen is that we discover that certain techniques don't work well for g…

It really rubs me the wrong way when I see comments like parent telling people what they should do with their open source projects. However, as a game developer, using an engine without some substantial dogfooding (or orders of magnitude more use by third parties, ala Unity) is simply a bad idea. I have done it multiple times and each time it's burnt me. If you were trying to sell this as a commercial product, I'd be…

>However, as a game developer, using an engine without some substantial dogfooding (or orders of magnitude more use by third parties, ala Unity) is simply a bad idea. I have done it multiple times and each time it's burnt me.

Definitely don't bet your company/livelihood on an experimental tech. I will say that as a general philosophy, we are far more concerned about correctness and stability over rushing to get a product out to satisfy investors. Not having to try to convince people to buy an unfinished product to satisfy investors is one of the advantages of being a non-profit.

We'll get to the point of being production quality, will just take some time.

Re: Amethyst: Data-driven game engine written in Rust

#30
post #4

What does "data-driven" mean in this context? And why are companies like DigitalOcean and Sentry sponsoring a game engine?

More information on what we mean by that term can be found here: https://book.amethyst.rs/stable/glossary.html If viewed as goals, we aren't quite there yet, but we're working on it. =)

Generally the mentioned tools, particularly an editor of some sort in the style of the Unity or Unreal editors, are an important component of a data driven game engine. I didn't see anything skimming over the site about an editor. Is that part of the plan?
Post reply on HN