Mini Mal

LOG
====
AEST GMT +10
2008/04/19 17:13:53 AEST GMT +10
2008/04/19 17:53:39 AEST GMT +10
Don’t have internet at home, but going in the competition anyway…
I saw the theme at about +1 hours after the competition started (about 4-5 hours ago) in an email when I was at a cafe checking my email on the free wireless. I have been coming up with a basic idea since then, but not giving it all that much thought. I was thinking about drawing lines on paper, and scanning them in… then making minimal beep noises…
But then I wrote the name of my directory for the game… mini_mal… and aha! Mini Mal was born. I haven’t even to the ludumdare website since the comp started, but I imagine someone else has come up with the idea for ignoring the theme
So the idea so far is this… Mini Mal the stick figure, with minimal beep noises.
MOST OF THE COMPETITON I WON’T HAVE INTERNET. Bugger.
I accidentally had skellington game framework on my computer, along with pygame, and python. So I’m just going to do a pygame game… with basic stuff. Luckily I also downloaded the pygame documentation and examples… also lucky the python objects have documentation built in, also lucky I have been maintaining pygame for over 3 years now.
… now my todo…
DONE - window up, and basic event loop.
- basic animation program…
- draw line, click point, click second point.
- select point.
- draw end points of lines with rectangles. Use collision functions to see which points are selected.
- lines are in each frame of the animation.
- to not show lines in one frame, you can mark them as invisible (somehow do invisible lines differently).
- key frames.
- can add/delete key frames.
- interpolation happens between key frames.
- frames per second. Set at 30fps.
2008/04/19 18:30:03 AEST GMT +10
I made a line class, which subclasses the Rect class.
It can draw itself, with it’s own color… oooh. A white picture with a black line on it.
… now to make a screenshot function I think… maybe when I have something a bit better.
- draw line with end points.
2008/04/19 19:20:13 AEST GMT +10
It can now draw a line, and select the end points - and move the line
Now to go and get some junk food.
- make a Lines class, that has a def handle_events(self, events): method.
- make a Lines.new_line method. So you then click to make the two points.
- make a Lines.delete_line method, which deletes any line selected.
2008/04/19 20:38:37 AEST GMT +10
Went and got some junk food. A few lollies, and chips.
Then I had dinner, and then came back to work on a Lines class. Almost there with being able to draw multiple lines. Whilst coding, I’ve been thinking of how I can structure the animation editor. Like how I can make collections of lines play at different positions. I’ll have to translate the positions of the lines somehow… perhaps I’ll give each set of Lines a transform :) Then allow selecting groups of lines, so I can animate multiple groups on the same screen.
Then I’ll need a way to load and save Lines… probably with pickle.
Now to finish off my new_line, and delete_line methods.
… oh, and I need to figure out the actual game part… hrmm. that can come later, once I’ve figured out something cool.
2008/04/19 21:30:11 AEST GMT +10
the lines can be drawn pretty easily now.
Accidentally I came across a way to have the lines join up at the vertices.
Now I have a mode where I can select multiple verts to move at once… which allows a primative form of welding of vertices.
2008/04/19 21:46:28 AEST GMT +10
been playing a bit with drawing more… it’s kind of fun. I’ve made it slightly easier for me to do things, and also experimented with line thickness… That could also be a fun thing to animate.
So the lines could grow thick from frame to frame.
… but how to save them all.
2008/04/19 22:34:24 AEST GMT +10
I think the pygame.Rect subclasses only pickle the pygame.Rect attributes. Oh well.
Perhaps I can replace it later with a vec4d subclass… or something.
Anyway… this is what I want to do I think:
Frames
Frame
Lines
Line
So then I think I can just pickle the whole lot, and reload it.
2008/04/20 09:09:17 AEST GMT +10
I put a basic screenshot function in there.
- Create Frames class, get basic animation working.
- Make a box select. So you can easily move many lines at once.
Tags: illume