Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm wondering what is the best (or at least a good) way of managing enemies in a shoot-em-up.

Basically, what I'd do would be a class that manages displaying and updating positions of all the enemies. But how to create good deplacements for enemies? A list of where-to-go points? gravitating around some fixed points (with ponderation, distance evaluation etc.)?

Same question for the shoot patterns?

Can you please put me on a track?

share|improve this question
    
I've never seen the word "deplacement" before. Can you explain what it means to you? (I assume it's to do with deployment and placement and movement, but wouldn't want to leave out something important.) –  chaos Feb 19 '11 at 3:27
    
Sorry, english isn't my native language. You're right, i mean ennemies' movement : trajectory, how they are moving on the screen, for example right on the player, doing ellipses etc. –  teh internets is mad of catz Feb 19 '11 at 11:07
    
(offtopic) What about using Python? It may get You more productive, You can prototype it faster. –  user712092 Aug 30 '11 at 12:34
    
I don't know about software but it might be possible to record some other SHMUP and make some statistics about movement of enemies. There exist programs which can find moving parts of image, and also programs which find function by which they move. –  user712092 Aug 30 '11 at 12:37
    
Ask experienced players or watch some proplayers talking about patterns. From my experience these patterns are simple circles, bouncing (remember Pong?), squares, zigzags or spirals. –  user712092 Aug 30 '11 at 12:39

2 Answers 2

up vote 3 down vote accepted

Use BulletML to define shot patterns:

BulletML is the Bullet Markup Language. BulletML can describe the barrage of bullets in shooting games. (The storm of Progear, Psyvariar, Gigawing2, G DARIUS, XEVIOUS, ...)

Most simple enemy movement can also be expressed in BulletML; bosses may need a bit more state. It has been used in many games and prototypes.

The reference implementation is in Java. If you want to use C+++, you can use libBulletML.

share|improve this answer
    
+1 thanks for the resource. It was very insightful. :) –  user712092 Aug 30 '11 at 12:52

It sounds like what you're asking is a general question, "what is a good enemy movement pattern / AI for a shmup?" - a design question more than a programming one. There is no single right or wrong answer here. It all depends on your game and especially the design of your level environments. For example, in a level without much maneuverability and lots of tight spaces, enemies that just sit there and do nothing can make sufficiently challenging obstacles, while enemies that pass through walls and head directly to the player are just mean. In a wide-open space, enemies with no movement would be trivial to avoid (unless there's a lot of them!) while enemies that track the player movement might work better.

My advice would be, play a lot of shmups, but as you play, pay attention to enemy movement patterns in relation to level design, and also which levels feel fun versus too easy versus really frustrating. After awhile you will probably get a good feel for what kinds of common patterns there are, and what makes them good or bad. But there is no simple answer other than that, I don't think, if I understand your question correctly.

share|improve this answer
    
Thanks for your answer, i will take it into account, but i was more asking for a technical point of vue than game-design-ish one. Once i'll have implemented a way to make even simple patterns, i'll be able to test different movements etc. –  teh internets is mad of catz Feb 20 '11 at 12:12

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.