Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Bullet hell (Touhou) fangame  (Read 16646 times)

0 Members and 2 Guests are viewing this topic.

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« on: April 05, 2010, 01:09:34 pm »
I've only been using SFML since a day and I've already started an ambitious project. It's a Touhou fangame. Touhou is a bullet hell game, a shoot'em up focused on dodging a lot of bullets. Here's a video of my progress for now.



Anyone interested in giving an hand?

I'm planning to make boss battles non-hardcoded, instead scripted in external .lua files that are loaded using LuaInterface.

Oh, the project is written in C#, not C++.

Spidyy

  • Sr. Member
  • ****
  • Posts: 493
    • View Profile
Bullet hell (Touhou) fangame
« Reply #1 on: April 05, 2010, 02:17:11 pm »
Why don't you try to use already existing Touhou editor like Touhou Danmafuku? =p

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« Reply #2 on: April 05, 2010, 02:20:39 pm »
Quote from: "Spidyy"
Why don't you try to use already existing Touhou editor like Touhou Danmafuku? =p


Oh, I use Danmakufu a lot. I created 2 boss battles, and released them on Shrinemaiden.

However it is very limited.

What I am trying to create will be much more flexible than Danmakufu, I hope.

Here's a new video.

Spidyy

  • Sr. Member
  • ****
  • Posts: 493
    • View Profile
Bullet hell (Touhou) fangame
« Reply #3 on: April 05, 2010, 02:35:09 pm »
Hey, did you know you got a concept here? Instead of playing Reimu as always, make the player play a boss, with her own spellcards, and the player must defeat reimu controlled by the CPU. :]

Anyway, good luck for your project!

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« Reply #4 on: April 05, 2010, 02:37:44 pm »
That sounds cool! However I think I could create a 2-player mode (maybe over the internet) where a player draws danmaku with his mouse, and the other one dodges.

Or maybe a script editor that "records" your mouse movements and creates a script that does the same thing. The possibilities are endless! :p

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« Reply #5 on: April 05, 2010, 03:38:23 pm »
New video

Spidyy

  • Sr. Member
  • ****
  • Posts: 493
    • View Profile
Bullet hell (Touhou) fangame
« Reply #6 on: April 05, 2010, 04:32:19 pm »
What did you used for the white bullets? Simple image with transparency or some rendering tricks?

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« Reply #7 on: April 05, 2010, 04:46:50 pm »
Quote from: "Spidyy"
What did you used for the white bullets? Simple image with transparency or some rendering tricks?


I used BlendMode.Add.

Anyway I have a big problem: I implemented LuaInterface to create bullet patterns, and it's working. However, I can't manage to find a way to make the program "wait" for some frames. Here's my Lua script:

Quote
luanet.load_assembly("SFMLTouhou");

for k=1,32 do
   for i=1,32 do
      CreateBullet(200, 200, 11.25 * i + k, 5);
      Wait(100);
   end
end


The "Wait" function currently does nothing. How can I make my script just wait some frames then continue, without obviously stopping the player and the rest of the game?

Spidyy

  • Sr. Member
  • ****
  • Posts: 493
    • View Profile
Bullet hell (Touhou) fangame
« Reply #8 on: April 05, 2010, 04:51:52 pm »
I figured out after asking for the Blend::Add. :/ Now I have a reason to use this option. :p

For the wait thing, I don't know how to use Lua, but can't you code it in your C# class, like adding a wait timer in your bullet generator?

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« Reply #9 on: April 05, 2010, 05:03:07 pm »
I can't figure out how to do it. Can you make an example?

---

Nevermind, I found a solution.

I have another problem now: creating a large amount of bullets at the same time slows down the game a lot. After they're created however the FPS is back to 60.

What can I do to prevent this?

Spidyy

  • Sr. Member
  • ****
  • Posts: 493
    • View Profile
Bullet hell (Touhou) fangame
« Reply #10 on: April 05, 2010, 06:35:56 pm »
Huh it can come from many thing, but you can do some optimizations.

The most common is to create a simple array of bullet and use a bool to set them alive/dead when you need/don't need them, instead of creating new bullet each time you need to add one (with new/delete).

I know there is another way to display bullet more efficiently but I never tried it.

If you didn't already done it, go see on www.shmup-dev.com, there is one or two tutorials to optimize your bullet engine.

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« Reply #11 on: April 05, 2010, 11:05:15 pm »
Thanks. I made big progress today.

Successfully implemented LUA scripting. Look at these two videos (and read the first one's description).



Spidyy

  • Sr. Member
  • ****
  • Posts: 493
    • View Profile
Bullet hell (Touhou) fangame
« Reply #12 on: April 05, 2010, 11:16:59 pm »
What are the strange green circle inside the bullet that appear time to time? Hitbox? :s

Looks pretty nice though!

SuperV1234

  • SFML Team
  • Full Member
  • *****
  • Posts: 190
    • View Profile
Bullet hell (Touhou) fangame
« Reply #13 on: April 05, 2010, 11:21:57 pm »
Quote from: "Spidyy"
What are the strange green circle inside the bullet that appear time to time? Hitbox? :s

Looks pretty nice though!


Yes, those are the hitboxes.

Thanks! :)

Sivak

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Bullet hell (Touhou) fangame
« Reply #14 on: April 06, 2010, 04:23:17 am »
Neat.  I'm also doing a Shmup, though wanna do my own twist on things.  I'm in the process of trying to figure out a good way to get enemies to get loaded in from a file properly.  I'd like to know how you got the blue glowing effects on things.  The whole graphic side of this concerns me.