DS Game engine?

Discussion in 'NDS - Emulation and Homebrew' started by Crimson Cuttlefish, Jun 6, 2017.

  1. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    Is there any sort of engine to make NDS games? I'm kind of interested in making games for my DSi, if I ever learn to code. Heard of DS Game Maker but I think that was taken down.
     
    MyDePain likes this.
  2. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    I do have an open-source game engine and companion tool. It is meant to receive human-readable scripts that describe the game logic such as "idle->jump on dpad [JUMP_BUTTON] (SET_VY(100 ~))" ... It lacks beta-testing a community forum and tutorials, though, but if you already have some programming experience, it should definitely ease the task of starting a game, esp. if your game has SNES-compatible gameplay.
     
    Tomato Hentai and barronwaffles like this.
  3. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    Do you have a link to this game engine? I'm don't know anything about coding but I'm tryin to learn.
     
  4. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    The project sits at dsgametools. There you can find the game engine library (libgeds), sprite and map editors, animation editor and demo games. There is also the swiss-army-knife tool "runMe" that allows to preview game content before it gets packaged into a dedicated .nds program.

    I upload here runMe.nds together with the resource (.spr and .map files) and scripts for my former game "Apple Assault".

    I suggest you have a look at ASSAULT1.CMD, which contains as much comments as I could put to explain how things work in a game. worm.cmd describes the simplest patrolling ennemy you can think of and funghi.cmd describes a simple-but-somewhat-more-elaborate monster: funky funghi the bouncing mushroom

    Don't hesitate to bug me on twitter (@PypeBros) if you want some explanation and find me not-so-responsive on this forum.

    PS: the game engine has evolved since I released Apple Assault and you find me guilty of not having upgraded the scripts for AppleAssault for compatibility, so at the time writing, the scripts will not play correctly. I'll try to upload patches in the upcoming days if you're interested to work with my tools.
     

    Attached Files:

    Last edited by PypeBros, Jun 7, 2017
  5. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    using it on emulator
    unpack the contents in some directory D. Ensure you have a build of the emulator desmume that allows compact flash storage emulation. Invoke it from directory D as
    Code:
    desmume runMe/runMe.nds --cflash-path=AA-efsroot --load-type=1
    
    You'll enter the runme grid. The application will first try to connect to a firmware-configured access point, which will never work in the emulator, so click "offline" to get past this point
    [​IMG]
    You're now sent to the "file selection" window. Click ".cmd" to force the application to filter what isn't a script and then on the [A/B] key to have the ASSAULT*.CMD files shown in the middle of the touch screen.
    [​IMG]
    Now, tap one of ASSAULT1.CMD, (or another digit, ASSAULT2 to ASSAULT4) the top screen will confirm the selected file.
    [​IMG]
    Now press L + A (DS buttons, not PC keys, of course) to load the selected script in memory.
    [​IMG]
    Once loaded, it is ready for parsing, which you'll do by pressing L+Y. Parsing will automatically pause if it encounters some script error.
    [​IMG]
    The game is loaded. If the script has no error, that's all you need. It isn't convenient to test with the log overlaid, so you can press "log" to hide all that.
    [​IMG]
    the "beam out" button will take you back to the file selection window any time you want.
     
  6. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    Looks awesome! Although, I don't believe I have a D: drive.
     
  7. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    it was D as in "let D be any directory you like" rather than as in "D:\"
     
    Last edited by PypeBros, Jun 8, 2017
  8. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    Ah. I downloaded desmume, I'm not sure how to 'build' it. It's also telling me that "'desmume.exe' is not recognized as an internal or external command, operable program or batch file."
     
  9. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    Sorry. Coder jargon again. "A build" == "A version for a specific OS", so you don't have to build it yourself: it's been built into a .exe by the person who uploaded the package online.

    The other message about desmume.exe not being recognized is a bit more perplexing. Maybe you'll have to copy desmume.exe in directory D along with the files unpacked and open the command line there.

    (sorry: I'm only running windows occasionally, so I'm often failing to provide accurate advices on how to run programs in Windows environment)
     
    Last edited by PypeBros, Jun 8, 2017
  10. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    Using Windows also. CD'd into that directory, still not recognizing.
     
  11. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    ah. Can you give me the link to the desmume package you downloaded ?
     
  12. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
  13. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    looks like the executable is named DesmuME_0.9.11_x64.exe ... let's try using that instead of mere "desmume" in the command.
     
  14. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    "'DeSmuME_0.9.11.x64' is not recognized as an internal or external command, operable program or batch file."
    Putting ".exe" after DeSmuME_0.9.11.x64 doesn't work either.
     
  15. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    - mind the _ between 11 and x64. It looks you used a . instead.
    - does it show up if you invoke "dir" in your command line ?
    - I assume you have a 64-bit version of windows if you picked the x64 package, right ? (i.e. it should start if you double-click it)

    (hope you'll sort it out. I'll have to go to bed, now).
     
    Last edited by PypeBros, Jun 8, 2017
  16. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    Oh, whoops. I'll fix that typo. It seems to have worked! However, where you seem to have a bunch of files and whatnot in the little square in the the bottom screen, i have nothing.
     
  17. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    I found a Windows system to do some test on. I couldn't get the cflash-path option set up from the command line, but it does work when configured through the config->slot2 menu
    [​IMG]
     
  18. PypeBros

    PypeBros Advanced Member

    Newcomer
    54
    50
    Oct 29, 2007
    Belgium
    Belgium
    An updated starter kit. Better error messages and the old game's scripts are now compatible with the revised game engine.
     

    Attached Files:

  19. TheVinAnator

    TheVinAnator GBATemp's Greatest Vin

    Member
    3,552
    2,554
    Jan 10, 2016
    Canada
    NO COFFEI!
  20. Crimson Cuttlefish
    OP

    Crimson Cuttlefish Advanced Member

    Newcomer
    85
    14
    Aug 15, 2016
    United States
    Thanks!