CadEditor - Universal level editor for NES/SMD/SNES games

in #utopian-io6 years ago

CadEditor
https://github.com/spiiin/CadEditor

What is the project about?
In short, I created the level editor with the ability to add any level format, not known while the editor was created (mainly for games with tile graphics from old consoles, like Nintendo Entertainment System and Sega Mega Drive).

For now, it supports 1705 configs for different levels for 163 games, and new games can be added without changing of the editor itself.

40726312-240b5f04-642e-11e8-802b-a84d8343974b[1].png

CadEditor is the open-source project and one of its goals is to save games history and research hidden stages and secret levels from old games.

For example, this level from Aladdin game for NES is unavailable from the game (developers cut it from the game, but it still inside in ROM-file and in all cartridges with this game!), it can be seen only with CadEditor:
cad_editor_v50_aladdin.png

Other use-cases of the CadEditor:

  • Homebrew game developers can use it as the base for own level editors. The editor also has options for dynamic extensions via plugins system and config files.
  • Exporting levels to binary or text formats.
  • Actually, editing levels in games. Romhackers and researchers may use it for making mods and remakes of classic games. For example, one of the projects of this type created with CadEditor:

I use patreon for creating donation campaign for the project, more detailed information can be found there.

Also, some information about the editor is available in Russian at github pages. You can use it to see more screenshots, even without understanding Russian.

And sorry for my possible mistakes in English, it's not my native, I hope my post is still understandable.

Technology Stack
CadEditor has written with C# and WindowsForms. It can be built for Windows using Visual Studio or Mono. Also, it can be built with Mono for Linux and Mac, but I didn't test it carefully.

Also, I used CSScriptLibrary for config files. Dynamic loading of C# code allows describing new level formats without recompilation the editor itself. Most standard functions for building levels already created, so new games can be added only with combining them. Example of config for loading the Ninja Gaiden 3 game for NES:
https://github.com/spiiin/CadEditor/blob/master/CadEditor/settings_ninja_gaiden_3/Settings_NinjaGaiden3_1-1a.cs

CadEditor also can be used as the library for research games and render the levels. I made project JupyterCadEditor with examples of using CadEditor with Python and Jupyter Notebook.

Also, I created some tools for research level formats for NES emulators. It also in CadEditor repository It is written with Lua.

Roadmap

  • Create documentation for the project (one of the problem - my poor English, so it will be cool to translate my notes about CadEditor from Russian to English).
  • Support for new platforms (now I have plugins to build levels for Nintendo Entertainment System, Sega Mega Drive and from prepared pictures). I want to add SNES and Game Boy Advance at least.
  • Create universal object editor (now editor supports it only for 12 games, for others only background editing allowed).
  • Add missing editing features. CadEditor has powerful abilities for adding new formats, but editing features are not good now.

How to contribute?

  • Fork the repository, make commits and create pull requests.
  • Contact me via e-mail (available from editor itself and it's readme file)
  • Discuss the editor at romhacking forums:
    In Russian or in English

My github account
https://github.com/spiiin
(I made the proof picture with my github account name in my steemit introduce post and create file with my steemit username in CadEditor repo)

Sort:  

This post has received a 1.00 % upvote from @drotto thanks to: @pinkwonder.

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by spiiin from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Congratulations @pinkwonder! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Thank you for your contribution. It's good to see you in Utopian. Though in Utopian we only consider the commits made in last 14 days and seeing the commits it feels like you have mostly added Settings, it would be better if you would have more development effort from the next contributions.

Though it would be better if you can comment on your code so that it would be better to understand complex logic also it would be good to write little descriptive commits.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Ok, I will make more efforts to comment the code and describe the commits. It's my first contribution through steemit and utopian, and I missed the rule about commits made in last 14 days. I'll clarify the rules via discord chat next time, thanks for the review!

Hey @pinkwonder
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Contributing on Utopian
Learn how to contribute on our website or by watching this tutorial on Youtube.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Congratulations @pinkwonder! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the total payout received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard!


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 65359.95
ETH 3492.90
USDT 1.00
SBD 2.51