So, I'm learning C2, by working through a small/simple game project. It's intended to be a kind of "Asteroids Meets Galaga" kind of thing.
I've got some basics in place, and everything's working as I'd like it to so far, though there's still a lot more to do.
I thought I'd hit the 'pause' button on it for a moment, though, to see if other, experienced C2 users could take a look at it, see how I have it set up, provide some thoughts on, perhaps, more organized ways to handle things I'm currently doing.
One thing I've seen a few times now, and I really like the idea behind it, is grouping similar enemies together as a single object, but with different animation frames. I've seen this in a video tutorial, as well as in a sample that a fellow forum user provided me to demonstrate how functions work. So, in a couple cases - specifically with the player's bullets, and the power-ups - I think I'm going to go that route.
One note, I currently have a temporary setup where you can switch between regular and power-up bullets.. I did this because I wanted to make sure I was setting up/using global variables correctly. You won't actually be able to switch ammo types just by pressing 1 or 2 :p.
Anyway! Any thoughts/feedback is appreciated! Just bear in mind that I'm still very new at this, so there's bound to be some head-scratchers in my setup :p.
Here's the file...
http: // bit.ly/1Aq5tpy (added spaces, since I can't use URLs yet)
Thanks for your time!
Like the simple graphics, and general look of the game. Just need to add a running score/ timer, some sound, more spaceships and some effects but those are undoubtedly on your list already. Think you're going in the right direction with functions and grouping similar objects.
As someone who is also at the early stages of learning you're lookin' good so far and I'm looking forward to seeing the final product.
Develop games in your browser. Powerful, performant & highly capable.
Thank you for the reply!
The graphics are still basically in "prototype" status right now. Just threw something together quick to work with.
There's a whole list of things I need to get setup/implemented, but I figured I'd put that version up to see if I could get some feedback/suggestions early on, to perhaps steer me in the right direction "now", rather than having to go back and make huge changes/corrections later.
At the moment, I'm thinking through the best way to handle a game that all takes place in a single "screen", but has levels. I'm thinking of using the timer and perhaps a variable that tracks the number of enemies destroyed.
Maybe a While loop, that says, (to say it as a "sentence"):
While AsteroidL < 10, spawn a new AsteroidL every 5 seconds
Then once AsteroidL does = 10 (assuming that's the "win condition" for the level in this example), put the text "Level 1 Complete!", then begin a set of events for Level 2, reset AsteroidL to 0.. .and maybe set the While loop to test for AsteroidL < 20, etc...
If someone with more experience can advise if maybe having each level represented as a group, which I can then activate/deactivate in sequence would be a good way to handle this?
So... if Level 1 is a group, once the conditions for that are fulfilled, deactivate the group for Level1, activate the group for Level 2... and then do the same for Level 2 and 3, etc. etc. I think, if that's feasible, it could be a good way to isolate and control levels.. and would probably make tweaking/balancing the difficulty of each a lot easier.
Anyway, that's what I'm currently working out.
I'm gonna put up another version once I have more actual gameplay in place.
Anyhoo.. Thanks again for the feedback!
Hi Mitovo. Looks nice.
As a general (but not always correct !) rule, if you are duplicating lots of code, there's often a better way of doing it. On your "powerups" for example (event 11) the powerups would be better off in a "family", you can then address them as a unit *and* individually. Powerups are all the same things I would guess, it's only at the point where you create and activate them that they differ.
If you want to add powerups later, then you'd have to do all this again.
Similarly for event 21 onwards - you could move the bullet-destroys that are repeated in 22-25 into 21 as you don't ever use them. You can't move UFO.destroy in there, because you need the positions, but because subevents (I think) operate sequentially you could have a sub event 26 which is always executed which destroys the UFO - then if you add a new powerup all you have to do is create it
Your bullets could be moved into families in a similar way.
Last but not least, add comments. You might remember what everything does now, but you might not if you want to fix it later on. I've been coding for years (I'm ancient) take it from me, if you don't you'll regret it
Hi there paulscott..
Thanks for that info!
Families are an unfamiliar thing to me, still, in Construct. So... perhaps I'll go do some research and learn what they are and how they work.
I'm kinda "brute-forcing" it at the moment, but anything that helps me create cleaner "code", and increases my knowledge/understanding of Construct2 is certainly welcome.
So thanks for that!
As it stands, since my last post I went ahead and tested out my idea of activating/deactivating groups as a way to control level flow and it's working beautifully. So, I'm riding on some good vibes at the moment :p. Turns out the While thing wasn't working, but that's certainly 'cause I don't understand how they work (yet). But nonetheless, the way I'm doing it now is working, so... I'll go with that for now.
Again, this project is purely learning for me. Still undecided whether I'll release it as a finished project, which I probably will, if for no other reason than to say "I finished and released a game, even if it's a crappy one". I imagine that sense of "I finished something" will be a good boost (or so I've heard :p).
I've also split things up into separate Event Sheets a bit more, which each focus a bit more on specific items. I'm letting the main Event Sheet sorta control the player-specific events. I'm letting separate sheets control things like Asteroid and UFO behavior, etc. I think it'll be easier to track things down that way. I'm also using more comments.
Anyways! Now that I have that worked out and am feeling good about it.. I'm going to do some reading on Families,and then I think work out how I want level progression to go, for maybe the first 10 levels. Just to get something of an actual game going. Then I can go back and tweak things more.
Thanks again for the feedback!
Gotta say... having used other options (not going to list them here, as I don't want it to become a "this vs. that" kind of topic), Construct2 has been the first such application I've used that's left me feeling mostly positive about what I'm learning, and where I can actually understand what's going on, and somewhat intuitively understand what I need to do to make something work. As someone who is pretty much entirely right-brained and has had no success with programming in the past, that's a huge deal.
Construct2's community has also been awesome so far, too. Very positive and helpful, which is also a huge bonus.
Onward and upward!
Great job so far, it's coming along nicely!
I'm currently making spaceship graphics pack, I'm interested in knowing what you would like to see on it even if you're not interested in buying.