Welcome, say hello!

Introduce yourself to the community! Tell us a little about who you are, what you do and why you’re here. Maybe you have a cool project you have worked on before that is related to Amethyst or game development in some way. Perhaps your plan is to create a life simulator with Amethyst utilizing the power of entity component systems. Anything goes pretty much as long as you’re being nice and respectful of course. :wink:

Welcome to the world of Amethyst! :heart:


Hi, my name is Dustin and i am a software engineer located in Berlin, Germany. Game development or specifically 3D engine (programming) was the very reason that got me into programming and set the pathway to my current career. i’ve never really pursued a career in this field after my initial excitement but it was always a thing i was interested in and that i dedicated some of my free time to play around with it.

In my early years i was always interested in how things are working in that box called a PC. And in like the 7th grade i really got interested in how the games i was playing actually work and how these things are created. I remember a moment i was in the store looking for some new games (and yes this was how the kids in 1998 collected their games, steam did not exist :smiley: ) i found a random (Game-Creation-Kit) [unfortunately i can’t remember the name to thank/credit its developers]. This was the time Half-Life, Unreal, Rainbow-Six (the first one) … etc. came out and i really want to know how these works and how to make something like this.

This Game-Creation-Kit was a basic engine with editor but hid away its programming part in the early stages of the “tutorial”. So in the first time i was just using the editor, setting up geometry, textures and triggers with simple animation functions and i was pretty much sold. But early on i ran into problems and limitations that really got me thinking there needs to be more. In fact it does and there was also a programming language (i don’t thinks it anything that we know today and i would guess it was specifically for this engine) that you could use to describe the scene and make pretty much anything you could imagine. And this was the starting point i really go into programming, running to the local library (yes that’s how kids consumed information back then) and picked some random programming books.

Unfortunately the first book i picked was a Visual Basic one. So i started with it and build some pretty boring Forms :smiley: … it was basically a book about how to build boring municipal office interfaces for like car registrations :smiley: … but i found a way to draw pixels on a canvas and i really wasted a lot of time writing little games with setPixel functions and having controls based on VB GUIs .

After that i found out that the Game-Creation-Kit had an interface to a programming language called C++ and things really went up after this discovery. I started learning C++ and found my way to engines like Irrlicht and Ogre3D and i spend a long time with these and had a great amount of fun with them. At this time i was clear about the fact that i want to be a programmer. So i choose a Senior High equivalent over here that is targeted for IT people where i had my first programming classes that where really boring :smiley: … in my Java class where we’re supposed to write a database frontend i just did a 3D Game that was backed by the said database … characters (location, state etc.) and dialog came out of the database. This was a pretty cool project now that i remember. The teachers where not really amazed because i missed the part in which i had to create boring Java Swing Forms for municipal car registrations :smiley: but i got my A grade because of the technical difficulty. Things got pretty straight forward to University etc. but i always choose to spend some time writing engine code and playing around with 3D stuff.

I always try to learn different languages and try to build something 3D with it. The last bigger thing was a simple 3D-Engine in the D programming language


and some little software renderer for redox .

Unfortunately i have not much time to spend on that hobby and so i dropped D completely but i hope i can channel my new Rust enthusiasm in more 3D things and i try to invest some time playing around with Amethyst


Hey all :wave: My name is Erlend Sogge Heggen. I’ve moved around a lot but these days I’m living in Oslo, Norway. I work for MeiliSearch doing Open Source Strategy.

When I got a job at Discourse (eventually as VP of Community) 3 years ago I put most of my game dev sidegigs on hold, but I couldn’t keep myself from giving the occasional unsolicited advice.

My experience with game development can be summed up in a few beats:

Got into game development through Warcraft 3 mods. Doing design work, QA and community management I helped a gifted programmer develop a mod called Isles at War. We had so much fun working together that we ended up attempting-and-failing to make a series of stand-alone games, eventually leading us to work on general game tech instead of the games themselves.

Did a 7 year stretch as the manager of jMonkeyEngine, a 5-10 persons (in core team) project. At the end of my tenure with jME, I did some self-examining:

While some of my thinking has since changed, I still maintain that open source will “eat up” game development, just like it has eaten most of web development already. More on that another time.

Studied game design at Vancouver Film School. Very useful but also a highly unnecessarily stressful experience.

Worked for a year for the Norwegian-French game company WeWantToKnow. Mostly did management and community work but I got involved with the design process whenever I could. Playtesting our games with hundreds of kids was a deeply instructive experience.

Started moving the Rust community towards a Working Group for Game Development.

On a personal note, I’d like to explain what excites me most about Rust. As a non-programmer I can only measure its technical merits in the number of projects that I see having success with it, but it’s the leadership’s focus on community that really excites me more than anything else. I’ve never before seen a major open source project (especially a programming language) be so obsessed with actually maintaining a culture of positivity and constructive dialogue. The team is also very transparent and accessible.

I co-led the Java game engine jMonkeyEngine for 7 years. With Java there was this huge divide between the language developers and the library developers. In Rust many of the low level graphics libraries that this fledgling gamedev ecosystem is growing on top of are maintained by developers from Rust core and/or Mozilla.

which in turn led to this blog post about how I think Amethyst can be a flagship project for Rust GD:

Update: I’m now on the board of the official Rust GameDev WG.

I designed one of Amethyst’s showcase games, Evoli.

My current gamedev project is the minimalist Shotcaller, made with specs and bracket-lib (ascii graphics) by @jojolepro.

So what brings me here?

Having observed the Amethyst project mostly in silence since its inception, I increasingly encounter critical junctures that make me go “hey, that sounds a whole lot like a choice me and my peers were faced with X years ago!”. I may not always have neatly packaged advice to offer, but I hope my examples of what we did right or wrong (especially with regards to jME but also in other projects) can at the very least surface some productive talking points.

While my involvement for now continues to be quite limited, (:point_left: edit: had to scratch that out, as I’ve been at this for over a year now and I dare say I’m deeply involved. I reckon I’ll be sticking around for a very long time. For my main contribution to the project, I want to make it sustainable on a large scale. Personally I think the most straight forward sustainability model for open source software is through business development, but I will work with whatever models the core developers and foundation members deem a good fit.

Update: I’m also an employee of MeiliSearch now; a search engine made in Rust.


Hi, my name is Fabio (from Italy) and I’m following amethyst and redox os development for about an year. I’m very impressed about the quality of those rust projects, I really think that such a powerfull language is perfect to boost skilled developers and inspiring them to express successfully their ideas.
I chose to pursue a videogame programmer career after playing amazing SEGA Genesis titles like Altered beast, Golden Axe, Thunderforce IV, Ghouls’n Ghosts because I was addicted to hard rock/metal flavour with gothic graphics and soudtracks. Unfortunately SEGA lost the challenge with Nintendo and Sony becoming a software house, but its style still influence my current vgames preferences.
Unfortunately I’m currently working on web stuff mainly in management contexts and I try, when it’s possible, to escape to more fashioned opensource projects.
That said I had the luck to work on vgames development many years ago for PC and Nintendo Wii, a basketball game and volleyball game based on italian championships, and a cell shaded beach volley. I took care of 3d graphics porting to Wii starting from a Directx9 engine (one of the hardest challenges of my life) but I was younger and I had much more energy than now.
I also worked with unity3D for a solar plant previewer with some CAD features (orthogonal lines sketching, wall extrusions) and I really liked the editor and great portability (C# is the best managed imperative language in my opinion, better than java or python).
I would like that amethyst could improve and add a spectacular editor for creating beautiful games and I would play these games on redox os.


Hey, I’m Sebastian, a CS student from Germany.

I got into Rust by my master’s thesis and discovered Amethyst shortly after starting with Rust. Having had a great experience with Rust before Amethyst immediately got me intrigued. I quickly put together a simple game world using art of a good contact of mine. This was very enjoyable, especially because of the ease with which everything went. Just recently, I hit a limit of Amethyst, so now I’m starting to look for how I can support the project.

I am a very skilled programmer, especially when it comes to high performance code. I am also a lot into the theory behind computer science and try to apply it when planning a feature.
I have detailed experience in route planning, so if you ever need someone to implement a Dijkstra fast or to implement some acceleration techniques, I’m your guy.


Oh hey, I didn’t even know this was a thread! (should be stickied IMO). I had a brief summary about myself in the welcome channel of Discord, but since @ISibboI was kind enough to dig up this thread, I reckon I should add to it as well.

My name is Alexander Lozada (I go by the alias doomy 99% of the time online), I’m 22, and I’m a recent transplant to the Dallas/Fort Worth area in Texas working my first “real” job at an online IT training company.

I got into games with Roller Coaster Tycoon 2 when I convinced my parents to buy it at a Scholastic book fair. I loved how I could create something new within the game, and always looked for ways to make it my own (we didn’t have Minecraft back then, but that is exactly what I always wanted in a game). My dad is a hobbyist 3D artist who works on a flight sim called BMS, and when I was around 11, he introduced me to Blender. I spent a lot of time making toy games in GameMaker 7.

When the Orange Box was released by Valve, I became completely obsessed with Portal & Garry’s Mod. I tried making my own mods, and I made a lot of maps that have since been lost to the garrysmod dot org ether. I ended up up ModDB helping map and models for a Vietnam era game called Fall of Saigon where I learned a lot about making game assets. When Steam used to show analytics on game tools, I had somewhere around 5,000 hours in Source SDK.

In high school, I became more and more interested in programming. I created a website for a local business (it actually turned out OK for having basically no experience!) in PHP and MySQL using some weird CMS *shudder*. After that in my senior year/beginning of college, I moved on to Rails for my own personal projects like Resamplr as well as for some part-time freelance work for a kids code camp site.

In my Freshman year of college, I learned C# from a class, and fell in love with it (looking back, it’s still a pretty great language, even if I strongly prefer more FP styles). Previously, I tried programming with Unity and ended up making a prototype clone of Thomas was Alone by accident (I didn’t hear of the game until years later).

I really loved Ruby at the time, but I realized that so many errors were caused by not checking nil. Granted, I had no professional experience in software dev, so I probably wasn’t writing idiomatic code, but I began to see the benefits of statically & strongly typed languages.

A few years ago, I stumbled on the very NSFW name but SFW subreddit, PCJ, which satirized trends in software development. At the time, Rust was the language of choice to lampoon because of it’s incredibly passionate community. I thought I might as well learn it so I can make a few jokes.

My first project was a Tumblr web API wrapper. It probably isn’t the best usage of a systems programming language, but I learned quite a bit. Since then, Rust has been my language of choice for just about everything. It got me interested in FP paradigms, and I ended up learning Elm as well. Rust just fit; the community is so so awesome, and I can see why it’s consistently voted most loved language on Stackoverflow.

I’m also an amateur composer & sound designer, and I’ve been creating (very bad) stuff since I was 10. I’ve always had an interest in audio development, so I joined the rust-vst group sometime last year. I’m not the most adept programmer, so I spent most of my time managing the community.

My dream was always to create games. I’ve tried many times and failed, because I always went alone. At the end of last year, I decided to finally do a game jam. I joined the GH Game Off, and spend a month working on the audio for Fire of Kala. I helped brainstorm the core game loop, and designed every sound that plays in the game (most of it was 100% synthesized). We were fortunate enough to get recognition on the results page for best graphics and top 5 audio.

Amethyst has been on my radar for a while, and I started interacting more heavily at the start of the year. You’re all incredibly talented and kind people, and I can’t wait to make something awesome.


Hello there! I just realized that this thread was a thing, and that even though I have been here for a really long time, I never really said who I was except in small segments on discord.

I’ll try to present myself properly this time.

My name is Joël Lupien. I’m 20 and live in Canada.

As a Canadian french, I like poutine a lot.

Wait, I got the wrong presentation sheet… paper noises

Ah, there we go!
I have been passionate about making games for so long that I don’t know when it started. All I remember is that each game I would play when I was a kid would get boring after a while or had flaws. I had ton of ideas to fix the games, or make them more enjoyable, but in the end, I didn’t have the skills to do it (I was ~10 years old I think).

I was bullied most of primary school, so I spent a lot of my time inside playing games, as a way to relieve the pain and feel better.

Nothing happened much until I got 13 years old. At that time, I was in high school, and met a lot of good friends, which inspired me a lot and helped me grow as a person. One of them, in particular, really pushed me towards making games. We would spend tons of time creating plans and ideas for a big mmorpg game. In the end, the ideas were flawed and incomplete, but I still kept the sheets as a relic of the past.

This was also the time when I started to program seriously. Doing a bit of research made me realize most game were using c and c++, so I decided to learn c. I spent many hours on “siteduzero”, now called “openclassrooms”, learning c and making a really basic 3d games.

In the end, segfaults got the best of me and a tip from a family member who is a professional (non-game) programmer pushed me to java the same year.

From there, I would learn everything I could by myself, one day after the other, slowly making more and more terrible code, and taking breaks to play games, which would fuel even more my passion.

The first game I did was called Endless Worlds. It was meant to be a procedurally generated 2d platformer.

The first version was terrible. I didn’t understand how inheritance worked, so I would extend all the classes from one another to get the right access permissions to the variables.

After a while I realized how bad it was, and decided to rewrite it. From there was born Endless World v2, which was a bit better quality wise and had more features. Mainly, it had a level loader from xml files.

After that, I entered the first “Oriented Project” class, which is basically a way to make kids find out what they like in life by forcing them to work on a project of their choice. The actual time to make the project was really short, so I ended up doing a graphical True/False guessing game about career information.

The program wasn’t really pretty, but I got really good feedback from my peers, which helped a lot gaining faith in my skills.

Then we had the second class, where we had almost a year to make a project. We had to make a timeline, a feature list and progress reports. (remember, this wasn’t a programming class, I was one of the only 2 doing programming, and the other one happened to be my best friend which wasn’t in the same class and is still my best friend to this day).

Fun fact, I am never of the same opinion as my best friend. :stuck_out_tongue:

Anyway, I ended up rewriting Endless Worlds from scratch, once again. This time, however, I did it properly. With a timeline, design documents and feature lists, I was ready. The game ended up complete a couple of weeks before the deadline, with networking, a level editor, a dynamic level loader, basic ai, a “not so bad” ui, a skill system and actual gameplay.

The code is available here, if you are interested https://github.com/jojolepro/endless-worlds

In the same class, something truly amazing happened. It may seem like the most usual thing to anyone, but it was a life changer for me.

At the very end of the class, we had to do a presentation in front of everyone, showing the project we did. I was extremely shy at the time, barely able to speak in front of more than 5 people. Imagine when 100% of your grade is based on it!

The teacher had a really creative way of forcing students to do the presentation. At the start of each of the day dedicated to presentations, he would only say: “Who wants to present today? If you don’t do it until classes end, you need to come during the summer.”

The second last day of presentation, I knew I should go, but was too scared when he asked. When he said the timeline to decide was up, I started crying and rushed in front of the class to ask if I could present now. Guess the answer?

“No, you had to decide before. Do it next class”.

That’s what, in the end, made me learn how to take decisions, and that being shy will rarely bring good.

At the last day of presentation, I went first, presented well and was way more comfortable than in any of my presentation I ever did in my entire life.


Around the same time, that year and the one before, (14 years old), I got a permanent disease called diabetes, which isn’t really nice. ^^
And a month before that, the only girlfriend I had ever (even to this day) quit me, though I knew she would do it because I was shy and because she was known to jump between boyfriends a lot. :stuck_out_tongue: That still affected me a lot, especially when I try to trust other people. So, don’t take it personally if you meet me and it takes a while before I open up.

From that point, almost each year brought bad things in my life, which I had to fight through, but I’ll spare you from reading that mess. tldr; more trust issues, usually cause by people of authority, like teachers and stuff.

Let’s get back to programming, its a good way to not deal with all that :blush:

At that point, I started working more seriously on projects. I wanted to make a fps, so I learned to use the JME3 engine, in which I wrote a custom networking layer. The game ended up being nothing more than a prototype, but it had most of the features a modern fps would have. I was also working on another project in JME3 called “Lifer”. This actually didn’t go anywhere, because it was your stereotypical “I’ll code everything in the world”. In the end, it ended up having only terrain generation and a tree/forest generator.

I eventually gave up on both projects. The fps project is available on github, it is called “Back2Life”.

After all of this, I entered college. I was 17 years old. There, I was in a computer science program. I met a lot of very funny people, with some that were very talented. I saw everything. Talented people who quit due to lack of interest and overconfidence. People who were bad but became very good by their efforts. People who are maybe not that great at code, but who are very good communicators.

In the end, those were truly the best days of my life (except when bad things were happening, because those never stop apparently).

During the three years I spent there, I worked on a lot of game projects. I did a ecs-based game engine in the Scala programming language, which I am a big fan of. I didn’t know what ecs was, so I kinda invented it, if you ignore the fact that it was a thing for already ten years. :stuck_out_tongue:

Most game projects ended up being prototypes, or too big in scope, so most of them went nowhere. I still published the source for most on github, and made showcase videos on youtube.

In the end, three of those projects are still alive today.
World Digger, Drop your balls and HoppinWorld.

The two former were games I did where my only objective was to publish a game. At that point I have been coding games for 6 years, so not having anything publicly available was a big source of stress. Both of those games were made in under 30 hours, with unity, and published.

Both are incremental games which were meant to be a bit addicting, but short lived. And its exactly what happened. :stuck_out_tongue:

As for HoppinWorld, I am a few days away from releasing the first public alpha version as I am writing this.

I initially wrote it for Unity, but I ended up rewriting it for Amethyst since then.

Let’s talk about Amethyst now, the actual subject you came for :smiley:

I joined the project in September 2018, in my last semester of college. It was because I found the project that I gave up on the Scala game engine I was writing (ScalEngine, sources on github once again).

I learned rust in a few weeks, did a couple of bug reports and small pull requests (first experience with open source).

After that, I jumped in, and started creating the amethyst_network crate, because I still wanted to make my fps game project at that point. (Not so much now)

I ended up spending a couple of weeks on that, before it was finally in a working state. It then took a really really long time to get it merge, during which I learned the importance of code reviews. As you expect from someone who just started rust, I made quite a few mistakes! Eventually it got merged, and I got invited in the Amethyst core team, which basically gave you merge access and a cool purple name.

Then, the project started dying due to lack of progress and accumulated frustration of older members. Moxinilian joined at around that time, and with him we wrote a bunch of documentation explaining the general concepts of the engine, like components, resources, systems, etc…

We then published this as a major engine update, and advertised it as much as we could. To our surprise, this actually worked. A lot. The project doubled in size in the span of a week, then continued to grow consistently. We went from a mere 30 members to the 1100 we have today, at the time of writing.

Since I joined, I have been reporting issues, opening feature pull requests, proposing ideas and rfc, helping people on gitter(old) and discord and working on Amethyst and Unity based game projects.

Now, I am in University in cs, for another three years.

Amethyst is growing fast, and I hope it will continue this way, without losing the core values that it had when I joined.

This is just the beginning!

-Joël Lupien

The story of my life, which I never told anyone, even in person. I hope this helps people who have a hard time understanding me and the way I react to certain events.

Thanks to everyone in this thread who presented themselves. It really inspired me to open up more.

(Please don’t reply to this in this thread, let’s keep it for presentations. If you want to reply, you can pm me on discord).



I came to amethyst by accident, actually. While developing my own crate, @jojolepro contacted me to implement it for the engine. After that I did some sniffing around and saw that there had to be a networking implementation for amethyst. So I started working with this. My experiences in the gaming industry are not very much, but I like to learn and research new things. And look for an open source project in which I can invest time with the goal of self-development.

If you wanted to put me in four sentences, it would be the next:

Timon Post: " My response to challenges is practical, realistic and enthusiastic. I love facts and am well able to offer help if concrete information is available. I am independent and individualistic and can adapt to situations. I am an avid programmer and I have an ambition to continuously improve myself."

I love to contribute more to amethyst and learn to cooperate well in opensource teams. Amethyst gave me an amazing boost in motivation and I learned to know a lot of interesting species here :wink:.


Hey :wave: I’m really excited to make games with Amethyst and get involved in the community.

I’ve been learning Rust off and on for a few years and I’m finally feeling comfortable with the language, which feels really good – but I’m still far from expert.

I’ve always wanted to make games and after sampling the different Frameworks in Rust’s ecosystem, Amethyst seemed like a solid tool with an energetic community. Obviously it’s not as polished and feature rich as Unreal 4, but for a hobby Amethyst is juuuust right :smile: I especially like that Amethyst leans so heavily on existing libraries in the ecosystem; projects that re-invent the wheel not only have clunky tools but terrible documentation :stuck_out_tongue:

My first project is a small card game written in Specs which I’m planning to port to Amethyst. I’m sure I’ll be posting tons of questions about ECS and rendering in the next few months. :thinking:


Hi! I’m Patrick and i’m using Rust for more than 1.5 years and now i love it (as much i hated it when i started :D). I’ve always worked with games and mostly game engines and game systems.

I’m working on a couple of gamedev-related crates such as Kaiju (modern embeddable assembly language) that allows to embed it into game and make player be able to code some things in games. Currently i’m working on Psyche AI toolset that is AI system based on approximation of neurobiological processes combined with evolution of the brain structure by offsprings and mutations.

I’m here to get to know amethyst to hopefuly make some new demos for Psyche and other crates and if possible help this community with their work :slight_smile:



Neural net evolved by GAs? Did you write these in Rust?

1 Like

It does not looks like any of the typical enural nets so i believe answer to this question would be: nope.

And yes, i write all of it in Rust, here is repo:

There is no documentation yet, because it does not yet have a demo project that will show a full potential of it and because of that i’m here to start that grand vision demo in amethyst (virtual robot designer that will serve as simulator and playground for evolving best brain that i’ll put into real life robot machine i’m making).


Hello! I’m Caleb, an engineer here in Silicon Valley. I’m still learning Rust, but I’m pretty excited about Amethyst (and especially Rendy integration).

My day job is at a computer vision company focused on autonomous machines (self-driving cars and such). I split my time between C++/CUDA and Python/pytorch. I’ve worked at a variety of companies such as BitTorrent, IBM, Oculus/Facebook, and Google.

I love working with voxels and I write articles occasionally: https://medium.com/@calebleak. I’m hoping to do more voxel rendering in Amethyst.



Us too. =) May 1st is our target date to have the bulk of the integration work done.


Chris here. I’m a Silicon Valley engineer mostly doing backend web services mostly in Scala but have a good amount of experience with Java, Python and love playing with new languages. It’s wonderful to use a powerful and expressive type system along real memory control (it feels refreshing to leave GC land).

I’ve always wanted to make a Roguelike and would like to contribute more to OSS so hopefully in attempting the former, I’ll achieve the latter.


Hello boys and girls, my name is
Jakob Terjesønn Rypdal👋

I’m sort of a music composer I suppose and have been playing around and working with music since I was a wee lad.

I’m a close friend of @erlend_sh
and got involved in this project via him.

Super psyched to help in any audible way!

I looove videogames and I’m really interested in game music, it’s definitely something I would like to do alot of, so don’t hesitate to contact me if you need music, sounds or fx.

I work from home (Oslo, Norway)
where I got a home studio with a bunch of weird stuff.
Also my daw is Logic.


Hey everybody!

I’m a programmer passionate about Open Source and over here because I think that Rust is the best language you could write a game engine in. ( And the best language you could write anything that you would otherwise write in C or C++ :wink: ) Me and my team are planning on making a full blown Blender integration for Amethyst ( see this post ) and have high hopes for making our own games with it.

Together with my team I want to make clean video games for the glory of God.


Oh my god, I got my start making games with VB as well! It was at school, and that all we had, but man we sure tried our best to make all the boring form elements into resources for games! Cheers!

1 Like

Hey folks!

I’m @druerridge (handle: stopthief), and I work regularly with @andreduvoisin on hobby projects like our first rust game. We both have a number of years working in the games industry professionally, and met each other many years ago while working on a hobby project, an online RTS/MOBA hybrid called The Maestros.

Tragically, neither one of us have made a contribution to a larger open source project before. After looking at and toying around a bit with Amethyst though, we got very excited about the work ya’ll are doing. What’s more, we decided it’d be a great place for us to make our first open source commit. We’re pretty keen on rust and have spent about 100-200 hours in it over 18 months (slowly but surely). We feel like we’re beyond “fighting the borrow checker” phase into the “I built this, but is it rusty?” phase. As such, we are hungry for advice on how to do things in a more “rusty” way, and look forward to the review process!

I was hoping for some help on the process. I saw your “good first issue” tag, and even cracked open a few other issues, but I’m still a little unsure. A) If we find an issue we feel confident in, do we just assign ourselves and start working on a fork? B) Are there other things beyond the “good first issue” stuff that people think it’d be good for us noobs to start contributing? I can’t promise we’ll be pushing quickly, as we only pair-program about 2-3 hours a week. However, we are very consistent at getting things done, and are committed to getting something small all the way through the process.