EUCLIOD - A Homebrew Bullet Hell for the 3DS

Discussion in '3DS - Homebrew Development and Emulators' started by HexZyle, Mar 19, 2016.

  1. HexZyle
    OP

    HexZyle GBAtemp Regular

    Member
    165
    153
    Sep 12, 2015
    Before I say anything else, I'd like to mention that this project was developed and bugtested on, and for the New 3DS system.

    Rinnegatamante has helped me optimize the game, and the game runs almost flawlessly on N3DS (at present) and although I am aiming to keep the game smooth as possible for the O3DS, don't expect any miracles. (Though I have been informed that the game currently runs at 60 FPS on the O3DS)

    [​IMG]

    This has been a quick project I've undertaken to have a little test of the boundaries of the N3DS's processing power vs the O3DS. (as seen through the eyes of Rinnegatamante's LPP)

    It's also (hopefully) going to be the first game I actually complete in the last 7 years of making random games that are too ambitious for me to finish.

    [​IMG] [​IMG] [​IMG]


    More Screenshots

    Video by TCPixel (Thanks a tonne man)


    Really shoddy video taken by me

    I've only got three levels in at the moment (my level design skills suck) but the levels are stored in plain text file so it should be easy enough to create more. 6 enemies , 3 bosses with multiple phases, and 5 different weapons. It's a bullet hell game: so you get one life, and a tiny hitbox.

    The difficulty system isn't tested, I did most of the bugtesting on the highest difficulty (for the sake of keeping an eye on lag levels), so I don't know if the easier ones are laughably easy or broken.

    Controls:
    A -
    Select (menu only... I'm currently sick of holding down A when playing Mario Kart, and mashing it for Fantasy Life)
    B - Back (only works on ship select screen)
    Y - Fire Primary
    R - Focus Mode (halve movement speed, and uses an alternate weapon)
    Start - Return to Menu
    Select - Take Screenshot
    On the menu, use left and right to increase/decrease difficulty, and change the level (hold Y while changing level to speed-cycle)
    You can remap the Fire and Focus controls to A, B, X, Y, L, R, ZL, or ZR in the options menu if you don't like the default.
    The game is currently D-Pad only, but adding in circle pad controls wouldn't be a stretch. :)

    If anyone gives a crap about level making:
    Map Level Formatting

    [3DSX] Release 6.1
    • Re-added a null file that had been accidentally removed, to fix the red bar loading issue
    [CIA] Release 7
    • Bullets now clear on stage clear
    • Control configuration and theme does not currently save as the config file is in a read-only location
    • Sounds have been disabled as a crippling bug in CIA form causes sounds to loop and memory leak, I have not identified how to solve this problem
    • As the CIA is a compiled installation, there is not currently a way to use custom levels with the CIA version
    [3DSX] Release 6
    • Added sound effects
    • Color scheme is now changeable from options menu. (includes high contrast black and white mode)
    [3DSX] Release 5
    • Added new enemy, "Kamikaze"
    • Added new enemy, "Asteroid"
    • Enemies now will kill you on contact
    • Added Level 3, featuring the two new enemies and a new boss, "Odin's Fleet".
    • Bosses now clear bullets before starting the next phase
    • Corrected a calculation error with the scoring (Difficulty was linearly increasing score instead of multiplicatively)
    • Made some dramatic hitbox corrections for enemy ships
    • Increased Level 1 and 2 boss health by 140% to counter the hitbox change.
    • Grazing has temporarily been removed as a new, faster, and pixel-accurate player hit detection system has now been implemented. Grazing may be added back in a later update
    • Fixed a bug that was causing homebrew launched after EUCLIOD to have messed up graphics
    • FPS counter (hopefully should remain at 60 at all times)
    • Boss health bar
    • Debug mode (hold X before loading screen displays) includes "slideshow" recording which replaces screenshots, displays a couple debug values on the bottom screen, and ups Level 1's boss's final attack to one hundred and eleven for testing lag
    • Fixed a bug that was causing multiple level's enemies to load if you chose a level then backed out of the ship select screen before choosing another level
    • Credits added
    • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience
    Changes

    3DSX: Just extract the archive straight to your SD card and launch via Homebrew Launcher. The unsuffixed zip files are the 3DSX versions.

    CIA: Install the CIA using FBI. The zip file with "_CIA" on the end is the CIA version


    Despite the CIA version having a more recent release, the 3DSX version is still superior. So if you don't mind going 3DSX over CIA, I'd recommend it.

    Credit to Rinnegatamante for developing Lua Player Plus, the application that allows me to program in notepad and not need to know a single other thing about computers or compilers.
     

    Attached Files:

    Last edited by HexZyle, Oct 4, 2016
    VersedXth, XRaTiX, the_leg and 64 others like this.


  2. Rinnegatamante

    Rinnegatamante GBAtemp Psycho!

    Member
    3,127
    3,263
    Nov 24, 2014
    Italy
    Bologna
    Looks pretty nice from screenshots, it remembers me a bit Touhou Project. :D
     
    EmuAGR and Ryuzaki_MrL like this.
  3. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,195
    1,043
    Jan 9, 2006
    Just fucking WOW! This looks absolutely awesome!!!! I have never seen this simplistic graphical bullet hell game before! I will try tonight :)
     
    WeedZ and HexZyle like this.
  4. BurningDesire

    BurningDesire GBAtemp Psycho!

    Member
    4,950
    5,749
    Jan 27, 2015
    United States
    Behind a screen reading news
    I LOVE YOU.
     
  5. HexZyle
    OP

    HexZyle GBAtemp Regular

    Member
    165
    153
    Sep 12, 2015
    Admittingly Touhou Project is the only Danmaku game I've ever played ;)

     
  6. Rinnegatamante

    Rinnegatamante GBAtemp Psycho!

    Member
    3,127
    3,263
    Nov 24, 2014
    Italy
    Bologna
    As for the O3DS
    Me too even if i know @smealum made a pretty nice one for NDS ( http://smealum.net/arsenal_beta/ ).

    Anyway, any chance of getting sourcecode?
    Maybe something can be improved to make framerate more stable even on O3DS.
     
    SLiV3R likes this.
  7. HexZyle
    OP

    HexZyle GBAtemp Regular

    Member
    165
    153
    Sep 12, 2015
    The game's in plain lua if you want to take a look at it. Don't expect it to be pretty though.
     
  8. Rinnegatamante

    Rinnegatamante GBAtemp Psycho!

    Member
    3,127
    3,263
    Nov 24, 2014
    Italy
    Bologna
    I can give it a try, i'm pretty interested on seeing this running good on my O3DS with 4.5 fw <.<
     
    Subtle Demise and SLiV3R like this.
  9. HexZyle
    OP

    HexZyle GBAtemp Regular

    Member
    165
    153
    Sep 12, 2015
    If you can help optimize it, that would be great.
    I actually have no clue how to compile the game into a package.

    It seems that the player's bullets in the game are the laggiest parts as they have to check their collision box with every enemy on screen (recalling data from arrays), every bullet is roughly as resource-intensive as 10-15 enemy bullets, so no big spreadshot crazy weapons yet. (the game did not like having weapon 1 shooting two separate objects)
    Then again, my most recent bug in the game is getting the game to detect when all enemies are dead and thus the level is complete (which it does so by checking enemylist.size, which should increase each time an enemy is spawned, and decrease each time one dies) so perhaps that's the source of the problem.
    It could be an easy fix, but it's late and I just wanted to upload this before I get to bed because I got work early tomorrow.
     
    Last edited by HexZyle, Mar 19, 2016
  10. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,195
    1,043
    Jan 9, 2006
    I get this:

    Error: index.lua file not found

    Where do I put the index.lua file?
     
  11. Rinnegatamante

    Rinnegatamante GBAtemp Psycho!

    Member
    3,127
    3,263
    Nov 24, 2014
    Italy
    Bologna
    Same here, what firmware (and nh build) are you on? I noticed some old payloads don't have romfs support.
     
    SLiV3R likes this.
  12. Allahu_Spooky_Cena

    Allahu_Spooky_Cena Advanced Member

    Newcomer
    97
    63
    Oct 15, 2015
    England
    Index.lua not found, Hax 2.7 gamma, emunand 10.6
     
  13. JustAKirby

    JustAKirby GBAtemp Fan

    Member
    384
    235
    Oct 7, 2015
    United States
    Wouldn't you like to know?
    Finally! Thanks for this contribution to the homebrew scene.
     
    DarkRioru and SLiV3R like this.
  14. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,195
    1,043
    Jan 9, 2006
    Get this message on:
    2.6 Gamma, 2.1 & 1.1b :/

    I'm on FW 9.2
     
    Last edited by SLiV3R, Mar 19, 2016
  15. hobbledehoy899

    hobbledehoy899 Conniption Master

    Member
    2,637
    4,264
    Nov 13, 2015
    United States
    Kernel Version: Linux 4.13.3-1-zen
    This is badass!
     
    JustAKirby likes this.
  16. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,195
    1,043
    Jan 9, 2006
    Are people getting this working?
     
  17. zetaPRIME

    zetaPRIME Advanced Member

    Newcomer
    87
    47
    Jan 12, 2015
    United States
    Quadtrees. Sort objects into quadrants of quadrants of quadrants (until it hits the max or is bigger than the next cell level) and only check collision with things that could be adjacent. Also, if you have pixel collision, rule out by axis-aligned bounding box first.
     
    Subtle Demise and SLiV3R like this.
  18. 8BitWonder

    8BitWonder Small Homebrew Dev

    Member
    733
    501
    Jan 23, 2016
    United States
    47 4F 54 20 45 45 4D
    Cool work!
     
  19. HexZyle
    OP

    HexZyle GBAtemp Regular

    Member
    165
    153
    Sep 12, 2015
    Ah. Emunand 10.7, hax 2.5 I believe.
    I thought the index file goes in the same directory as the 3dsx file. Is it not there?

    Code:
    /3ds/Eucliod/index.lua 
     
    Last edited by HexZyle, Mar 19, 2016
  20. Slashcash

    Slashcash GBAtemp Fan

    Member
    334
    461
    Oct 15, 2015
    Italy
    It's really cool (judging from the screenshot, didn't test it yet) i always wanted to program a game like this myself but i lack in any graphical design skill. (Would love to see the source code to imagine the amount of work involved into a game like this)
     
    Last edited by Slashcash, Mar 19, 2016