Lepton

Filed under Game development by Jussi Lepistö

Remember when I said “if I don’t hit any further roadblocks”, I would add particle effects to Artillery Brawl this week? Well, guess what…

The bad news is, I had to spend a whole evening porting lepton to Windows so Visual C++ would compile it.

The good news is, I’m now the maintainer and tester of the Windows port of lepton, so hopefully this doesn’t happen to anyone anymore. The first Windows installer for Python 2.6 has been released; check the lepton home page. Unfortunately, I couldn’t get it compiling for Python 2.5, since I don’t own Visual C++ 2003 and building extension modules with the free Visual C++ Toolkit 2003 compiler is a pain in the arse. I might try it again later, but for now, I’m considering myself defeated.

Anyway, you should all check out lepton, it’s an awesome library for creating fast particle effects in Python games and other applications, and works out of the box with Pyglet, Pygame and any OpenGL-based applications. It’s also easily extensible so you can add your own custom effects to particles. I’ll be sure to post any further experiences (and the video I promised) as soon as I get it properly integrated with Artillery Brawl.

PS. note the new link category – “Cool Python modules” – at the sidebar.

One response so far

Quickie

Filed under Game development by Jussi Lepistö

Just a quick update… I have been fixing all the stuff that was broken since the change to multi-part units and then some, and everything should be ready for finally implementing particle effects. I even implemented fake sweeping collisions for shells by making them face their velocity vector and making their collision rectangle longer than the shell “sprite.” There are still some collision problems when the shooting unit is next to a steep cliff, but it’s acceptable for now, pending a real solution.

I’m going away for the weekend, but if I don’t hit any further roadblocks, next week should see Artillery Brawl with some kind of particle effects, and of course, a second video of the game! :)

Comments Off

Last of 2008

Filed under Game development by Jussi Lepistö

I just wrote my last lines of Python for this year. I haven’t got to particle explosions (I’m going to try lepton for those) or other interesting bits yet, and the code doesn’t actually even run at the moment… as usual, one thing led to another while working on small fixes, and I’m just about to finish a huge reorganization and cleanup of the entity system. The good thing is, even if I decide to ditch Artillery Brawl, this code will be useful for other projects, as it’s starting to come together really nicely.

One of the biggest changes has been the move of messaging from individual components to the entity itself. I might write about the details later when I’ve finished my changes and actually used the system for a while, but I can already tell it has reduced dependencies between parts of the code; always a good thing. The biggest test for my entity system will come when I start to implement some more complex gameplay, but so far, so good.

See you next year, happy 2009 everyone!

Comments Off

Holiday coding

Filed under Game development by Jussi Lepistö

As promised (to myself and readers), I have continued game development during the holidays. Not much, mind you, I’ve mostly been enjoying the chance of being lazy for a change, but it’s something, and I hope I don’t get any more months-long breaks in the near future. :)

I have been working on Artillery Brawl, with stuff that was left incomplete when I stopped working on it in July. I haven’t started on prototyping shooting yet, because I have some related stuff to do first. I have completely changed the units are represented in the code. Instead of a single entity for a unit, there are now several entities for the different parts of a unit; body, turret, later tracks and wheels. To keep all these together, I made a component (an entity is composed of components) that groups several entities together, so I can still essentially handle the unit as a single entity. At least to me, it’s a very clean solution, as all these features are in self-contained components, with the entity only containing components which it doesn’t know about. At some point, I’m going to have to write about my final entity system in detail, but first I need to actually finish it…

After this change is complete, I will probably work on fixing shell collisions and then move on to particle systems, camera improvements and other stuff related to trying to make shooting fun.

Happy belated holidays, everyone!

Comments Off

Business as usual

Filed under Game development, Studies by Jussi Lepistö

It’s time to poke a hole in the wall of silence. I just finished selecting university courses for the next semester, which is going to be a bit special. Special, because if I pass every course, I will have finished all the courses needed for my Master’s degree! I still have a thesis to write, but it’s still a great – and strange – feeling. I have some interesting courses coming up, including pattern recognition, digital image processing and knowledge discovery (which is about data mining, visualization and such).

Since this will hopefully be my last year at the university, and for other reasons, I have been quite busy. As such, I have had to make some sacrifices, such as game development (as evidenced by the lack of updates to this blog). Again. But since I will be less busy after I finish my studies for this Autumn, which should happen next week, I will be free to continue working on Artillery Brawl, and hope I will be at least slightly less busy during the next semester! After all, it would be nice to have something in my portfolio to show when I start applying for jobs to write my thesis at. ;) I also promise to try and get the card game I wrote about playable in the near future.

In other news, Python 3.0 was released while I was away. The improvements, especially to Unicode handling, look really interesting and I would really like to switch, but unfortunately, I can’t… None of the libraries I’m using for Artillery Brawl – setuptools, pyglet and pymunk – have been updated for Python 3.0 yet. There’s not much I can do except wait, so for now, I’m sticking with Python 2.6.

Comments Off

Secrets

Filed under Game development by Jussi Lepistö

I’ve actually been working on a game in secret! It’s not Artillery Brawl, because it’s a card game. A real paper and cardboard game with custom cards. The advantage is that implementation is a lot simpler than for a computer game, which is good considering my limited free time at the moment. On the other hand, it will be a pain in the ass to play test, but at least it will be a new experience. :) I’m basically finished with the relatively simple rules and currently putting finishing touches on the the cards (gameplay-wise, there’s absolutely no art yet). I’m reluctant to talk more about the game until I have something ready, but I’ll post a PDF version for you to test as soon as the game is ready for that!

2 responses so far

Unfortunately

Filed under Uncategorized by Jussi Lepistö

Looks like my disappearance for the summer is becoming an annual event. :) Unfortunately, the only thing I have to report is that I still have too much work with studies, my part-time job and some other stuff to have any left for game development at the moment. I still wanted to say that I’m not dead, and neither are my gamedev plans. I have even made a decision: as soon I have time again, I’m going to concentrate on Artillery Brawl and not any side projects, even tiny ones, until I’m convinced Artillery Brawl is or is not a fun game.

Comments Off

Summer

Filed under Real life, Studies by Jussi Lepistö

Oops, looks like Real Life ate me for July. I haven’t even worked on the university project much, but I’ll have to get it ready before September. Some good news regarding my studies though: I’m very likely to finish all my remaining courses during the next academic year. After that, I’m planning to move back to the capital, Helsinki, to write my Master’s thesis at some company. If everything goes according to the plan, I’ll finish my degree late next year, yay! Of course, things rarely go exactly like planned…

Hopefully I’ll get more game development done in the Autumn, since it looks like I’ll still be quite busy during August.

Comments Off

I want to…

Filed under Uncategorized by Jussi Lepistö

  • Finish these stupid courses – I have to use Java again for the other one, eww
  • Prototype a game idea I had while driving home today – but not spend over a week on it
  • Learn to draw some vector art – because it should be easier for “programmer art” than pixels
  • Get a new job for Autumn
  • Get some sleep

Comments Off

Artillery Brawl: Prototyping

Filed under Game development by Jussi Lepistö

Lately I’ve read a lot about game design (Danc’s blog has been especially enlightening). I’m now convinced I have to prototype a few “risky” aspects of Artillery Brawl’s gameplay to make sure what I’m doing is actually fun before wasting effort on other parts of the game.

The core gameplay of each game has to be fun for the game on the whole to be fun. Platformers are about jumping, shooters are about shooting and Go is about placing stones on a board. Players are going to spend most of their time playing doing this core activity; everything else is basically extra to hook players at first or keep them interested in the long run. In Artillery Brawl, core gameplay is of course shooting, and before I dwelve into anything else, I have to make shooting fun. In other words, it has to be rewarding.

Artillery Brawl isn’t fun yet. There are a couple of obvious problems I’m going to fix first and see what the results are, then decide what’s to follow. First, there’s absolutely no feedback or reward for shooting; there aren’t any kind of effects (visual or aural) when you shoot or hit something, and units simply disappear when they are destroyed. Not very fun at all. So I’m going to add some particle explosions and sound effects to help with that. Explosions are always fun, right?

Second, there’s the user interface. Currently shooting is controlled with the arrow keys and modifiers (alt and shift), but while I want to keep that, I also want to add mouse control that’s dead simple to use. It should be immediately obvious (at least after pressing the Shoot! button once or twice) what to do in the game without any kind of documentation or tutorials.

Last, but certainly not least, there’s the camera. Currently, other than automatically focusing on the current unit when a turn begins, the camera is completely manual. With the turn system I have in place; multiple tiny shells in the air, many things happening at once and many players in front of the same screen, each interested in different things, this simply won’t work at all. I have to improve the automatic behaviour of the camera, and luckily I have a couple of simple to implement improvements in mind. At the beginning of a turn, the camera should focus so that the current unit and the place the last shot landed should be visible. Between turns, the camera should zoom out, showing as much as possible. When a shell is about to land, the camera should zoom in on that. Later, I can improve it so that if multiple shells are about to land at the same time, I can use a picture-in-picture to show both at once. Also, I’m going to improve the visibility of both units and shells, and add a minimap.

If, after these improvements are in place, the game still isn’t beginning to approach fun, I’ll have to either change something dramatically or start a new project. Simple as that.

Comments Off

« Newer Entries - Older Entries »