Welcome, Guest. Please Login or Register.  • Help
SMF Underground
+ SHMUP-DEV » RAPID PROTOTYPE SESSIONS » Older Sessions » Session 3
|-+ Hima's entry (Done)

Pages: [1]   Go Down
0 Members and 1 Guest are viewing this topic. Topic Tools  
Read August 13, 2008, 04:48:31 pm #0
hima

Hima's entry (Done)

I got an idea for this, but I don't know whether I'll be able to execute it or not, due to my lack of knowledge in graphic programming Cry  Well, I'll try my best though!
« Last Edit: August 25, 2008, 04:03:10 pm by hima »
Offline  
Read August 13, 2008, 07:13:47 pm #1
kdmiller3

Re: Hima's entry

I found SDL and OpenGL made graphics programming relatively easy.  The game project I've been working on since Thanksgiving 2007 started out with a tutorial I found online and grew from there.  I hadn't used SDL or OpenGL before and picked up the basics within a few days.  Setting up projection and model view matrices is the hardest part; submitting geometry is easy by comparison.

Even if you aren't able to get it to work, I figure you'll at least learn something along the way.  Smiley
Offline  
Read August 13, 2008, 08:36:10 pm #2
berilium

Re: Hima's entry

Hi there Hima!!

Nice to see you are getting in. I am sure you will do fine since you always manage to submit nice games. IMHO.

There is no need for a graphically polished game since is more about testing gameplay ideas. Although for what you said would it be that your idea relies on certain type of graphics?

So yeah! Good luck! Smiley
Offline  
Read August 14, 2008, 02:37:58 am #3
hima

Re: Hima's entry

Thank guys Smiley The reason why I think I need more knowledge in graphic programming is that I was thinking about the game mechanic where you have to slice an enemy in to pieces.

Like, you move your mouse in a 'slash' manner as if you're slashing the enemy. Slash it once, and it's separated in to two pieces. Once you started slashing, the timer will start counting down and you can slash as many time as you want before the timer reach 0. Once the slashing is over, the enemy pieces will burst and any enemy that is hit by the pieces will be explode and any enemy that is in the explosion range will be damaged by the explosion, giving you a chain reaction.


It's still a rough idea. The problem is programming how to slice the enemy, which is difficult for me because I have no idea how to achieve that.(Thinking about using subimage to create a rectangle and then make some of the pixel transparent pixel by pixel, but it seems inefficient )

Anyway, I think that idea is nice but it seems to miss something...so I'm start working on the new idea that doesn't require difficult task like slicing images lol

@kdmiller3
 I'm actually learning SDL/OpenGL but haven't gotten really far. But so far, it is pretty easy for me. Still, I'm kind of a person who understand stuffs by doing it so I guess I should make a small game or something with it.
What website that you learn it from? Mine is lazy_foo Smiley 
Offline  
Read August 14, 2008, 02:54:26 am #4
kdmiller3

Re: Hima's entry

What you're trying to do isn't so much a graphics problem as a computational geometry problem.  You're taking a group of polygons that represent an enemy and splitting it into two new groups of polygons along the dividing line.  It's not too bad if you're working with a triangle list, as a given triangle will be divided into at most three triangles (one single and one pair).  The hardest part is generating the new vertices along the dividing line and wiring up a new index list.

I started with the Lazy Foo Productions tutorial too!  How about that?  Cheesy
Offline  
Read August 14, 2008, 03:06:10 am #5
jakman4242

Re: Hima's entry

You could just split a primitive in two to do that, couldn't you?

And I might as well throw the fact into the pot that I started with Lazy Foo as well.


My game design blog -- A bit outdated, but you might like to take a read anyway~
Or read my new blog!~ (which I do update)
My blog.
Offline  
Read August 14, 2008, 05:31:15 am #6
kdmiller3

Re: Hima's entry

That's only true for primitives that the cut line doesn't pass through.

Lazy Foo seems to be a good place to start, it seems.  Smiley
Offline  
Read August 14, 2008, 05:56:58 am #7
hima

Re: Hima's entry

To be honest, I have no idea about whatis this primitive thing :S *embarassed* 

I still don't see how can I'm going to keep track of where the slash start and where the slash end to create a new vertice along the slash line, and I doubt I could do it during this two weeks so I'm going for a new idea instead Smiley Will come up with a screenshot or something tomorrow.

Still, this doesn't mean I give up the slashing idea entirely though.

Oh, what about like in Final Fantasy 12 (or 10) when there's a transition to a battle scene, the game screen then shattered into pieces like a broken mirror. I wonder if I can use that method to apply here?
Offline  
Read August 14, 2008, 06:06:40 am #8
jakman4242

Re: Hima's entry

A primitive is basically a collection of points. You can display them in different ways.
So, a primitive could be this:
[30,20]
[80,20]
[30,60]
[80,60]
And I could have a rectangular primitive drawn at the above said coordinates. But how I draw them depends on the primitive. I could say use a triangle fan to make it look filled in, by drawing numerous triangles in the fill space. Or I could use a Line list to make it look like an outline of a rectangle.

That's just the concept in a nutshell, though.


My game design blog -- A bit outdated, but you might like to take a read anyway~
Or read my new blog!~ (which I do update)
My blog.
Offline  
Read August 14, 2008, 06:43:22 am #9
kdmiller3

Re: Hima's entry

I should have used "polygons" instead of "primitives".

If you want to try this in the future, I'd recommend submitting your geometry as an indexed triangle list using glDrawElements.  Given an array of vertices and an array of indices for an entity, you would draw it like this:

Code:
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawElements(GL_TRIANGLES, numindices, GL_UNSIGNED_BYTE, indices);
glDisableClientState(GL_VERTEX_ARRAY);

The fun part comes when you need to split your triangle list along the cut line.  You'll start by partitioning the vertices into two new arrays, one for each side of the line, and noting where each of the original vertices went.  For each triangle with vertices entirely on one side of the line, you just remap its indices and add them to the index array for the that side.  For each triangle split by the line, you'll create two new vertices where the line intersects its edges and add them to the vertex arrays for both sides.  You'll add one new triangle to the side with one original vertex, and two new triangles to the side with the other two.  The end result will be two new triangle lists.
Offline  
Read August 14, 2008, 08:18:43 pm #10
berilium

Re: Hima's entry

To be honest, I have no idea about whatis this primitive thing :S *embarassed*

Think of Primitives as the simplest elements or figures a software application or API or whatever can make use of. In the case of OpenGL, in its simplest form, primitives are point, line, line strip, line loop, triangle, triangle fan, quad, quad strip and polygon.

From there you can get the definition of Polygon Mesh, which is a collection of vertices and/or faces (depending of the context). Such vertices or faces are drawn following the 'rules' defined by the Primitives (as jakman4242 pointed out). So you can choose the type of Primitive to draw your Mesh based on how you want your Mesh look on screen and speed optimizations.
Offline  
Read August 15, 2008, 09:50:29 am #11
hima

Re: Hima's entry

Wow, thanks a lot, guys. This will be useful when I dig deeper into OpenGL.  Smiley I really appreciate all your help.

Right now, I'm amazed by the amount of ideas I come up in this session. I'm overwhelmed and don't really know which one should I pursue @_@ They all rely on the same concept of color chaining , but at the same time the gameplay mechanics are totally different. I doubt I'll have time to work on all of them,giving two weeks dev time...so I really have to choose just one idea here *sigh*  I was going to choose gallery shooting this time too, but seeing Bill is going to make one already, I probably stick with arena shmup :S

Yeah, I think it's really obvious that I'm excited about this session lol
Offline  
Read August 17, 2008, 11:46:14 am #12
hima

Re: Hima's entry

Finally I decided to go with some sort of action puzzle + shmup hybrid, with space invader graphic as a place holder for now Tongue

<a href="http://www.youtube.com/v/gbbhx4XYc18" target="_blank">http://www.youtube.com/v/gbbhx4XYc18</a>

Basically, I'm going for a versus-shooting-puzzle game, but right now I'm testing the chaining system first. So, there are two types of enemies, which only one of them are in the video lol. Let's just call them main enemies. Main enemies will always be in formation like in the video. Once they're shot, they'll leave their souls behind with the corresponding color. There are two ways to get rid of their souls. First is by shoot it down, and second by grouping them into three or more souls of the same color. Whatever you do, once a soul is destroy, it'll explode an the main enemies that are in the explosion range will also killed, also leaving their souls behind, and the chain reaction goes on.

The second type is Support Enemy, which can fly around the screen and will try to shoot you down. Making a lot of chains will send more main enemies and common support enemies to the opponent. Chaining will also give you energy which you can spend on sending special support enemies or boss to your opponent.

Programming A.I. would be a lot of work @_@; If things not work out for some reason I'll just make it one player mode.
« Last Edit: August 17, 2008, 11:51:45 am by hima »
Offline  
Read August 17, 2008, 04:45:32 pm #13
kdmiller3

Re: Hima's entry

That's really slick.  You've really got something going there.  Cool

Offline  
Read August 17, 2008, 04:59:48 pm #14
the2bears

Re: Hima's entry

hima, that is really cool looking.  The chain reaction with explosions is really great!

Bill


the2bears - the indie shmup blog
Offline  
Read August 18, 2008, 01:04:34 am #15
jakman4242

Re: Hima's entry

I'm a bit confused, but that was awesome. I recommend steering away from Game Maker's built in effects. Well, that is, if you're using Game Maker. It looks like it.

I really need to get to my project, I haven't even set up the actual explosions yet!  Lips Sealed


My game design blog -- A bit outdated, but you might like to take a read anyway~
Or read my new blog!~ (which I do update)
My blog.
Offline  
Read August 18, 2008, 04:15:15 am #16
hima

Re: Hima's entry

I'm a bit confused, but that was awesome. I recommend steering away from Game Maker's built in effects. Well, that is, if you're using Game Maker. It looks like it.

I really need to get to my project, I haven't even set up the actual explosions yet!  Lips Sealed

It might sounds confusing but it isn't really that complicate, or so I hope!
And yep, I'm using GM. I just want to see if my idea work first. After all, this session is more about experimenting with your idea than delivering a finished polished game Smiley
Offline  
Read August 18, 2008, 07:32:31 am #17
jakman4242

Re: Hima's entry

Well, I would rather see nothing than the GM effect, personally. But I guess it's just because I've been using Game Maker so long, I'm just sick of them...

...can't wait to play!


My game design blog -- A bit outdated, but you might like to take a read anyway~
Or read my new blog!~ (which I do update)
My blog.
Offline  
Read August 18, 2008, 08:03:08 am #18
hima

Re: Hima's entry

He he he I understand what you mean. I might change it if I have time after everything is done Smiley

Right now I'm having a problem with A.I.  I wonder how Zun did it in his Phantasmagoria Of Flower View?  For now I'm gonna let the A.I. randomly move and shoot...though it isn't really challenging Sad
Offline  
Read August 18, 2008, 09:38:53 pm #19
Taylor

Re: Hima's entry

This looks really cool.

ZUN also did the versus thing in PoDD, so it can't be too complicated or the PC-98 would explode. Though the AI in PoFV might be different, of course.

It seems to only dodge bullets when their in close proximity (to the point it'll let a massive cluster of bullets fall on top of it and zig-zag insanely for a few seconds), and most of its big movements are towards shooting down enemies.
Offline  
Read August 19, 2008, 01:48:18 am #20
jakman4242

Re: Hima's entry

He he he I understand what you mean. I might change it if I have time after everything is done Smiley

Right now I'm having a problem with A.I.  I wonder how Zun did it in his Phantasmagoria Of Flower View?  For now I'm gonna let the A.I. randomly move and shoot...though it isn't really challenging Sad

If the game is freeware and you provide me a direct download link, I could probably tell you how. In theory only, of course. I'll leave the hard-coding to you.


My game design blog -- A bit outdated, but you might like to take a read anyway~
Or read my new blog!~ (which I do update)
My blog.
Offline  
Read August 25, 2008, 01:29:15 pm #21
hima

Re: Hima's entry

Well, I did what I could in time. It's a bit rush, I admit Sad But because of my internship, I'll be extremely busy during these two weeks since some rush jobs come in. It isn't a very productive one either. I have to increase the text field of four hundred oracle reports so that it looks nice on Unix. Pretty stupid if you ask me....anyone can increase the text field! It's just click and drag. Gosh, I hate it. I'd rather spend time on making games Cry


Well, enough rant! Here's the game and how to control

- A to move left and D to move right
- J to shoot normal bullet.
- K to shoot color bullet, you must have destroyed enemies so that you have color bullet in stock before you can shoot though.
- S to call a new row of enemy.

Game Basic :
 - Kill an enemy and it'll leave its soul. Group three or more souls of the same color to start the chain reaction! The higher the chain, the more aggressive are the enemies on your opponent screen
 - Get hit by the bullet and you'll be damaged by one row of enemy.
 - If enemies can reach you it's game over!

Enjoy Cheesy
« Last Edit: August 25, 2008, 01:30:49 pm by hima »
Offline  
Pages: [1]   Go Up
Jump to:  

Page created in 0.18 seconds with 20 queries.