GP32X.com - GP32 GP2X Pandora The Wiz - open source entertainment: My Homebrew Shmup-ish: Superlumenal. - GP32X.com - GP32 GP2X Pandora The Wiz - open source entertainment

Jump to content

  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

My Homebrew Shmup-ish: Superlumenal.

#1 User is offline   Adventus

  • GP Mania
  • PipPipPipPipPip
  • View blog
  • Group: GP32 Hardcore
  • Posts: 454
  • Joined: 01-October 07
  • Gender:Male
  • Location:Canberra, Australia

Posted 01 January 2009 - 01:24 AM

Over the last few weeks i've been learning OpenGL ES 2.0 by making a highscore based minigame. I haven't entirely thought out the gameplay yet, but I want it to be pretty fast paced and intense (I'm a big fan of DoDonPachi). The basic idea at the moment is you can grab an enemy, use them as a shield which spans a user controllable (via an analog stick) 90 degrees for a limited number of hits.... then throw them to stun (or kill) other enemies. I haven't decided on whether to have randomly spawned enemies of not, if i do i'll have visual ques which describe the upcoming attack pattern. Actually, I'll probably do both a random and level based mode.

Anyway, Here's what it looks like sofar (Compiled in X86 Windows with PVR OGLES2.0 emulation):
IPB Image

It should be completely cross platform, The libraries I'm using are: SDL, SDL_ttf and OGLES2.0. So i may release a PC version utilising OGL2.0.

The underlying engine/tools are pretty much complete (except the physics engine). Currently it features:
  • Post processing: Radial/guassian/motion blur and distortions (eg the shock wave you can see in the pic)
  • Particle engine. eg the flames coming off the player/bottom right.
  • Alpha mapped ttf font rendering library. eg "Score: 2350"
  • Shader interfacing code generated from your GLSL source code (so you don't have to remember all your different uniform/attrib datatype's, etc).

My main worry is the SGX performance, most of the rendering doesn't really make use of the advantages a TBDR provide (I'm using lots of additive/alpha blending, no depth buffer, etc). Its also heavily dependant on floats, so some Neon optimisation will probably be in order (Which should be a good learning experience, i haven't written much ASM).

Im calling it "SuperLumenal" (as in faster than light) at the moment, but that could easily change. I'll keep these thread updated as it evolves. Feel free to chip in if you have any ideas.

#2 User is offline   TaG

  • Fau-fau-faulty software.
  • PipPipPipPipPipPip
  • Group: GP32 Hardcore
  • Posts: 1,524
  • Joined: 06-May 08
  • Gender:Male
  • Location:England

Posted 01 January 2009 - 11:46 AM

As no one else as commented, let me.

I think it looks really interesting - nice idea and soooo colourful. Good luck with it.


This thread on documentation may be of interest if you haven't seen it. Apparently you should use Neon a lot or not at all.


#3 User is offline   Tripmonkey_uk

  • Sorry, but I suck at explaining stuff :P
  • PipPipPipPipPipPip
  • Group: GP32 Hardcore
  • Posts: 1,834
  • Joined: 22-December 05
  • Gender:Male
  • Location:The cesspit of the world, Bradford U.K
  • Interests:All of the above!

Posted 01 January 2009 - 12:24 PM

QUOTE(TaG @ Jan 1 2009, 11:46 AM) View Post

I think it looks really interesting - nice idea and soooo colourful. Good luck with it.

+1
I love the grid background used to show the distortion effect. Will you be keeping that in the game or is it just there for testing?

#4 User is offline   Gilrad

  • GP32 Hardcore
  • PipPipPipPip
  • Group: GP32 Hardcore
  • Posts: 222
  • Joined: 17-March 08

Posted 01 January 2009 - 12:25 PM

For pre-programmed enemy attack patterns:

It would be awesome if they were synchronized to music. Like, take some freeware or foreign music, and build stages that are synchronized to the music; waves that come in with the beat, heavy waves, wobbly waves, light waves, etc. Having stages like that would make the game 10000000% more awesome if I were playing it to some awesome music.

#5 User is offline   lippy

  • GP32 User
  • PipPipPip
  • Group: Members
  • Posts: 77
  • Joined: 25-March 06

Posted 01 January 2009 - 08:43 PM

Graphics look awesesome! hope SGX lives up to its hype!

QUOTE
Actually, I'll probably do both a random and level based mode.


I think that would be wise, plus i can't imagine setting up a random mode, where difficulty gradually increases would be too hard, plus it'd be nice for a scoreboard!

#6 User is online   Sphinxter

  • Says What?
  • PipPipPipPipPipPip
  • View blog
  • Group: GP32 Hardcore
  • Posts: 2,775
  • Joined: 01-October 06
  • Gender:Male
  • Location:Silicon Valley California, USA

Posted 01 January 2009 - 09:01 PM

If I read the SDKPackage/Documentation/Migration\ from\ SW\ to\ 3D\ HW.Khronos\ Kolumn.1.1f.External.pdf that came with the PVR emulator correctly using 2d libs like SDL/SDL_ttf may really cost you. Read that and see if you agree it might be better to make a texture with freetype2 instead.

#7 User is offline   Adventus

  • GP Mania
  • PipPipPipPipPip
  • View blog
  • Group: GP32 Hardcore
  • Posts: 454
  • Joined: 01-October 07
  • Gender:Male
  • Location:Canberra, Australia

Posted 01 January 2009 - 11:19 PM

QUOTE
This thread on documentation may be of interest if you haven't seen it. Apparently you should use Neon a lot or not at all.
Thats interesting, I hadn't read that before. I hope my code is appropiately structured to make good use of the Neon. Most of my floats are contained within matrix and vector classes.

QUOTE
It would be awesome if they were synchronized to music. Like, take some freeware or foreign music, and build stages that are synchronized to the music; waves that come in with the beat, heavy waves, wobbly waves, light waves, etc. Having stages like that would make the game 10000000% more awesome if I were playing it to some awesome music.
Yea that sounds pretty awesome. Ideally it would be best if the user could drop an mp3 in a folder and the have game generate a level by recognising certain patterns in the music. I almost always prefer the algorithmic route.

QUOTE
I love the grid background used to show the distortion effect. Will you be keeping that in the game or is it just there for testing?
I'll definitely keep it in if performance permits. BTW the distortion affects all the rendering (except the GUI).... but its not very obvious in the pic.

QUOTE
If I read the SDKPackage/Documentation/Migration\ from\ SW\ to\ 3D\ HW.Khronos\ Kolumn.1.1f.External.pdf that came with the PVR emulator correctly using 2d libs like SDL/SDL_ttf may really cost you. Read that and see if you agree it might be better to make a texture with freetype2 instead.
Your right, rendering with SDL/SDL_ttf would be really bad for performance. I'm not doing that. Instead, at Start up i render all the characters to a texture, then based on the provided string it draws the correct regions of that texture. I'll probably cache the bitmap to file if the start up times are too bad.

#8 User is online   Sphinxter

  • Says What?
  • PipPipPipPipPipPip
  • View blog
  • Group: GP32 Hardcore
  • Posts: 2,775
  • Joined: 01-October 06
  • Gender:Male
  • Location:Silicon Valley California, USA

Posted 02 January 2009 - 05:28 AM

Sorry, probably wouldn't ask such stupid questions if code posted.

#9 User is offline   Xmas

  • GP32 Hardcore
  • PipPipPipPip
  • Group: Members
  • Posts: 110
  • Joined: 24-September 07

Posted 05 January 2009 - 03:47 PM

QUOTE(Adventus @ Jan 1 2009, 01:24 AM) View Post
My main worry is the SGX performance, most of the rendering doesn't really make use of the advantages a TBDR provide (I'm using lots of additive/alpha blending, no depth buffer, etc).

Even though alpha blending adds overdraw TBDRs still have a relative advantage there due to the blending being performed entirely on-chip. Of course you still have to limit the number of layers to a reasonable level.

Optimizing the post-processing shaders might be the most important step for good performance.

#10 User is offline   RajTakhar

  • Mega GP Mania
  • PipPipPipPipPipPip
  • Group: GP32 Hardcore
  • Posts: 515
  • Joined: 04-December 08
  • Location:Derby, United Kingdom

Posted 05 January 2009 - 09:20 PM

Looks Cool cant wait to play it!
===
http://gp2xwizandpandora.blogspot.com/

#11 User is offline   emcp

  • GP Mania
  • PipPipPipPipPip
  • Group: GP32 Hardcore
  • Posts: 310
  • Joined: 28-September 08

Posted 06 January 2009 - 08:41 PM

finally a good looking homebrew
i hate all retro games (well not all)

but yeah colours fast pace and hopefully , music should make this a brilliant game

im currently developing my own homebrew at the mo, never programmed in C, but i getting on all right, the one thing im not to sure is compatibility, im use to making the entire "engine" myself

but id like to try box2d etc, and im currently using SDL primitives, so hopefully its fairly easy to get going on the pandora

#12 User is offline   Adventus

  • GP Mania
  • PipPipPipPipPip
  • View blog
  • Group: GP32 Hardcore
  • Posts: 454
  • Joined: 01-October 07
  • Gender:Male
  • Location:Canberra, Australia

Posted 18 January 2009 - 04:00 AM

QUOTE
Sorry, probably wouldn't ask such stupid questions if code posted.
No worries, it was a perfectly valid point.

QUOTE
Optimizing the post-processing shaders might be the most important step for good performance.
Yea, The distortion effect will hopefully be heavily used, Its rendered with a fullscreen triangle strip with degenerate vertices connecting each row. So its rendering complexity is constant (not dependant on the number of distortions). The guassian blur will probably only be used for when you pause the game.

QUOTE
finally a good looking homebrew
i hate all retro games (well not all)
In one sense i agree, the majority of Homebrew is lacking in the graphics department (obviously with some notable exceptions). But there's good reason for that, The programmers capable of making good games can rarely produce large quantites of good artwork. My artwork is decent because i intentionally limited my scope.

QUOTE
im currently developing my own homebrew at the mo, never programmed in C, but i getting on all right, the one thing im not to sure is compatibility, im use to making the entire "engine" myself
Yea making the entire engine is probably the most fun bit for me (aswell as producing fancy, abliet useless effects). Good luck with your project, the best advice i would give any new dev is to start small and work your way up.

QUOTE
but id like to try box2d etc, and im currently using SDL primitives, so hopefully its fairly easy to get going on the pandora
box2d is likely heavily float dependant, so getting good performance on the Pandora may require some serious reworking.

Its beginning to feel more like a game, here's my current build:
IPB Image

Whats changed:
- added some basic enemies.
- made player animations for still, move, grab and punch actions (picture shows the grab animation).
- made explosion effect.
- made projectile engine and shotgun bullet.

Note: The bullet and enemy sprites are not final. Also realise that at the Pandora's screen size the dimensions of my sprites make more sense.

Thanks all for your comments.

#13 User is offline   Tripmonkey_uk

  • Sorry, but I suck at explaining stuff :P
  • PipPipPipPipPipPip
  • Group: GP32 Hardcore
  • Posts: 1,834
  • Joined: 22-December 05
  • Gender:Male
  • Location:The cesspit of the world, Bradford U.K
  • Interests:All of the above!

Posted 18 January 2009 - 08:57 PM

Looking forward to seeing it in action Adventus, cheers for the update smile.gif

#14 User is offline   Chaosstorm

  • Member
  • PipPip
  • Group: Members
  • Posts: 23
  • Joined: 23-December 08

Posted 19 January 2009 - 07:04 PM

Looks good smile.gif why not make low poly 3d characters of them? tongue.gif

#15 User is offline   Adventus

  • GP Mania
  • PipPipPipPipPip
  • View blog
  • Group: GP32 Hardcore
  • Posts: 454
  • Joined: 01-October 07
  • Gender:Male
  • Location:Canberra, Australia

Posted 30 January 2009 - 10:43 PM

I made some progress so i made a quick video showing you the basic gameplay.

You can see it here: http://au.youtube.co...h?v=sZHi3YT3xuE

Changes:
- Combo System, The number of points each kill produces depends on: The number of kills this projectile has already made, the number of kills without letting an enemy past and a "Tricky" factor.
- 3 enemy varieties.
- Various graphics.
- Blood.

QUOTE
Looks good why not make low poly 3d characters of them?
I considered doing this but i think the only improvement would be gained in the animation department. I've also got absolutely no skill at modelling.



  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic