Single Status Update
This is a blog for my second flash game! My first flash game is at http://www.kongregate.com/games/Epyo/wandslinger-the-mana-cycle so that's pretty cool. Anyway in this new game, it's like a roguelike RPG sort of thing. Mouse-only. Click outside the circles to move, click in the outer circle to use primary weapon, click in the inner circle to use secondary weapon (whichever is highlighted at the bottom. those are clickable to select).
So anyway this will be done in the summer some time.
DAY 0: Before totally deciding what game I wanted to make, I spent an hour making this simple game, if you can call it that (it is indeed rather addictive.) I wanted to test out this control scheme where you move your cursor away from your player to point/move him. It works, somewhat. The part that doesn't work very well is that the player has the ability to put the cursor on his player to pause gameplay for a second, to think. But the player probably isn't going to. I don't know if it's because there's no reason to, or if it's because the pacman isn't in the middle of the screen. So I decided for my real next game, to always keep the character in the middle of the screen. (By the way, I played this for an hour and could only get to 3 points. Today I can get to 13+).
DAY 1: Started the actual project. Took the wizard sprite from wandslinger, made some tiles, made it so that the level moves instead of the player moving. This game is programmed entirely with code, whereas the last one, the levels were designed right into the flash timeline. This should work better, but before, I just wasn't ready.
TOTAL DEV TIME: 1 hour
DAY 2: Implemented a dumb level generator, just cause I don't know how to do that yet, and I want to play around with having a grid system. Basically, it covers the grid with random black squares here and there. I don't like it. The real game will look nothing like this.
TOTAL DEV TIME: 2 hours
DAY 3: Added the player's projectile system. Coded much cleaner this time around; I'm very happy with it. Right now I've got you shooting a simple little blue circle. Keep in mind you can hold shift to let the game play in real time (or enter if you prefer). Since the game is so unfinished, holding shift makes the game make more sense. There is also the word "Paused" when the game is paused, when the game is done, I'll invent some other way than simply putting that word there.
Still brainstorming on how to generate levels. I've got some okay ideas...Maybe I can use different coding plans with different areas of the final game.
TOTAL DEV TIME: 3 hours
DAY 4: I'm going to go with a small tile-system, for the art (not gameplay.) This is because it's probably going to be an easy way to do generated-levels, and it's going to be easier to make the level art this way. I'd like to make it look like a tile-based NES game like original Zelda or Metroid or Castlevania. Castlevania might be out of my league, but I could get the Metroid 1 tile-based look, I think. Generally your tiles don't even have to look that great, the repetition and grid is usually easy on the eyes.
The tiles are 40x40 pixels now, you should check it out. I've also got a simple uncovering-system going on, everything looks black until you get close up to it.
Progress is slow, but this game is a lot harder to make than my last one, and I'm learning a lot of things by trial and error. I'm being more careful this time.
TOTAL DEV TIME: 5 hours
DAY 5: MUCH better rendering code now. Tiles that are not on screen are not only invisible, but removed from their display containers. I'm going to try to find a bad computer to test my optimization on, I code like an asshole and I can't tell anything's wrong on this computer.
TOTAL DEV TIME: 7 hours
DAY 5 PART 2: Bullet collision detection with the blocks is working, it might need more work later. Movement collision with blocks is mostly working...but when you're sliding up against a row of blocks, you get stuck. That's going to take some thought to fix.
TOTAL DEV TIME: 8 hours
DAY 6: First attempt at new art today. I made a brown wall tile. It looks extremely meh. Practice is good, though.
TOTAL DEV TIME: 9 hours
DAY 7: Got a lot done today in just one hour! Added enemies (just one for now, reused from Wandslinger), added enemy hit detection with hitpoints, the enemy can move towards you and chase you, he dies in 10 hits, stops his animation when the game is still...I did more stuff I forget!
Also, lowered the FPS to 30, because 36 was a bit excessive (this might still be a little excessive, but because of the gameplay, it's not really a big deal if it runs a tad slow on older laptops, besides the fact that it will take longer to travel around.) Maybe I'll end up lowering more, but since the bullets are so small sometimes, that might be unwise.
Still pondering on enemy pathing, how to code their AI. I think they should just walk randomly until they're pretty close to you, or if you damage them...but when they chase you, I need to make them go around rocks and walls, obviously, and when they're waltzing about, that will require some thought as well.
TOTAL DEV TIME: 11 hours. (1 unrecorded from a few days ago)
DAY 8: Worked two hours tonight, worked on the vision. Before, it was just a big square arond your character that got uncovered. Now, it's a sort of circle. Looks a lot better, and it should even work faster. There is also a system in place for a night/cave vision mode, where you cannot see behind walls. It's not done yet, so you can't see it, and the first level will be outdoors anyway.
I think I know an easy way to make monsters invisible when out-of-vision.
Tomorrow I need to either work on art, level-building, or enemy pathing/actions, or start the decal system (blood n rocks n stuff).
TOTAL DEV TIME: 14 hours.
DAY 9: A frustrating day, worked on enemy pathing, don't have much to show for it except a bit more know-how, and a bit more of an idea on what I want.
TOTAL DEV TIME: 18 hours.
DAY 10: Wow, after a LOT of work, I got something that should have been very simple working. Code posted below. I suck at geometry I guess <_<
Almost ready to implement the pathing. The way I plan it to work is that every enemy has two invisible little boxes in front of it. One 10 pixels away, one 50 pixels away. If they feel an object in front of them, they'll choose a better direction, and gradually turn and avoid the object.
It'll be easy to improve the system further from there.
TOTAL DEV TIME: 26 hours.
DAY 11: Playing around with pathing ideas, simple ones right now. This very random map is hard for them to maneuver, harder than the real game will be. I've got a simple hit detector in front of my lizard for now. It has obvious problems.
TOTAL DEV TIME: 30 hours.
DAY 12: Fun progress today! Pathing is still extremely simple, but it works, for now. Random maps are removed, for now, I'm reading from a string. I like the lighting system. Enemies now aggro when you see them (and they see you).
I'm getting sick of the tiles I'm using, so I might get around to "art"ing up some new ones on Monday? Maybe?
I'd call the game almost playable at this point, whereas yesterday and previously it was a mess, it kind of resembles a future game right now.
TOTAL DEV TIME: 32 hours.
DAY 13: Haven't updated in a while <_<
Pathing still not perfect, but you won't see the guys run through walls much. Anyway, a lot has happened in the past week or two, haven't posted much cause it all happens in little bursts because of all my homework. Just today I made it so that you can sneak up on the enemies, for example.
I am happy with how the game performs. My gf's computer runs swfs agonizingly slow, but my game runs almost perfectly.
TOTAL DEV TIME: 42 hours.
DAY 14: Can't decide if you should click-to-move or hover to move, with spacebar letting you free your mouse...
Also, there's a bomber/flamer class up right now instead of the wizard. The explosions are invisible, I'm working on those right now. I'll have to test the flamethrower on some other computers because it's probably really laggy.
TOTAL DEV TIME: 50 hours.
DAY 15: I think this new class is pretty cool. There's one more thing I want to do, and it is implemented, but not visible yet: If the radius of two bombs overlaps, I want a dotted line to appear between the two bombs, so that if one bomb goes off, the other goes off.
Also, enemies need to be more difficult, and you need to have a bit more health. There will soon be a food system too.
Below your hp bar will be a food bar. As long as its above 25%, you'll regen health at normal speed. But if it's below 25%, your health regen will be a lot less. If the bar is empty, you do not regen health. You need to eat food to replenish your bar. Strong foods will fill the bar, and make it a little bit bigger too. Weak foods will fill the bar only slightly.
TOTAL DEV TIME: 55 hours.
UPDATE 16: Everything's going great! I'm really excited for what I'll be doing for the next couple of weeks on the game. Today I coded in so that numbers pop up when you hit enemies, showing your damage. It's actually a bigger challenge than I ever expected, on my third try, I'm very happy with the way I coded it. Still need to work on the font though, needs to be more interesting than just yellow typewriter font.
TOTAL DEV TIME: 60 hours.
UPDATE 17: Still awesome. Just implemented levelling up and exp system in the past hour. These past two weeks I haven't got to work much ~15 hours maybe, plenty in though. The BOOMERANG is realllllly cool, I recommend you check it out. I've started the item/inventory system. Tomorrow I'll be implementing some code that will let me throw enemies around--for example, when hit by a mine, they should go flying a couple of feet, stunned for a second. Should be very very easy, I'll have a flag for the stun, and two stun vectors are assigned upon stun. I already implemented the flag with the boomerang, you'll notice a star comes out of the enemy as soon as the rang stuns it.
TOTAL DEV TIME: 75 hours.
UPDATE 18: Did some pretty extreme surgery on the game last night. You can now pick two different secondary weapons at the start, and toggle between them at the bottom of the game during play. Think it works, but sometimes you can crash with mines. The way mines are coded is a bit ugly, so it's going to be hard to figure out what's wrong...But it might not even be the mines, I've only seen it twice, and it just so happened to be while using mines...
In addition, my new tile is a lot laggier than the plain brown from before. So rendering is a bit modified: dimmed tiles no longer stay dim out of range. There is now a ring of lit tiles round you, and outside of the circle it's all black ground, except for solid blocks, which remain visible permanently after first seen. I actually like this visual strategy best of all the styles I've tried so far, so, great! Best performance, my favorite look.
Will add a new weapon today.
TOTAL DEV TIME: 85 hours.
UPDATE 19: Woops, didn't update this for weeks. ~20 hours later, rocket guy plays pretty well, there's a combat log in the bottom-right corner ( I really like that feature), all sorts of good stuff is going on right now. Next up is either the inventory system, or redoing the level code so I can have multiple levels...actually, before either of those, I think I need to add decor. Decorations will not block vision, and not block bullets, but block movement. I'll need to use this for water, pits, boulders, voids, bushes, and the like. Yeah. That's next.
Oh yeah, there's teleporters and stealth too. Stealth is a little bit easy. Need to implement crits from behind or something, and then make sneaking harder.
TOTAL DEV TIME: 105 hours.
- Show previous comments 7 more
Totally agreed! Hopefully my classes will be simple enough that no explanation will be needed--that's why each only will only have three controls: Move, Primary Attack, Secondary Attack. No instructions necessary, but the replay value of the game is increased exponentially, since there's always a different character to play.
My biggest goal with the game is to bring my favorite elements of roguelikes to a flash game-style, without any of the bits I don't like (ridiculously complicated rules, grid-based gameplay, lack of graphics, irritating inventory management).
The joy of a roguelike, in my opinion, is the suspense between each decision you make, and how it is multiplied by the presence of permanent-death. Small-scale decisions like to fight or flee, and large-scale decisions like whether to search the whole floor for food and equipment, are what makes roguelikes fun (to me). I do not know if my game will ever capture this, but I won't call it done until I do.
I did something rather silly a few days ago and realized maybe I should share it.
I added a slight 3d effect to the game. Took about ten minutes, and I think it doesn't look that great (especially those nagging black lines at the edges), so I'm probably not going to actually use the effect, but, it's kind of a cool idea, and a lot of people don't know that flash actually supports a sort of 3d. You can move stuff up and down the z axis and even rotate stuff--but only sprites, so its kind of funny.
So anyway there you go.