• Stars
    star
    115
  • Rank 304,362 (Top 7 %)
  • Language
    Lua
  • License
    MIT License
  • Created over 4 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

(Archived) Moddable engine reimplementation of the Japanese roguelike Elona.

Note

Development has moved to https://github.com/OpenNefia/OpenNefia.git. This repository is for an older prototype of OpenNefia that is no longer supported. The source code in this repository will be used as a reference for the final version of OpenNefia.


OpenNefia

OpenNefia is an open-source engine reimplementation of the Japanese roguelike RPG Elona using Lua and the LÖVE game engine.

It is not a variant of Elona, but a ground-up rewrite intended to vastly expand the support for modding in the game, allowing for game features that would have been impractical or impossible with the vanilla codebase.

It is also an experiment to see if a game can be written in an extensible manner, using a mod system and an extensive API.

Note that it is currently alpha-quality and massive breakage will occur when attempting to play through the game normally. Nearly everything is still a work-in-progress. If you would like a stable experience, then please play vanilla Elona or a variant like oomSEST instead.

See the wiki for more information and a work-in-progress modding tutorial.

Features

  • Intended goal of being feature-compatible with Elona 1.22 (though still a work in progress).
  • Ability to modify the flow of game logic using event hooks.
  • Architecture based on APIs - mods can reuse pieces of functionality exposed by other mods.
  • Quality-of-life features for developers like code hotloading and an in-game Lua REPL. Build things like new game UIs or features in an interactive manner.
  • Supports Windows, macOS, and Linux.

Running

If you're using Windows, install LÖVE from the official website. (Make sure it's the 64-bit version.)

If you're using a Unix-like platform, ensure the love binary, wget and unzip are on your PATH.

Then, run OpenNefia.bat (Windows) or OpenNefia (Unix).

Contributing

OpenNefia uses the Gitflow workflow. Please branch off of develop when developing new features or porting things. master will be reserved for stable releases and hotfixes only once the engine becomes stable enough to use.

See CONTRIBUTING.md for more details.

See docs/ARCHITECTURE.md for a high-level overview of the codebase.

Credits

See CREDITS.md for third-party code information.

More Repositories

1

intellij-lsp-server

Exposes IntelliJ IDEA features through the Language Server Protocol.
Kotlin
322
star
2

ElonaPlusCustom-GX

Elona+ variant based on Custom-G
ActionScript
136
star
3

oxidoc

A command line interface to Rust documentation
Rust
100
star
4

DroidRef

Android image reference board app for artists
Kotlin
75
star
5

lsp-intellij

Emacs client for lsp-intellij-server
Emacs Lisp
57
star
6

lsp-intellij-spacemacs

Spacemacs layer for intellij-lsp-server
Emacs Lisp
27
star
7

jikyuu

Estimate the amount of time spent working on a Git repository
Rust
25
star
8

caca-rs

Safe Rust wrapper for libcaca
Rust
4
star
9

janet-mode

Emacs mode for Janet (https://github.com/janet-lang/janet)
Emacs Lisp
4
star
10

semgrep.el

Semgrep support for Emacs
Emacs Lisp
4
star
11

waffle_osx

通称「わっふる」 AVG32-like scriptor
C++
4
star
12

plexfs

Mount a Plex library as a local filesystem (music only)
Rust
4
star
13

microhcl

C++14 header-only parser for HCL (Hashicorp Configuration Language)
C++
3
star
14

elona_server

[WORK IN PROGRESS] - Replacement chat server for Elona/Elona+
Python
3
star
15

downdraft

A writing timer for Emacs.
Emacs Lisp
3
star
16

adieu

AVG32 bytecode parser/disassembler
Rust
2
star
17

ikpose

TypeScript
2
star
18

borscht

Rust
2
star
19

szurupull

Import content on the web into szurubooru
Elixir
2
star
20

evergarden

Proxy a szurubooru instance as Danbooru 2 for mobile clients
Ruby
2
star
21

oomSESTepNC

AngelScript
2
star
22

josette

Rust
1
star
23

elona.dll

C
1
star
24

gdx-mixin-test

Kotlin
1
star
25

lua-aquestalk

CMake
1
star
26

to_booru

Converts URLs to Szurubooru uploads
Elixir
1
star
27

yeek

Rust
1
star
28

uguu

Uguu.
Rust
1
star
29

emacs.d

emacs dotfiles
Emacs Lisp
1
star
30

doom.d

Emacs Lisp
1
star
31

castile

Small test of LibGDX / OpenGL.
Java
1
star
32

teal-mode

Emacs major mode for editing Teal source code
Emacs Lisp
1
star
33

infinigen-rs

A system for serialization and management of infinite chunked terrain.
Rust
1
star
34

szurupull-android

Android app for szurupull
Kotlin
1
star
35

texture-atlas-rs

Texture atlases for Rust/Glium
Rust
1
star
36

eiwaji2

Japanese dictionary/lexer made with wxLua
Lua
1
star
37

realgud-mobdebug

Emacs Lisp
1
star
38

kotaro

A Lua library for rewriting Lua source code.
Lua
1
star
39

dotfiles

Shell
1
star
40

chroma

Chroma for ACM@UIUC
HTML
1
star
41

caca-rs-examples

[WIP] Examples for the libcaca Rust bindings
Rust
1
star
42

elona_variants

Elona variant timeline
Ruby
1
star
43

sabi

Rust
1
star
44

caca-sys

Low-level Rust bindings to libcaca
Rust
1
star