Some things might work better or worse on different platforms.
But I suppose since this isn't an industry-style production process, you're right. I just personally like to have an idea for a game before choosing where to put it.
this sounds like a good idea, but the best thing i can think of is a cross between umihara kawase and super metroid. wait, isn't kejardon already working on that?
Well, here's what I've got so far:
http://www.geocities.com/boco_xlvii/boco-movetest.zip
(requires python and pygame)
That's not much 'game' to it but it's fun to jump around and play with the fans. Animations are in and working (except for the dash animation), as are physics. After I get in dash animation I'll do large levels & camera movement.
someone is out there who will like you. take off your mask so they can find you faster.
I support the new Nekketsu Kouha Kunio-kun.
That is indeed pretty fun ;)
Just a word of warning to other poor windows users like myself, I had to grab "Numeric for windows python2.5" from pygame as well as the main "pygame-1.7.1release.win32-py2.5.exe" (and i had to upgrade to python 2.5)
Great work Boco!
Ive been doing some searching on internet and its come up blank as how to do it, but it may just take some easy to find programs to make one. Its just an idea i thought would be cool.
I looked a bit into the code and python in general, but unfortunately I think I won't have much spare time this month to do anything anyway.
Your wall collision code could allow for some super fast zipping if there was a bug to enter the walls far enough. ^^
Also, there is a very minor bug with dashing. You can start and keep dashing by turning around quickly. Your shadow will keep facing into the direction of your initial dash. Also, if you press left, then left+right you'll be going right. If you then let go of right you'll keep going right instead of left. Again, this is a very minor thing.
There's also a bug if you switch to some other window that partly overlaps the game and then back to the game. It'll stop updating the part that hasn't been overlapped. (I'm using Windows Vista). This seems to be a general pygame bug, I guess. If it really is we should report it.
Your code could be more readable, but I guess you just don't care enough atm, lol.
You change an object's properties in a get-method. This isn't very pretty coding style because the name of the method is misleading.
Also it's often better to use 'round' instead of 'int' when converting a float value. Drawing a sprite with an y coordinate of 8.75 at an offset of 9 pixels just makes more sense than at one of 8. A good example where this makes a lot of difference is the draw-method in your MobGroup class. If you let yourself blow into the ceiling by the fan in your demo your sprite keeps wobbling up and down. Using round instead of int fixes this.
Other than that you did a great job. I'm fairly impressed. Keep up the good work. ^^
Edit: Found another bug. If you hold the jump button, let yourself blow up by a fan, leave the fan area and then let go of the button you can stop your vertical momentum. I think it would be better to leave this bug in though.
Also, it's possible to get stuck at both of the fans in your demo by doing a small air jump at the top of one of the fan areas. You should either change the code or keep this in mind when designing levels.
Yes, and those bugs existed at one point but I squished them all that I could find so if you find one, try to tell me how you did it!
Fixed
This one I knew about since I implemented walking XD It's impossible to do accidentally so I left it in. You still want left+right to change your direction no matter what direction you were going before (which is what it does now) so the fact that it doesn't care which one you're still holding isn't that important.
I don't know this bug.. maybe it's only true for Vista. Try minimisingand then refocusing the pygame graphics window.
Yeah.... I really need to clean it up (fix inconsistencies in code, switch direct references to methods, split it into multiple files, etc) and add better comments.. but that's not really important right now.
You mean "get_sprite" in SpriteSheet? What's a better name? "find_sprite"? "update" then "get_sprite"?
Yeah I guess that's true. I'll change it.
Thanks for the detailed comments ^^ I improved water, added camera scrolling, fixed a few bugs, and am working on a level editor and moving platforms, and when those are done I'll release another version. Then I guess I should clean up the code.
someone is out there who will like you. take off your mask so they can find you faster.
I support the new Nekketsu Kouha Kunio-kun.
I guess it would be best to split it up into two methods.
Yea, simply moving the window works too. I don't have a problem with it, but the developers of pygame might want to fix it, lol.
Or add something like this when pressing down
# def begin_drop(self):
# # self.gravity = self.weight * 2
Pressing left, then left+right, then letting go of left makes you walk backwards while looking forward now. This is possible to do unintentionally.
There's a curious bug that occurs if you stand on the small black platform between the two fans in the middle, then slowly walk left and let yourself blow into the yellow ceiling. It freezes your frame to a certain one temporally and stays like that even after turning around. This happens because y_vel never gets <= -0.25 or > 0.75 to change the floating animation frame.
It's possible to zip horizontally through those moving platforms. This shouldn't be a big surprise though.
Floating into the ceiling still looks pretty ugly. Except for the glitch mentioned above, this can be seemingly fixed by replacing "self.y = something" by "self.y = round(something)" in the wall collision part of the move_y method. And I personally think setting the subpixel part of your position to zero if you hit a wall makes sense anyways.
Good job on further cleaning up the code and adding new stuff! ^^
Joined: 3/11/2004
Posts: 1058
Location: Reykjavík, Ísland
This is great stuff! When you release the level editor, I will make some levels for people to try out. :) It is a little weird that jumping slows/stops your ascent from the fans, is it supposed to be like that?
I noticed you can "jump downwards" which is very neat. Useful in situations in which you're in a big hurry to reach the ground.
There are some bugs I'm trying to fix with the left/right moving platform.. if you stant on the very edge of it, you can hover in midair... :/ So I'm trying to fix that without you falling off the platform instead.
It's an artifact of how jumping is implemented.. one way to fix it is to take away all your doublejumps if you're in a fan, but don't you want to be able to use them once you get out again? Another is to not let you doublejump unless you're moving downwards (or close enough to downwards), so you'd always be able to doublejump if you jump/let go/jump but not if you're still going up from a fan or other 'meddling' object.. I don't really know what's best but those hings are fairly easy to change so I can test them once there're more interesting levels.
This was added by request from someone I know, and I really don't like it very much. You can do silly things like mash the 'down' key while in a fan to ignore it....
Does anyone have any other things they'd like me to add (controls, changing the physics, new terrain objects like ladders or whatever), or should I just keep making the level editor?
someone is out there who will like you. take off your mask so they can find you faster.
I support the new Nekketsu Kouha Kunio-kun.
Joined: 3/11/2004
Posts: 1058
Location: Reykjavík, Ísland
I think the things that are the most lacking at the moment (besides level editor) are graphics, maybe some simple enemies, and a way to actually finish something instead of just jumping around aimlessly. I personally think ladders can wait, it would require more animation and you've already implemented both fans and moving platforms.
After that, possibly maybe more advanced things like scriptable badguys (bosses, yay), switches, an overworld (the part of the game that isn't levels, could be just a simple selection), powerups, other things I can't think of, etc...........
Joined: 3/11/2004
Posts: 1058
Location: Reykjavík, Ísland
Boco has previously said the game will be a Megaman clone, so I think it will... be... err, a Megaman clone. Which brings up the question of what sort of license the game will be released under. Boco said he/she would release the source, so I guess most likely either a GPL or BSD style license. So if you wanted to turn it into a Metroid-style game, you could do so.
Right now, I'm making a game engine that can support multiple games with a little work. And I'm planning on using it to make two games (right now at least). One of those is a Metroid-esque game where the player gradually grows in capability and uses new powers to open up areas and secrets in large levels which can be explored multiple times (though there are still distinct levels, they're just large and can be re-entered). The other is a game where levels are short (2-5 minutes) and have clear goals and you're timed for completing them, with the ability to save replays.
The engine now uses Rockman-style physics (how jumping works, how movement works, etc), but that can be changed (it's just that noone was answering the basic questions that needed to be answered before, so I went with something I knew).
someone is out there who will like you. take off your mask so they can find you faster.
I support the new Nekketsu Kouha Kunio-kun.
Joined: 3/11/2004
Posts: 1058
Location: Reykjavík, Ísland
If I were making a game, I would make the physics extremely warped and unrealistic. I would think of things to change things players normally take for granted. For example, walking off an edge would make the player fall up instead of down. But those things would make internal sense, so the player would be able to learn the strange twisted mechanics of the game and enjoy it muchly. More likely, I would fail and nobody would like it. A Rockman clone is a much better idea after all.