Bullet Hell (Touhou Style)
Moderator: PC Supremacists
Bullet Hell (Touhou Style)
Hey guys, I've lurked these forums for a while and was inspired by a thread about a topdown zombie shooter that was put on xbox live (I can't find the thread anymore though - nevermind haha it's still on the first page) and obviously the AIGD series so I thought I'd post my own creation.
Here's a video if you don't know what Touhou is (I highly suggest playing it, it's made by one dude which is pretty nutts considering the quality+quantity)
http://www.youtube.com/watch?v=4Nb5Ohbt1Sg
Recently single (thank god) and hit hard by senioritis (I'm actually procrastinating for a physics lab right now)
I'm going to be doing a lot more programming (java). In the past I've made pong and a map editor but now I think it's time to make something legit.
(yea I know java is hated in these forums haha but I want to make it playable on android devices)
I plan to use this thread in order to log my progress and to post pretty pictures (it's a bullet hell game man, it's gonna be sexy)
Day 1 Progress:
Day 2 Progress:
The enemies are created by reading time, coordinate, etc... information from a text file and they currently follow paths which are designated by coordinates in a text file (each route has its own file)
Currently the game just has a controlled framerate game loop, input, some output, basic collisions, levels via files, routes via files (I plan on adding a level editor and a route editor this weekend), and really terrible graphics
Today I worked for four hours on collisions, two of which consisted of debugging a logic statement haha... Hopefully tomorrow my time will be used better. Maybe I'll get alphablending working or something (if somebody experienced in java can help me on this topic that would be much appreciated).
Thanks!
(Oh yea, I plan on adding music to the game, this producer is making the tracks so check him out too! http://soundcloud.com/dj-skipsalot - hopefully this is ok)
Here's a video if you don't know what Touhou is (I highly suggest playing it, it's made by one dude which is pretty nutts considering the quality+quantity)
http://www.youtube.com/watch?v=4Nb5Ohbt1Sg
Recently single (thank god) and hit hard by senioritis (I'm actually procrastinating for a physics lab right now)
I'm going to be doing a lot more programming (java). In the past I've made pong and a map editor but now I think it's time to make something legit.
(yea I know java is hated in these forums haha but I want to make it playable on android devices)
I plan to use this thread in order to log my progress and to post pretty pictures (it's a bullet hell game man, it's gonna be sexy)
Day 1 Progress:
Day 2 Progress:
The enemies are created by reading time, coordinate, etc... information from a text file and they currently follow paths which are designated by coordinates in a text file (each route has its own file)
Currently the game just has a controlled framerate game loop, input, some output, basic collisions, levels via files, routes via files (I plan on adding a level editor and a route editor this weekend), and really terrible graphics
Today I worked for four hours on collisions, two of which consisted of debugging a logic statement haha... Hopefully tomorrow my time will be used better. Maybe I'll get alphablending working or something (if somebody experienced in java can help me on this topic that would be much appreciated).
Thanks!
(Oh yea, I plan on adding music to the game, this producer is making the tracks so check him out too! http://soundcloud.com/dj-skipsalot - hopefully this is ok)
Last edited by layhooo on Thu Nov 29, 2012 1:57 am, edited 3 times in total.
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: Bullet Hell (Touhou Style)
Looking, good, homes! You using a shitload of trig for the bullet projections?
And you aren't going to hear anybody bitch about your language of choice... Sure, it isn't my favorite, but you're doing something awesome with it, and that's all that matters.
And you aren't going to hear anybody bitch about your language of choice... Sure, it isn't my favorite, but you're doing something awesome with it, and that's all that matters.
- dandymcgee
- ES Beta Backer
- Posts: 4709
- Joined: Tue Apr 29, 2008 3:24 pm
- Current Project: https://github.com/dbechrd/RicoTech
- Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
- Programming Language of Choice: C
- Location: San Francisco
- Contact:
Re: Bullet Hell (Touhou Style)
Cool project! You seem off to a good start, hope you stick with it and make something fun.
Also, feel free to post links to soundcloud or whatever, we welcome that sort of thing!
Also, feel free to post links to soundcloud or whatever, we welcome that sort of thing!
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches!
Re: Bullet Hell (Touhou Style)
Yea dude haha I need to fix a few things I think I'm doing excess calculations because once 30 or more enemies get on the screen it just craps out. When I add rotations that's the true test...Falco Girgis wrote:Looking, good, homes! You using a shitload of trig for the bullet projections?
And you aren't going to hear anybody bitch about your language of choice... Sure, it isn't my favorite, but you're doing something awesome with it, and that's all that matters.
Day 3 Update:
I started a todo/done list so for today here's what I got done:
Monster Health 11/28/2012 (you can kill stuff now!)
Check Bullet velocity - it should not be so fast that the bullet skips over stuff 11/28/2012
Change bullet velocity to depend on theta and r 11/28/2012
- Change it from Cartesian coordinates to polar coordinates basically
Fix Multiple Collisions Issue - just have to remove the bullet upon first collision 11/28/2012
- This was just dumb
Optimize calcVelX/Y (should calc once per coordinate and not while the bullet is traveling to that coordinate) 11/28/2012
- Previously I was recalculating every velocity component every single frame ha...
Transparency DANG'T!!! 11/28/2012
- This took SOOOOOO long but now that it's done let the sexy begin
It's feeling really good. I'll try to make a video once there's more cool stuff to show
Suggestions much appreciated!!!
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: Bullet Hell (Touhou Style)
What graphics library/API/framework are you using? Is this basica Java forms/rendering?
Your poor rotational performance is more than likely a side effect of the rendering mechanism rather than your own slow calculations. I can't see even 30-ish inefficient trig projectile calculations coming anywhere near a slowdown. Your rendering mechanism is probably software-based. Scaling and rotating is quite slow in an environment like this.
Nice update, though. Looking sweet. :D
Your poor rotational performance is more than likely a side effect of the rendering mechanism rather than your own slow calculations. I can't see even 30-ish inefficient trig projectile calculations coming anywhere near a slowdown. Your rendering mechanism is probably software-based. Scaling and rotating is quite slow in an environment like this.
Nice update, though. Looking sweet. :D
Re: Bullet Hell (Touhou Style)
Well honestly I hadn't realized that the built in java graphics class wasn't hardware accelerated and it was just built in all nicely so I didn't think about using any outside libraries (I read that there is an opengl api for java so I might look into that)
This page talks about a method for java hardware acceleration: http://www.javalobby.org/forums/thread. ... 0&tstart=0 but most of the people are saying that the normal graphics classes should handle most anything.. I'm not sure I'll run some tests (it probably really is a fault of my programming though it's pretty sloppy considering I just add stuff without really planning for organization)
edit: on second thought if I'm going to making something as graphical as a bullet hell game good graphics should be my primary concern so I'll try to implement that volatile image class
This page talks about a method for java hardware acceleration: http://www.javalobby.org/forums/thread. ... 0&tstart=0 but most of the people are saying that the normal graphics classes should handle most anything.. I'm not sure I'll run some tests (it probably really is a fault of my programming though it's pretty sloppy considering I just add stuff without really planning for organization)
edit: on second thought if I'm going to making something as graphical as a bullet hell game good graphics should be my primary concern so I'll try to implement that volatile image class
- lalacomun
- VS Setup Wizard
- Posts: 114
- Joined: Wed Dec 28, 2011 10:18 pm
- Favorite Gaming Platforms: psx, nintendo ds, gameboy advance, xbox 360, ps2
- Programming Language of Choice: C++
- Location: Argentina
- Contact:
Re: Bullet Hell (Touhou Style)
Well, the game is looking great, pretty much like the video one!
as regard to the slowdowns, maybe its just a limitation of the java graphic software rendering, you may wanna try lwjgl(Lightweight Java Game Library), it gives you acces to OpenGL, OpenAL (for audio) etc.. and since its a lib it contains lots of usefull "Tools" like importing Blender models easily or access to controllers like joysticks and much more
as regard to the slowdowns, maybe its just a limitation of the java graphic software rendering, you may wanna try lwjgl(Lightweight Java Game Library), it gives you acces to OpenGL, OpenAL (for audio) etc.. and since its a lib it contains lots of usefull "Tools" like importing Blender models easily or access to controllers like joysticks and much more
Re: Bullet Hell (Touhou Style)
That library looks really good and looking at it for a while brought me to this library http://libgdx.badlogicgames.com/ which claims desktop(pc and mac)/android (and apparently in the future ios) cross platform support. That all sounds really nice haha The only thing is I'm not sure how good of a library it is, does anyone have any advice in choosing an API?
Edit:
Found a useful post
" ra4king
Re: Help me choose (libGDX or LWJGL)
« Reply #1 on: January 21, 2012 »
You can't compare libGDX and LWJGL because they are two different things. LWJGL just provides a simple binding to OpenGL in Java. libGDX is a framework developed around LWJGL for the desktop and also has an Android backend.
libGDX lets you use OpenGL without worrying about how OpenGL works. If you want to get something done quickly, use libGDX. To learn OpenGL, use LWJGL "
Well I wasn't really planning on learning OpenGL so it seems libgdx would be a good choice but then again it's higher level and OpenGL is pretty universal so ill have to learn it eventually. Any thoughts?
Edit:
Found a useful post
" ra4king
Re: Help me choose (libGDX or LWJGL)
« Reply #1 on: January 21, 2012 »
You can't compare libGDX and LWJGL because they are two different things. LWJGL just provides a simple binding to OpenGL in Java. libGDX is a framework developed around LWJGL for the desktop and also has an Android backend.
libGDX lets you use OpenGL without worrying about how OpenGL works. If you want to get something done quickly, use libGDX. To learn OpenGL, use LWJGL "
Well I wasn't really planning on learning OpenGL so it seems libgdx would be a good choice but then again it's higher level and OpenGL is pretty universal so ill have to learn it eventually. Any thoughts?
- lalacomun
- VS Setup Wizard
- Posts: 114
- Joined: Wed Dec 28, 2011 10:18 pm
- Favorite Gaming Platforms: psx, nintendo ds, gameboy advance, xbox 360, ps2
- Programming Language of Choice: C++
- Location: Argentina
- Contact:
Re: Bullet Hell (Touhou Style)
layhooo wrote:That library looks really good and looking at it for a while brought me to this library http://libgdx.badlogicgames.com/ which claims desktop(pc and mac)/android (and apparently in the future ios) cross platform support. That all sounds really nice haha The only thing is I'm not sure how good of a library it is, does anyone have any advice in choosing an API?
Edit:
Found a useful post
" ra4king
Re: Help me choose (libGDX or LWJGL)
« Reply #1 on: January 21, 2012 »
You can't compare libGDX and LWJGL because they are two different things. LWJGL just provides a simple binding to OpenGL in Java. libGDX is a framework developed around LWJGL for the desktop and also has an Android backend.
libGDX lets you use OpenGL without worrying about how OpenGL works. If you want to get something done quickly, use libGDX. To learn OpenGL, use LWJGL "
Well I wasn't really planning on learning OpenGL so it seems libgdx would be a good choice but then again it's higher level and OpenGL is pretty universal so ill have to learn it eventually. Any thoughts?
Well, its like asking, what do i learn, OpenGL or Ogre3D, Ogre3D in this case libGDX its a lib that makes your job easier, it provides lots of functions that "wrap" OpenGL, you dont even have to learn it, you just need to know the Lib's functions for example:
Code: Select all
void RenderTriangle()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex3f(0.0,2.0,-5.0);
glVertex3f(-2.0,-2.0,-5.0);
glVertex3f(2.0,-2.0,-5.0);
glEnd();
}
i really recommend you to learn OpenGL, but its your choise
Re: Bullet Hell (Touhou Style)
Yea I think I wanna go with lwjgl so this thread might go a little bit slower for a while considering I'll have to rewrite a hefty chunk of the code
Re: Bullet Hell (Touhou Style)
So over the weekend I began learning lwjgl (it's not as bad as I thought it would be, but I'm sure it gets a lot harder). Here's my current progress porting:
Textures are on my todo list now. Also I need to add a lot of functionality back in that I had to erase to make porting easier (for example, I need to add enemy spawning back in)
I also did some work on the main character sprite but it's on another computer so I'll try to edit it into this post tomorrow
I'll make a video once I've kinked out all the bugs and textures are in
Textures are on my todo list now. Also I need to add a lot of functionality back in that I had to erase to make porting easier (for example, I need to add enemy spawning back in)
I also did some work on the main character sprite but it's on another computer so I'll try to edit it into this post tomorrow
I'll make a video once I've kinked out all the bugs and textures are in
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: Bullet Hell (Touhou Style)
Very nice. I will be extremely shocked if you don't notice CONSIDERABLE performance boosts after doing this.