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