I Created a 2D Platformer With Julia! (Download link) + An Update On JulGame

DOWNLOAD LINK (Windows Only): Super Mango - A Game Made with Julia by Kyjor

The Platformer is DONE!!

Hello everyone, it’s a bit late, but here’s an update on my last post in which I showed that I was creating a 2d platformer with JulGame. I finished it a few days later, and here’s a video of the gameplay if you don’t have the time to play it. Through working on this project, I was able to add a few nice features to the engine, like sprite layering, and scene switching. I was also able to clean up some tech debt, and learned a bit about profiling, thanks to @Raf . Overall this was a nice project to see the current limitations of the engine.

Also, I have some updates for those who are interested on what else I am working on.

What’s Next For JulGame?

I have a few things I’m working on at the moment. The first is that I’m gearing up for the first release of JulGame that will be “user-friendly”. The aim will be that it will be accessible and documented. I will also be attempting to increase performance after all of the discussion here. This will be the 0.1.0 release. I expect this to be ready in about a month or so.

A Julia Game Jam

The next is that I will be hosting a game jam (basically a hackathon but for games) that will be focused on creating games using Julia. 1st Annual Julia Game Jam (Cash Prizes!) - itch.io
This is the placeholder for the event, which includes the date planned. I will be offering a small amount in cash prizes to the top places in the jam. If you are interested in participating, start brushing up on your game dev skills and join! This could be a great event to get people interested in Julia. So if you maintain a framework, please have it up to date (and some documentation), and I will link it as an option to participants.

Steam API Bindings

Another thing I (very recently) began working on was julia bindings for the steam api. Yes I am aware of clang.jl, and am using it to help generate these bindings. But I will be focused on documenting them and I don’t want to get overwhelmed with the sheer number of functions at the moment. But this will be a good step in the direction of creating helpful game dev tools using julia.

One More Thing

Aside from that, I have one more julia project that I am working on. I’m not ready to reveal it yet, as it’s still very early. However, I think it will be well worth the wait when I reveal it.

Future Forum Posts

I think I’ll try to be more routine about updates here, as I know a few people are interested in what I’m doing. I don’t want to spam the forums, so I’ll probably consolidate my updates for multiple projects into one post like this. I’ll figure out the cadence for that sometime soon.

45 Likes

Very cool work :slight_smile: BTW about the Steam bindings and documentation, if the symbols in the Steam header files have docstrings you can extract them automatically with Clang.jl: Clang.jl/gen/generator.toml at master · JuliaInterop/Clang.jl · GitHub

There’s also a callback you can use to modify or create docstrings, which can be useful if you want to insert links to upstream documentation or something: Clang.jl/gen/generator.toml at master · JuliaInterop/Clang.jl · GitHub

1 Like

Thank you! Good callout on that. That would be super helpful. I’ll check it out!

I saw the video. It’s always refreshing to see these demos. They get more and more polished each time!

Looking forward to the updates and the game jam! Thanks for sharing this @Kyjor !

1 Like

Thank you!! Hopefully we get some good participation for the game jam. I think I will take some time here and make a separate post to shout it out and promote it. If we can get some good numbers, this could be a great event for Julia game dev.

2 Likes

It would be also super-fun to make it a julia-gym for reinforcement learning. I am a distant observer of the field, but it might be nice little project. There is PDDLViz.jl built on top of Makie visualizing PDDL problems.

4 Likes

That’s an amazing idea. We can keep it broad and not limit it to games. I can definitely modify it in the near future as I nail the details down.

1 Like

Watched the entire video. Super awesome! Great work! :+1:

1 Like

Thanks!

very cool :wink:

1 Like