So, despite nothing visible happening, i thought that since i've been getting just a bit smarter, maybe i should try this again;So, i skimmed through the forums, saw a few games (or at least talk about games) of this type, but i figured, why not make a framework/engine that could handle games that are specifically this type?
Danmaku or Bullet curtain is a sub-genre of shoot em up games; the gist summed up: "bullets shooting bullet shooting bullets".
The engine will be able to do this list of things after they have been implemented (some of them are already):
If anyone is interested in helping out with this, let me know; development will be that much faster
- Customizable Resolution, Background, Viewports, Overlay
Ability to Create new bullets (also behaviours), enemies, bosses, characters, stages, bullet patterns
Support for multiple Viewports (canvases where the actual game is played, good for versus mode)
Up to 4 player single-player, utilizing keyboard or controllers (fully definiable, with exception: controllers' d-pads always move characters)
Per-stage per-difficulty per-character high scores
Replay system
multiplayer <- least important
Love Danmaku Maker Engine
This open-source & free framework allows one to make games that are in the bullet hell shooter genre; an alternative to Danmakufu, if you will.
The current (unreleased) version is v0.1.3
Code: Select all
-- Changelog:
-- v0.1.0 (15/07/18)
-- Initial design and codeup - single script works, no real module/file structures.
-- v0.1.1 (15/07/25)
-- Initializer code written, started to code a menu system that was to be a built-in solution, wrote a song for it. Lots of modules written.
-- Using vrld's hump gamestate system for state management (as always)
-- Started working on the script selection screen, used ffi to get a file's last modification time, noticed that the code started to spaghettize.
-- v0.1.2 (15/08/01)
-- Redesigned the code flow, now it's all comprehendable neatly.
-- Made the inbuilt menu be a regular package-type script, just like any the users might create/load up.
-- Created wrapper modules to sandbox and populate the script states with relevant functions and vars.
-- v0.1.3 (15/08/08)
-- Further code cleanups
-- Working script menus, listing of scripts, sorting, dynamic refresh, execution of scripts
-- v0.1.4 (15/08/20)
-- Putting the core up on github
-- v0.1.5 (Planned for 15/08/29)
-- Adding more modules (Layers [Canvas], Bullets, ...)
-- Modifying the default package to use them
-- Further default package cleanup
-- Later Still...
-- Implement an i18n lib, utf8-compatible.
-- Implement at least the generic wrappers fully (that any script type can use)
-- Implement the remaining 5 script wrappers
-- Write logger calls to all modules for faster debugging
-- Implement local multiplayer support (more than one simultaneous player scripts; player dependent functions having player id parameters (think getAngleToPlayer and stuff) )
-- Implement a replay system, that basically just sends the serialized and loaded per-tick keystrokes to the player scripts, and probably the prng seeds as well.
-- After initial release (core + default package + basic modules) ...
-- Implement online multiplayer capability (same as the replay system, but we should pass the ticks around as well)
-- Optimize modules with FFI
Edit: GITHUB REPO
Attached is an early demo showing the yet-uncoupled main and single pattern menus; do check it out!
A Screenshot of the main menu of the default menu "package" that comes with the engine:
(bigger version here)
Some gfycat videos:
The default main and single script selection menus
Testing a very basic single script
Script menus in all their glory (dropbox, not gfycat)