UnobtainableMelon

I make games and software. I used to use Unity but prefer to use other tools now.

I post my games on itch.io

I only have one game on there right now, but there will be more to come.

Currently I'm working on my own game engine. Once I have that in a state that I am happy with, I will continue making games using it as my engine.

I've also learned how to use Godot as an alternative to unity, and while I do think it is amazing, and does so many things well, I keep running into issues with importing 3D models which is holding me back.

Projects

Contact Park

A game about exploring an abandoned caravan park at night. Check it out

Contact Park Screenshot 1 Contact Park Screenshot 2 Contact Park Screenshot 3

Melon Engine

A game engine I'm making with the goal of making 3D games quickly. I want to make it as easy as possible to create 3D environments, and game objects very quickly.

The engine will have many restrictions, similar to that of adam le doux's bitsy.

I would like it to be possible to make multiple genres of game in the engine. The first genre I am focusing on is FPS. I want it to be possible to create doom style games in my engine.

I also would like to implement a dialogue system, so it's possible to make RPGMaker style games. It will also have controller support.

MelonEngine Screenshot MelonEngine Screenshot MelonEngine Screenshot MelonEngine Screenshot

Update: 16/2/24

Since the last update I have done a lot of work. It really has dawned on me how long it takes and how complex it is to make even a simple engine. I feel like I am getting closer to what I want though. Currently I am working on the events system, and my two next goals are finishing the weapons system and creating some basic enemy AI. Once I have overcome these hurdles, I will have implemented all the "big" features I want. Then all that is left is to refine and polish. There are of course superfluous features I would like to add, but they aren't necessary and I would really like to actually make a game within the next year.

This is what I have worked on since last time:

  • A UI library - currently basic but servicable and built to be expanded upon with controller support and more ui elements
  • A data serialization library - Now it is very easy for me to save and load data to files in a modular way. It was very important that I set this up, so I can create file formats that are likely to be forwards compatible, and don't break when I change aspects of the engine.
  • An asset manager - Now when you build the game, all the assets are serialised and squished down into a format that can be read by the engine. It fills out the asset library so the engine can access assets easily based on their identifiers.
  • Main menu/pause menu - With the UI library, I made a main menu and pause menu. Pausing the game pauses all game logic, and no work is needed by the game designer to support this function.
  • Dialogue System - I have created a modular dialogue system that uses nested nodes to store dialogue. This should allow for complex dialogue structures, conditionals, multiple choice questions and context based dialogue. You can easily create dialogue and save it to a file, and give an entity the dialogue using a dialogue component.
  • Entity prefabs - You can now save entity prefabs to a file, and edit them in the editor. You can then spawn them in the game at runtime. This is useful for creating objects that are needed more than once, like enemies or pickups. I also significantly improved the UI for editing entity components.
  • Event System - This is what I am currently working on. My plan is to support game, story and world logic using events and variables. Entities can have their own local events and variables, and the game can have global events and variables. These will be used to easily control the games state. For example, keeping track of someone you have spoken to, or if the player has performed a certain action. Then you can check for these events in dialogue to change what is said.

Everything mentioned above is all serialised, so game saving and loading will be very simple. The game designer will not have to think about how to store save data, everything is simply kept intact.

Hopefully this is an interesting breakdown of what I have done the past 2 weeks. I have learned a lot, and I am excited as I get closer to finishing this project. (Or at least, the first iteration of it.)


Update: 29/1/24

I have split the features I would like to incorporate into specific "milestones". This way I wont be tempted to continue adding more features before release, and to provide a tangible goal to work towards if I no longer have the motivation to work on the project.

My current plan is to finish milestone 1, then stop developing the engine to make a game with it, to test if I actually like the engine, and to find flaws with it. I will publicly release the game, and release a build of the editor at the same time, so there is an example of what can be made readily available. I really hope I will enjoy using the engine to make games. I want it to be very easy to make things, so I can have fun making games in my spare time. I also hope that others can use the engine to have fun too.