this post was submitted on 19 Jul 2023
11 points (100.0% liked)

GameDev

2777 readers
1 users here now

A community about game development.

Rules:

More rules might follow if they become necessary; general rule is don't be a pain in the butt. Have fun! ♥

GameDev Telegram chat.

founded 2 years ago
MODERATORS
 

Hi all,

I've never shared this publicly though it was my intent. I figure to help contribute to Lemmy, this would be a good first post.

I wrote a 2D game Engine in Java as an undergraduate project. It's fairly simple: audio, sprites, physics, and component based architecture. If you're interested in writing a small 2D game in Java and have past experience with Unity, you may find this to be as a helpful starting point. I will say this: this engine is not meant for serious game development -- I started this project with 'can I do this?' mentality.

Though I no longer work on this project, I hope that someone may find use of it.

top 8 comments
sorted by: hot top controversial new old
[–] TeaHands@lemmy.world 4 points 1 year ago (1 children)

I think those are often the most enjoyable projects, the ones where you start out just literally thinking "hey, is this possible? let's find out!"

Having absolutely no intention of ever writing my own engine, I'm constantly in awe of people who manage it. Also I totally misread the author / project names at first and thought you'd called it Zoidberg, so have to admit to a small amount of disappointment there lol.

Thanks for the share!

[–] mramazingman@lemmy.world 4 points 1 year ago (1 children)

Absolutely, I'm not sure if everyone else started out the same but I believe that's what hooked me on programming: the autocracy of trying out a new idea just for the heck of it. I think I'm still yearning for that same level of freedom and moving my career towards a position with more independence.

[–] TeaHands@lemmy.world 2 points 1 year ago (1 children)

My first project was "can I build a PHP CMS off the back of the authentication system for this phpBB forum my World of Warcraft guild is using?". And the answer was "sort of but you're a newb so it's gonna break the first time someone puts an apostrophe in their guild application!"

But this is the best way to learn, right? 😄

[–] mramazingman@lemmy.world 2 points 1 year ago (1 children)

Certainly, out of curiosity did was there an API to the phpBB forum that you used to build the CMS?

[–] TeaHands@lemmy.world 2 points 1 year ago

Nope! I'd only just started learning so as I recall, just sort of hunted through the forum code until I found the likely looking functions and then put them in my script (no doubt via some extremely precarious and inadvisable inclusion method, and no doubt it was extremely insecure but sadly the code is lost to the mists of time). There was nobody there to tell me it was wrong so I just experimented with things until something worked!

Certainly did the trick though. Our website ended up great (once the apostrophe thing was fixed) and I started working as a web dev instead of an underpaid office admin!

I think the point of this mostly off-topic nostalgia trip is that I totally agree it's the freedom of realising you can maybe make anything you set your mind to that hooked me on programming too. I see a lot of kids coming through school nowadays who are just doing it for the money which I totally understand, but they do seem to be missing out on the "actually enjoying it" part. You've gotta try stuff, make stuff and break stuff, that's basically my life philosophy lol.

[–] saffron@sh.itjust.works 1 points 1 year ago (1 children)

That's so awesome! 🙌 Did your college assign this project to you, or was it something you did just for fun?

[–] mramazingman@lemmy.world 2 points 1 year ago* (last edited 1 year ago) (1 children)

It actually started as a high school project and became a bigger project for when I started interviewing for internships in college. The high school project was to make a game and we were encouraged to use Java GUI libraries so I made the classic snake game. It had static frame rates, many bugs, out of bound issues, and many violations of OOP, but it was more than what was expected. I kept it around in a local hard-drive and when I started my undergrad, I realized I needed to make a github and start some projects. I initially wanted to just add a repo for the current code I had but it wasn't really well written...

So I decided to abstract it. The more I abstracted it, the more I realized I was moving towards a game engine. Eventually I took a pause but I got an SDE intership interview that wanted me to present a project so I crunched JEngine during my winter break.

[–] saffron@sh.itjust.works 1 points 1 year ago

Classic snake to full game engine pipeline 🤣