Mirage Web Engine (SP)

Rian

Community Administrator
Staff member
Community Administrator
#1
Mirage Web Engine (Single-Player)

This project initially began as an excuse for me to brush up on HTML5 canvas drawing and got a little out of hand. I have no intention of making this multiplayer in it's current state, nor in the future. However I am considering a future separate project "Mirage Web Engine (Multi-Player) which will likely recycle and refine logic from this project.

Project Goal:
A browser-based single player "pseudo clone" of Mirage Source 3.0.3 with certain additional amenities (questing/quest editor etc.) to allow for a more rich single-player experience. For now I'm trying to keep this a pure JS/HTML without the need for Node.js RTE.

General Specifications:
Language: JavaScript, HTML
Dependencies: jQuery, jQueryUI
Version: 0.1.1

Mostly Complete Features:
• Map Editor Layers
• Map Editor Collisions
• Map Editor General UI
• Dynamic Sprites (dynamic!)
• Engine Console UI (hit enter to open/close)
• Scrolling Maps! Currently 250x250 tiles! Goes up to 1Kx1K but loads slowly. Browser crashes at 2Kx2K!

Incomplete Features:
• NPC editor is pretty new and can be opened but not closed. NPCs cannot be placed into the world yet. Currently when you save an NPC it saves to every NPC slot (looking into it).
• Engine console can be opened and closed by pressing "Enter", but is unpolished. Currently you can only close the console when the console input box has focus. So if you're having trouble closing the console, just click the input box. Needs better user experience.
• Animation tiles work properly, however the way the editor handles animations is not very visually intuitive. See console notes in game for further explanation.
• THERE'S NO DATABASE/OFFLINE STORAGE! Currently nothing saves permanently. Please don't spend hours creating a neat map! It's gone the moment you close the web page.

What's new in version 0.1.1
• Sprites are now loaded and measured dynamically. They aren't completely drawn correctly to match the way collision works. Collision is working as intended, drawing the sprites just needs minor adjustments in the future.
• Added NPCs array and began introducing more elements to the NPC editor (NPC editor is broken in it's current state, see above).

I plan on releasing the source code onto GitHub when:
1: I have NPCs at least wandering around on the map.
2: I collect some basic Public Domain sprites & tiles I can actually release with the engine.

Hopefully you'll see this on GitHub within the next 30, maybe 60 days. I'm shooting for 1 month here, but we'll see how it goes. In the mean time, this is what the engine is looking like:
mwesp.png

And if you wanna play with the engine in it's current state, you can check it out here:
Mirage Web Engine SP v0.1.1

(WASD to move, SHIFT to run, ENTER to open console)
 
Last edited:

John

Lead Administrator
Staff member
Lead Administrator
#2
Dope project. How far along do you plan to develop this as a single player RPG engine / maker? It would be neat to see an event system and other RPG Maker-esque features implemented, especially in a web environment, which is very accessible.
 

Rian

Community Administrator
Staff member
Community Administrator
#3
I'm really not too sure yet lol. I do plan on a quest editor, which will sort of be watered-down specific events. I suppose to really engage a single player's attention I would need some sort of fleshed out event system to keep people from getting too bored. I'll come up with something eventually :p
 

John

Lead Administrator
Staff member
Lead Administrator
#4
I'm really not too sure yet lol. I do plan on a quest editor, which will sort of be watered-down specific events. I suppose to really engage a single player's attention I would need some sort of fleshed out event system to keep people from getting too bored. I'll come up with something eventually :p
Definitely. When you make this open source I'm down to pitch in when I can. I have a fair amount of JS experience under my belt. Might need a little refreshing. I have a side Express JS project I've been fiddling with on and off. Really need to pick that up again here soon when I've got Lunar further along.
 
Top