"Shmup": Published on the AppStore [Source Code Released] !!

A place for people with an interest in developing new shmups.
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

"Shmup": Published on the AppStore [Source Code Released] !!

Post by nicolasbol »

Hello guys,

I've been working for a while on a shmup and I thought I should open some sort of diary.
I would like to get feedback from people to help me considering new ideas.

A member told me previously that people prefer 2D shooters here but mine is 3D based and will run on iPhone and Android. It's super challenging to program with very limited ressources in terms of memory and GPU capabilities and I enjoy it immensely.

The engine is very advanced and for now, I'm working on the concept art. Here is the players 1 ship:
Image

I wanted it compact but elegant and powerful so player will have ease dodging bullet but confidence striking back.

I'll post more concept and video....when I have them ready ;)


EDIT Nov 27th, 2010:

SHMUP has been approved by Apple and is ready for sale on the appStore for 99c:
Here is the link:

http://itunes.apple.com/us/app/shmup/id337663605?mt=8

Image
Last edited by nicolasbol on Thu Jun 30, 2011 11:31 pm, edited 6 times in total.
My computer graphics activity diary: http://fabiensanglard.net
User avatar
wondersonic
Posts: 253
Joined: Wed May 12, 2010 3:55 pm

Re: Rage-Shup: Diary of a shmup development

Post by wondersonic »

Great design :D

I wish you good luck for this project :!:
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shup: Diary of a shmup development

Post by nicolasbol »

Thanks sonic ;) !

Btw, I am sanglardf@yahoo.fr, I think we know each other, mon ami ;) !
My computer graphics activity diary: http://fabiensanglard.net
User avatar
alastair jack
Posts: 115
Joined: Fri Dec 11, 2009 3:32 am
Location: australia
Contact:

Re: Rage-Shup: Diary of a shmup development

Post by alastair jack »

Nice design, pity its for mobiles though.
User avatar
wondersonic
Posts: 253
Joined: Wed May 12, 2010 3:55 pm

Re: Rage-Shup: Diary of a shmup development

Post by wondersonic »

nicolasbol wrote:Thanks sonic ;) !

Btw, I am sanglardf@yahoo.fr, I think we know each other, mon ami ;) !
I recognised the ship design of course :wink: :wink: :wink:
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shup: Diary of a shmup development

Post by nicolasbol »

I understand your skepticism alastair jack. A lot of people told me same thing when I wrote "Fluid 2" for iPhone and iPad and it turned out great.
Also, I love shmup and I won't release something that sucks.

The CPU/GPU horsepower is here, the framerate is maxed out at 60fps (and I settle for nothing less than 60fps) and control are pretty good: Overall I don't think I am going to produce something substandard.

I can send you a demo if you have an iPhone/Itouch (No iPhone 2G or iTouch first generation, the machine's screen run at 30Hz and result is sub-standard..even though it would still work)
My computer graphics activity diary: http://fabiensanglard.net
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shup: Diary of a shmup development

Post by nicolasbol »

Finished the sky dome:

Image

Here is the WIP of a city block, with almost no texture:

Image

The first act is going to be an overfly of a city at dawn. I'll try to generate a video soon.
My computer graphics activity diary: http://fabiensanglard.net
relminator
Posts: 55
Joined: Sat Jun 05, 2010 1:48 pm

Re: Rage-Shup: Diary of a shmup development

Post by relminator »

Looking good dude!!!

Keep the homing lasers alive!
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shup: Diary of a shmup development

Post by nicolasbol »

Here is a video of the city overfly:

Image

http://fd.fabiensanglard.net/shmup_wip/ ... alpha.html

The city block is still missing a loooot of texturing work. The grey color is super ugly as well, I need to settle for something different.
I think the vanilla sky won't change, it looks really great. It was important to have a beautiful sky as I am a huge fan of the movie "Vanilla Sly".

This game will of course be inspired by a lot of the things I like: Vanilla Sky, The blade by Tsui Hark, Ikaruga, Metal Slug...

Anyway, back to work.
My computer graphics activity diary: http://fabiensanglard.net
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

Added enemies.
Added player.

Need to draw two more skydome so user will get perception that night is falling. Vanilla Sky -> Dawn -> Early night with moon.

Also need to add collision detection for player so I can test if control is really a bitch.

Image

http://fd.fabiensanglard.net/shmup_wip/ ... eadMe.html
My computer graphics activity diary: http://fabiensanglard.net
User avatar
wondersonic
Posts: 253
Joined: Wed May 12, 2010 3:55 pm

Re: Rage-Shmup: Diary of a shmup development

Post by wondersonic »

Very nice :)

Some advises/question:
- add a direct link to the video on the web page so that those who are behind a firewall can download it
- no music, sound effects yet? ;)
- could you describe the controls of the player on i-phone?
- what about some tiny FPS indicator?
- what about videos history? (to see the progress of the game)

Keep coding :!:
WS
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

- add a direct link to the video on the web page so that those who are behind a firewall can download it

I wonder if it really will make a difference for the firewall. They usually don't rely on MIME type but rather DNS ,IP or port as far as I know.

- no music, sound effects yet?

It's because there is no easy way to capture a video on iPhone that do justice to my sweet 60fps.
I have musi and sound effect but I don't generate video on the fly (video are generated frame by frame and then re-assembled with Quicktime. I need to write a piece of code to generate the soundtrack and mix it with quicktime.

- could you describe the controls of the player on i-phone?

The big left diamond is control, it is gradual meaning the further you press from the center the faster the ship moves. The two others are fire and special weapon (homing missile).

- what about some tiny FPS indicator?

You can enable this via the preferences button in the iPhone menu. For now fps is maxed out at 60fps.

- what about videos history? (to see the progress of the game)

Good idea ;) !
My computer graphics activity diary: http://fabiensanglard.net
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

Done with the FHT enemy (Flight Hurting Thing)
Image

Also generated a movie with enemies circling around:
http://fd.fabiensanglard.net/shmup_wip/ ... esktop.m4v

There is still a lot of things to be done, like finishing painting the city, add collision detection for the player....but most important write a soundtrack generator so my video have soundtrack....generating iPhone video is stuch a pain in the a**.
My computer graphics activity diary: http://fabiensanglard.net
eviltechie
Posts: 7
Joined: Mon Aug 23, 2010 5:54 pm

Re: Rage-Shmup: Diary of a shmup development

Post by eviltechie »

It's looking really good! Maybe someday I'll have to get, or borrow, and iPhone...lol! Is it going to be released for other mobiles?

Someone should develop something like Fraps for mobiles.
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

It is going to be released on iPhone/iTouch/iPad and Androids.

Maybe I will open source my code to generate video with sound once I'm done.
My computer graphics activity diary: http://fabiensanglard.net
User avatar
wondersonic
Posts: 253
Joined: Wed May 12, 2010 3:55 pm

Re: Rage-Shmup: Diary of a shmup development

Post by wondersonic »

eviltechie wrote:It's looking really good! Maybe someday I'll have to get, or borrow, and iPhone...lol!
Indeed! I can't wait to see textured objects!!!
eviltechie wrote:Someone should develop something like Fraps for mobiles.
And yes, seems to be a market :)
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

Finished the video generator. It was such a pain but I wanted something that would make justice to my sweet 60fps.

Image

http://fd.fabiensanglard.net/shmup_wip/ ... alpha5.mov

I had to go through a three steps process:

- Record user inputs, store then and add the ability to replay (that is actually pretty cool to give my title an arcade touch when an user session gets played when the game is inactive).

- Start the game while playing the recorded inputs with a fix timestep (16ms) and for each frame:
1/ Save openGL framebuffer with glReadPixels. Save it as PNG
2/ Write a few hundreds of WAV frames

- When the playback finish, finalize the WAV file and write the two required cksize.

Code: Select all


#define WAVE_FORMAT_PCM			0x0001		
#define WAVE_FORMAT_IEEE_FLOAT	0x0003	
#define WAVE_FORMAT_ALAW		0x0006	
#define WAVE_FORMAT_MULAW		0x0007
#define WAVE_FORMAT_EXTENSIBLE	0xFFFE

typedef struct master_riff_chnk_t
{
	char			ckID[4];
	unsigned int	cksize;
	char			WAVEID[4];
} master_riff_chnk_t;

typedef struct fmt_chunk_t
{
	char			ckID[4];
	unsigned int	cksize;
	unsigned short	wFormatTag;//	 2	 WAVE_FORMAT_PCM
	unsigned short	nChannels;//	 2	Nc
	unsigned int	nSamplesPerSec;//	 4	F
	unsigned int	nAvgBytesPerSec;//	 4	F * M * Nc
	unsigned short	nBlockAlign	;// 2	M * Nc
	unsigned short	wBitsPerSample;//	 2	rounds up to 8 * M
	
} fmt_chunk_t;

typedef struct basic_chunk_t
{
	char			ckID[4];
	unsigned int	cksize;
} basic_chunk_t;

typedef struct wave_file_t
{
	master_riff_chnk_t riff;
	fmt_chunk_t fmt;
	basic_chunk_t dataChunk;
} wave_file_t ;


In the end I have a sequence of PNGs, a WAV file and the MP3 file. I combine all this with quicktime. It's a lot of effort but I think it's worth it, I can't stand crappy videos.
My computer graphics activity diary: http://fabiensanglard.net
User avatar
Sasupoika
Posts: 471
Joined: Sat Nov 15, 2008 11:44 am

Re: Rage-Shmup: Diary of a shmup development

Post by Sasupoika »

Wait, the game can record videos out of replays? Holy shit that is awesome.
ImageImage
User avatar
Udderdude
Posts: 6294
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: Rage-Shmup: Diary of a shmup development

Post by Udderdude »

Or you could just use FRAPS and have a much easier to deal with output .. :3

Nice demo, those enemies ever going to shoot anything?
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

@Sasupoika Thanks ! I'm even thinking about the ability to send replay to a central server to people can share their amazingness.

@Udderdude

I wish I could use FRAPS but it's not an option on iPhone. Plus now I understand RIFF , WAV and PCM ;) !

The FHTs (Flying Hurting Thing) ( the circle with blades) won't shot any bullets: they destroy you by contact. The LEEs (Light Easy Enemy) will fire for sure. I am not sure yet what but I want something cool looking but easy to dodge as it is the act1 and I want the player not to get overwelmed righ away so it won't be a bullet hell spin. Right now, I am thinking of a straight down blazing laser (independance day style:

Image

The attack will start as a thin unarmful ray of light in the style of the air-sol laser that destroy Tetsuo's arm:

See video at 5:20

http://www.youtube.com/watch?v=tyObodnd ... re=related

The thin light stream will form and last for 700ms and then a full bright blast.
The player will probably understand it's nothing good at first sight. And will dodge before the full blast go down.
My computer graphics activity diary: http://fabiensanglard.net
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

Some concept arts for LEE and an other units LOFB:

Image

Image
My computer graphics activity diary: http://fabiensanglard.net
User avatar
wondersonic
Posts: 253
Joined: Wed May 12, 2010 3:55 pm

Re: Rage-Shmup: Diary of a shmup development

Post by wondersonic »

nicolasbol wrote:Some concept arts for LEE and an other units LOFB:

Image

Image
Great!

I like the way the entities are presented. Will you put reduced pictures of these entities in the game? (end of a stage to know how many of them you killed, or in a sub-menu to see them once you killed at least one in the game).

Clearly, they are so beautiful it would be a shame not using it in the game ;)
User avatar
wondersonic
Posts: 253
Joined: Wed May 12, 2010 3:55 pm

Re: Rage-Shmup: Diary of a shmup development

Post by wondersonic »

nicolasbol wrote:@Sasupoika Thanks ! I'm even thinking about the ability to send replay to a central server to people can share their amazingness.
Argh, you had the same idea as me :) maybe not so developed though:

I imagined a way to register all events (mini database) so that complex scoring system could be implemented afterwards (once the level is finished) ; or even:
- realtime analysis of player moves to adjust ennemies attack patterns with player style
- previous run analysis again to make the next time the level is played harder
nicolasbol wrote:...The attack will start as a thin unarmful ray of light in the style of the air-sol laser that destroy Tetsuo's arm:

See video at 5:20

http://www.youtube.com/watch?v=tyObodnd ... re=related

The thin light stream will form and last for 700ms and then a full bright blast.
The player will probably understand it's nothing good at first sight. And will dodge before the full blast go down.
:D I can see we share some inspiration sources ;)

(I can't remember how many times I watched this movie and in my third level, one event will remind you this great movie! ;) )
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

Yea, Akira and Otomo rules my childhood.

As for the real time analysis, I don't think my poor iPhone will have enough juice.

I've been working on making the night fall, from vanilla sky to moon night.

Evening
Image

Night
Image

Movie, still no firing enemies, I've been busy compiling the game on windows for my artist partner:

http://fd.fabiensanglard.net/shmup_wip/ ... alpha6.mov
My computer graphics activity diary: http://fabiensanglard.net
User avatar
wondersonic
Posts: 253
Joined: Wed May 12, 2010 3:55 pm

Re: Rage-Shmup: Diary of a shmup development

Post by wondersonic »

Looks beautiful, also the video is better with the LEEs :)

One question: will the night fall have influence on the city rendering? (colors, shadows, light, reflection...)

One remark: it may be cool (since you have full control of your video extractor) to see player fingers positions on the gray buttons; for example a little red dot when the fire button is hit and same thing for the direction controller. Or maybe just removing these buttons could be best for WIP videos.

Anyway, a longer video with more music: cool :D
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

@wonder


The light will change and so will the rendition of the city, this is done mostly by reducing the 3 components of the light : ambient, specular a little but also diffuse (to a lesser extend).

About the button I will remove them for the next video, I just wanted people's opinion regarding the button shape and sizes.
My computer graphics activity diary: http://fabiensanglard.net
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

Done some testing with the bounding boxes. All collisions detection are performed in screen space:

Image

I'm trying to keep things to the player's advantage:

- Easy to touch enemies: Large player bullets, large enemies
- Easy to dodge enemies bullets and enemies: small collision boxe for the player
My computer graphics activity diary: http://fabiensanglard.net
User avatar
Udderdude
Posts: 6294
Joined: Thu Feb 16, 2006 7:55 am
Location: Canada
Contact:

Re: Rage-Shmup: Diary of a shmup development

Post by Udderdude »

To be honest the player's hit box is still a bit large. You want to make it square, not rectangular. And don't make the hit area cover parts of the ship that aren't even there!
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

@Udderdude I agree, it is now smaller and square.

Image
My computer graphics activity diary: http://fabiensanglard.net
nicolasbol
Posts: 33
Joined: Mon Jul 19, 2010 11:36 pm

Re: Rage-Shmup: Diary of a shmup development

Post by nicolasbol »

Finished the network layer. There is still a few things I need to improve, especially when the game is running on two different machine in terms of speed:

http://fd.fabiensanglard.net/shmup_wip/ ... titled.mov

Player pointer, I still have a nasty bug with player 2. The font is also a bit too transparent, I need to re-work the alpha channel to be more opaque.
Image

Image

Also finished a beginning of concept art for the heavy bomber:

Image

That's is for the day.
My computer graphics activity diary: http://fabiensanglard.net
Post Reply