After taking a look at the stats of this blog I realize that too few people are reading it. Early on there were some hopeful signs and a steady increase in pageviews, but recently we're down to a small trickle. So it's time to rethink things.
I'm planning on splitting this blog into two separate blogs/websites, one about general game design topics and another one dedicated to fatjumper. I'll be posting links to the new blogs here when they're up and running, most likely sometime in March. Thank you for your continued interest and patience.
-- fxl
This is a blog about the creation of a brand new game by Franz Lanzinger, best known for Atari's coin-op Crystal Castles and the Gubble series. The new game is a side-scrolling platform game called FatJumper. You can play FatJumper directly in your browser on your PC or Mac by going to www.fatjumper.com
Search This Blog
Monday, February 28, 2011
Saturday, February 26, 2011
Days of Yore, GDC 2011
Next week is GDC week. That's the Game Developer's Conference in San Francisco. This is a truly huge event with about 18,000 people in attendance in each of the past three years. I went for the first time in San Jose about 20 years ago, and 300 people attended then.
Back in those days is was Chris Crawford's event, having started in his living room. It was called the CGDC (computer game developer's conference). Some years later the "computer" was dropped since most video game development was happening for non-computers like Gameboys and SNESes. The weird thing is that the proper name should probably be VGDC (video game developer's conference) but then again, in a few years we might move on to holograms of direct brain manipulations, so the GDC is ready if and/or when that happens.
The good news is that Chris Crawford will again be at GDC this year. Here's an excerpt from Chris's description:
As part of the special lectures around the 25th GDC show, original CGDC founder and Balance Of Power creator Chris Crawford will present a session called 'In Days Of Yore', explaining how "the earliest days of computer games were times of technological swashbuckling, shoestring budgets, amateur designers, amateurish products, and wild experimentation. "
I disagree with that "amateurish" characterization of the products of that time. We were as professional for the standards of those days. At the same time we were furiously advancing the state of the art, hence the wild experimentation. Fortunately the spirit of those Days of Yore is still alive and well 25 years later.
--fxl
Back in those days is was Chris Crawford's event, having started in his living room. It was called the CGDC (computer game developer's conference). Some years later the "computer" was dropped since most video game development was happening for non-computers like Gameboys and SNESes. The weird thing is that the proper name should probably be VGDC (video game developer's conference) but then again, in a few years we might move on to holograms of direct brain manipulations, so the GDC is ready if and/or when that happens.
The good news is that Chris Crawford will again be at GDC this year. Here's an excerpt from Chris's description:
As part of the special lectures around the 25th GDC show, original CGDC founder and Balance Of Power creator Chris Crawford will present a session called 'In Days Of Yore', explaining how "the earliest days of computer games were times of technological swashbuckling, shoestring budgets, amateur designers, amateurish products, and wild experimentation. "
I disagree with that "amateurish" characterization of the products of that time. We were as professional for the standards of those days. At the same time we were furiously advancing the state of the art, hence the wild experimentation. Fortunately the spirit of those Days of Yore is still alive and well 25 years later.
--fxl
Friday, February 25, 2011
2 Levels
It's a good idea to make more than one level before diving into making a level editor. So here is the latest version with 2 levels: www.fatjumper.com
Click on the link for Version 19.
You'd think the game would be farther along when we're at version 19 already, but actually this is pretty typical. It can take literally thousands of versions to go from a simple prototype to a released commercial product.
Yes, I was able to get to the end of level 2. It's not all that hard, but you might need a few tries to do it. My best score is 1266.
The scoring is still provisional and the score resets after playing a level, which is very wrong, but OK for now.
Hey, it's Friday night, so what am I doing writing into this blog? Time to get back to my real life (yes, I have one).
-- fxl
Click on the link for Version 19.
You'd think the game would be farther along when we're at version 19 already, but actually this is pretty typical. It can take literally thousands of versions to go from a simple prototype to a released commercial product.
Yes, I was able to get to the end of level 2. It's not all that hard, but you might need a few tries to do it. My best score is 1266.
The scoring is still provisional and the score resets after playing a level, which is very wrong, but OK for now.
Hey, it's Friday night, so what am I doing writing into this blog? Time to get back to my real life (yes, I have one).
-- fxl
Thursday, February 24, 2011
raining cake
No new release today, just a screenshot from today's progress.
Wednesday, February 23, 2011
Zooming
Well, to do a level editor we need zooming. And to do zooming it was necessary to change the background to something much bigger. It was also time to put in some original sounds effects. The result is version 18 which you can try out here: www.fatjumper.com
Oh yes, I also started making the fatjumper website, though for now it just shows the logo and a link to the latest version (and a link to the main company website).
On touch devices the zooming will be done using pinch controls, on devices with keyboards it'll be a couple of keys, and on consoles it'll be one of the joysticks (or a couple of buttons).
-- fxl
Oh yes, I also started making the fatjumper website, though for now it just shows the logo and a link to the latest version (and a link to the main company website).
On touch devices the zooming will be done using pinch controls, on devices with keyboards it'll be a couple of keys, and on consoles it'll be one of the joysticks (or a couple of buttons).
-- fxl
Tuesday, February 22, 2011
Brainstorm: level editing and gameplay mashup
What if we combined level editing and gameplay into a unified experience? This wouldn't
just be an in game editor but allowing editor commands while playing the game. For example if you can't get across the river you just use the editor to put in a bridge. Is the enemy too tough? Just edit the AI parameters to make it easier. While you're playing.
Of course the game would fall apart if you allowed the players unlimited access to the editor, but if access is limited somehow it could just work. Maybe we allow just N actions per level. There could be a points system where editing actions cost points.
I'm unsure if this is an original idea. These days it's common to think of something original only to find out later that it's been done.
The UI for level editors is always tricky, especially if we want players to use it, not just the pro level designers. I don't have a solution for this yet.
Multiplayer could be fun. Player one edits while player two plays the level simultaneously. This could work with N players. Even AI players! You're editing while AI players try to play the levels. Or, you're playing while an evil AI bot is editing the level. This could also work with bots that try to help you.
These ideas are so good that I hesitate to reveal them right now. And yet, that's the point of this blog, to not hold back, to show how ideas are formed and later turned into a game.
--fxl
just be an in game editor but allowing editor commands while playing the game. For example if you can't get across the river you just use the editor to put in a bridge. Is the enemy too tough? Just edit the AI parameters to make it easier. While you're playing.
Of course the game would fall apart if you allowed the players unlimited access to the editor, but if access is limited somehow it could just work. Maybe we allow just N actions per level. There could be a points system where editing actions cost points.
I'm unsure if this is an original idea. These days it's common to think of something original only to find out later that it's been done.
The UI for level editors is always tricky, especially if we want players to use it, not just the pro level designers. I don't have a solution for this yet.
Multiplayer could be fun. Player one edits while player two plays the level simultaneously. This could work with N players. Even AI players! You're editing while AI players try to play the levels. Or, you're playing while an evil AI bot is editing the level. This could also work with bots that try to help you.
These ideas are so good that I hesitate to reveal them right now. And yet, that's the point of this blog, to not hold back, to show how ideas are formed and later turned into a game.
--fxl
Monday, February 21, 2011
One month already
It's been a very interesting month, and looking back on it, it's been very much worth it. I've learned that despite my good intentions it's pretty difficult for me to make interesting progress every day, rain or shine. Still, it's a good motivator to have this blog and I would recommend it to all you other developers out there.
One of the things that needs to be done soon is building the fatjumper.com website to give more direct access to the new versions and to host some basic info about the project.
I recently discovered that when I build a native PC version (i.e. and .exe) the animations are running much too fast. This is a tech issue that I need to fix before I can release the .exe version (or an iPhone version for that matter). Once the game reaches a decent level of playability I'll be releasing the Web, PC, Mac, and iPhone versions simultaneously, and about every two weeks or so.
Well, that's enough for my President's day blog. More tomorrow.
-- fxl
One of the things that needs to be done soon is building the fatjumper.com website to give more direct access to the new versions and to host some basic info about the project.
I recently discovered that when I build a native PC version (i.e. and .exe) the animations are running much too fast. This is a tech issue that I need to fix before I can release the .exe version (or an iPhone version for that matter). Once the game reaches a decent level of playability I'll be releasing the Web, PC, Mac, and iPhone versions simultaneously, and about every two weeks or so.
Well, that's enough for my President's day blog. More tomorrow.
-- fxl
Saturday, February 19, 2011
Nostalgia
Today I played my old version of Tengen Ms. Pacman again for the first time in many years. There was a contest at "Hot Toyz" at the New Park Mall in Newark, CA. Thanks to Jeff Yonan who arranged the contest and invited me to watch. I didn't participate because, well, that would be cheating.
http://www.youtube.com/watch?v=3QKAS2TQ9tE
The above link shows some footage of the game. The comments mention that a guy at Tengen did the game in four months without access to the source code. Well, that guy is me, and while I didn't have access to the source code I did have an arcade machine in my cubicle wired up with a pause button. I was able to do pixel perfect graphics and mazes by using that pause button a lot.
Amazingly (no pun intended) I just realized this afternoon that Pacman and Fat Jumper have similar themes, sort of. Maybe I'll put cherries, strawberries, apples, pears and bananas into Fat Jumper, as a tribute. Is it legal to put a banana into a game and make it worth 5000 points? Well, this is a non-issue anyhow because in Fat Jumper the food isn't going to be worth points anyway. You'll want avoid the food!
I saw a few things in the game that I didn't remember putting in. For example, there's a "fruit" in there that's actually a badge from the never released Tengen Police Academy game. It's a star with the letters PA in the middle. Now that's some truly obscure trivia. There's also some ads for Klax and Toobin', two other Tengen NES games. That's in-game promotion of other games way back in 1990.
-- fxl
http://www.youtube.com/watch?v=3QKAS2TQ9tE
The above link shows some footage of the game. The comments mention that a guy at Tengen did the game in four months without access to the source code. Well, that guy is me, and while I didn't have access to the source code I did have an arcade machine in my cubicle wired up with a pause button. I was able to do pixel perfect graphics and mazes by using that pause button a lot.
Amazingly (no pun intended) I just realized this afternoon that Pacman and Fat Jumper have similar themes, sort of. Maybe I'll put cherries, strawberries, apples, pears and bananas into Fat Jumper, as a tribute. Is it legal to put a banana into a game and make it worth 5000 points? Well, this is a non-issue anyhow because in Fat Jumper the food isn't going to be worth points anyway. You'll want avoid the food!
I saw a few things in the game that I didn't remember putting in. For example, there's a "fruit" in there that's actually a badge from the never released Tengen Police Academy game. It's a star with the letters PA in the middle. Now that's some truly obscure trivia. There's also some ads for Klax and Toobin', two other Tengen NES games. That's in-game promotion of other games way back in 1990.
-- fxl
Friday, February 18, 2011
Octopus and platform test
This is a test release. You get to see an octopus and a new type of ledge. The game pretty much plays the same. Here is the link to version 17: FatJumper 017
Thanks to Istvan Szalontai for making a great octopus making tutorial. You can see it here: http://vimeo.com/8515135
I've basically been teaching myself how to become a better modeller in Blender 2.5. This is a whole lot of fun, but working through some tutorials is currently slowing down development. Once I learn how to do animation too I'll go back to developing the level editor.
I admit it, I've also been playing Little Big Planet. No, I'm not ready for LBP2 yet. Fat Jumper is going to borrow some concepts from the LBP planet in-game editor. I'm currently leaning towards requiring a PC or iPad to do level editing, rather than trying to make it work on a phone. We'll see. At the very least it's going to be much more pleasant editing levels on a large screen.
-- fxl
Thanks to Istvan Szalontai for making a great octopus making tutorial. You can see it here: http://vimeo.com/8515135
I've basically been teaching myself how to become a better modeller in Blender 2.5. This is a whole lot of fun, but working through some tutorials is currently slowing down development. Once I learn how to do animation too I'll go back to developing the level editor.
I admit it, I've also been playing Little Big Planet. No, I'm not ready for LBP2 yet. Fat Jumper is going to borrow some concepts from the LBP planet in-game editor. I'm currently leaning towards requiring a PC or iPad to do level editing, rather than trying to make it work on a phone. We'll see. At the very least it's going to be much more pleasant editing levels on a large screen.
-- fxl
Thursday, February 17, 2011
Tool update: Blender 2.5x
Today's topic is Blender, specifically moving from Blender 2.49, which is what I have been using for about a year, to the latest and greatest, Blender 2.56 Beta. All I can say is, Wow. Even though it's a beta, 2.5 Blender series is a big step in the right direction, very stable, and well worth the trouble, at least for me.
The first hurdle was that exporting to Unity 3 doesn't quite work right with Blender 2.56 Beta. Unity has trouble with the automatic .blend importing, so I have to manually export .fbx files instead. Not a big deal, but I hope it gets fixed with updates to either Blender or Unity. I also needed to learn the hard way that you have to select your object before exporting it, or it doesn't export. Makes sense once you know it.
Guess what, this issue sort of killed the whole day, and all I got done is some new models that aren't in the game yet. We'll see what tomorrow brings. Maybe even a new release.
I'd like to give a big shout out to Super3boy AKA Super3 and his very helpful tutorials on Youtube and his website www.nystic.com. It's very helpful to see his tutorials when learning Blender, and, in my case, when upgrading to the 2.5 series.
-- fxl
Wednesday, February 16, 2011
Production Plans Continued
Here are more plans for the production of Fat Jumper
Platforms
No, I'm not talking about the platforms that the fat jumper is going to be jumping on. It's the iPhones, and PCs and Macs out there. It's good to know the list of target platforms before creating the art assets so we know what resolutions to use in our textures and what level of detail to use in the 3D models.
Looks like this game should be playable on a low-end smartphones and 1080p consoles and PCs and everything in between. The iPhone 3GS resolution is 480x320, so that's the low end resolution. 1080p is 1920x1080, but even higher resolutions are possible on high end PCs or Macs. The controller is going to be two buttons only.
Marketing and Publishing
Probably this will be a free game supported by advertising and in-app purchases. This seems to be working very well for a number of games out there right now, so that's the plan. It'll be published by my very own (and very small) company, Actual Entertainment.
Schedule
Once huge advantage of being completely independent is that the schedule can be very flexible. It's still pretty good to have one though! So at the risk of looking foolish later, here's my current schedule:
level editor: 1 week
animation and particle system: 1 week
design, model and animate all game characters (about 10): 2 weeks.
design, model and animate 3 worlds: 3 weeks
level design of 21 levels (7 per world) : 3 weeks
game scoring, title screen, credits, etc.: 1 week
Testing: 2 weeks.
Extras: 2 weeks
Total: 15 weeks.
Hmm, I was hoping for 3 months ...
-- fxl
Platforms
No, I'm not talking about the platforms that the fat jumper is going to be jumping on. It's the iPhones, and PCs and Macs out there. It's good to know the list of target platforms before creating the art assets so we know what resolutions to use in our textures and what level of detail to use in the 3D models.
Looks like this game should be playable on a low-end smartphones and 1080p consoles and PCs and everything in between. The iPhone 3GS resolution is 480x320, so that's the low end resolution. 1080p is 1920x1080, but even higher resolutions are possible on high end PCs or Macs. The controller is going to be two buttons only.
Marketing and Publishing
Probably this will be a free game supported by advertising and in-app purchases. This seems to be working very well for a number of games out there right now, so that's the plan. It'll be published by my very own (and very small) company, Actual Entertainment.
Schedule
Once huge advantage of being completely independent is that the schedule can be very flexible. It's still pretty good to have one though! So at the risk of looking foolish later, here's my current schedule:
level editor: 1 week
animation and particle system: 1 week
design, model and animate all game characters (about 10): 2 weeks.
design, model and animate 3 worlds: 3 weeks
level design of 21 levels (7 per world) : 3 weeks
game scoring, title screen, credits, etc.: 1 week
Testing: 2 weeks.
Extras: 2 weeks
Total: 15 weeks.
Hmm, I was hoping for 3 months ...
-- fxl
Tuesday, February 15, 2011
Starting Production
It's time to start production on Fat Jumper. If this were a console game I'd be spending quite a bit more time on the prototype, but this game is going to be released as a real product in about three months. No promises, but that's the goal.
This is no ordinary production process, because this blog is still going to document every day, rain or shine. There's going to be pressure to keep the game playable and, most importantly, to make it fun. There's still a ton of things to do. The order doesn't matter quite as much as getting it all done.
I'll be sharing not just the game and the development process but also some of the tools. I'll be soliciting help from you, the readers. You'll be able to contribute by designing levels with a very powerful custom level editor. You'll also have a hand in deciding what goes into the first product. And of course you'll be able to play the game as it continues to evolve. But, sadly, the test game releases won't be happening every day anymore, more likely once a week.
Here's an overview of the components for this project:
level editor
This is the heart of the game. We'll be able to lay out the terrain, movable platforms, enemies, and special items. The editor will be released in this blog just as the game versions. Don't know yet if it'll be in-game or a standalone program.
graphics
I'll continue to make the graphics myself, but may solicit help from outside artists at some point. I'll need to spend some additional time learning Blender and Unity.
audio
Need to decide on some audio tools. Don't know yet if I want background music. Probably yes.
world design, story, theme
We'll want to have a rudimentary storyline, some worlds, and a theme for each world.
High score system
It's fun to have high scores and to put them into a global high score table. A real problem with these is that people cheat by hacking the games. This is difficult to prevent. But a bigger problem is that it can be depressing to see so many people with better scores. I'll be doing a "league" system to address this. Players can join leagues and will have a league-wide high score table. Leagues can put limits on how many people may join, how experienced the players may be, or geographical restrictions. The leagues have to be self-policed so that cheaters can get tossed out by the other league players. The full-blown system won't come on-line until we have enough players.
More tomorrow,
-- fxl
This is no ordinary production process, because this blog is still going to document every day, rain or shine. There's going to be pressure to keep the game playable and, most importantly, to make it fun. There's still a ton of things to do. The order doesn't matter quite as much as getting it all done.
I'll be sharing not just the game and the development process but also some of the tools. I'll be soliciting help from you, the readers. You'll be able to contribute by designing levels with a very powerful custom level editor. You'll also have a hand in deciding what goes into the first product. And of course you'll be able to play the game as it continues to evolve. But, sadly, the test game releases won't be happening every day anymore, more likely once a week.
Here's an overview of the components for this project:
level editor
This is the heart of the game. We'll be able to lay out the terrain, movable platforms, enemies, and special items. The editor will be released in this blog just as the game versions. Don't know yet if it'll be in-game or a standalone program.
graphics
I'll continue to make the graphics myself, but may solicit help from outside artists at some point. I'll need to spend some additional time learning Blender and Unity.
audio
Need to decide on some audio tools. Don't know yet if I want background music. Probably yes.
world design, story, theme
We'll want to have a rudimentary storyline, some worlds, and a theme for each world.
High score system
It's fun to have high scores and to put them into a global high score table. A real problem with these is that people cheat by hacking the games. This is difficult to prevent. But a bigger problem is that it can be depressing to see so many people with better scores. I'll be doing a "league" system to address this. Players can join leagues and will have a league-wide high score table. Leagues can put limits on how many people may join, how experienced the players may be, or geographical restrictions. The leagues have to be self-policed so that cheaters can get tossed out by the other league players. The full-blown system won't come on-line until we have enough players.
More tomorrow,
-- fxl
Monday, February 14, 2011
mmm donuts
Today I added donuts and cake. If you run into the donut or the cake you get fatter. When you're fatter you can't jump as high. This all needs a bit of tweaking, and the graphics are pretty bad, but recognizable and playable, which is what we're aiming for right now.
Here's the latest: FatJumper 16
I also adjusted the camera up, tilted it down, and zoomed it a little. Eventually we'll want the camera to do some animation at the beginning and end of each level, and track the player up and down, not just sideways.
-- fxl
Sunday, February 13, 2011
Fatness
Today's version is an experiment in fatness. Every time you jump you get skinnier, and every time you collide with something you get fatter. This is mainly a graphics test.
Here's the link: FatJumper 15
If you stay on the platform that moves up and down you'll see Fat Jumper get to maximum fatness.
-- fxl
Here's the link: FatJumper 15
If you stay on the platform that moves up and down you'll see Fat Jumper get to maximum fatness.
-- fxl
Saturday, February 12, 2011
Fat Jumper
Now that the very minimal website is live I can announce the new, less temporary name. Fat Jumper. Here is the latest version with the new name: Fat Jumper 14
Why the new name? Because this one appears to be available. A quick Google search didn't turn up any other video games or entertainment products with this name. The name also fits the game and seems OK for the Apple Appstore.
One other new thing today is that our main character now leans forward when he accelerates. I took the current speed factor (which ranges from 0 to 1) and multiplied it by 10 degrees to get the angle.
Lastly, I made the Fat Jumper fatter by scaling his body a little bit. In the near future he's going to be varying his fatness dynamically. When he's fatter he won't jump as high, but will cause more damage when he hits stuff. So how does he get fatter? We'll need to put some food out there for him to eat (or avoid). Donuts bad, celery good. I might have to get permission to use some Burgertime assets. I wonder if Data East still exists?
As is the case with all questions (well, most of them) Google has the answer. Data East went bankrupt but the assets are now owned by G-Mode. Apparently Burgertime is alive and well. I guess I'll have to contact G-Mode to find out if they're willing to allow this former Burgertime world record holder to put a Burgertime cameo appearance into Fat Jumper. If not I'll have to make my own walking pickles.
-- fxl
Why the new name? Because this one appears to be available. A quick Google search didn't turn up any other video games or entertainment products with this name. The name also fits the game and seems OK for the Apple Appstore.
One other new thing today is that our main character now leans forward when he accelerates. I took the current speed factor (which ranges from 0 to 1) and multiplied it by 10 degrees to get the angle.
Lastly, I made the Fat Jumper fatter by scaling his body a little bit. In the near future he's going to be varying his fatness dynamically. When he's fatter he won't jump as high, but will cause more damage when he hits stuff. So how does he get fatter? We'll need to put some food out there for him to eat (or avoid). Donuts bad, celery good. I might have to get permission to use some Burgertime assets. I wonder if Data East still exists?
As is the case with all questions (well, most of them) Google has the answer. Data East went bankrupt but the assets are now owned by G-Mode. Apparently Burgertime is alive and well. I guess I'll have to contact G-Mode to find out if they're willing to allow this former Burgertime world record holder to put a Burgertime cameo appearance into Fat Jumper. If not I'll have to make my own walking pickles.
-- fxl
Friday, February 11, 2011
Level Timer
The only thing new today is a level timer. When you finish the level you get a bonus score depending on how quickly you finished the level.
Here's the link to the latest: ActionJump 0.013
In the next day or two I'll be settling on the name for the game. It won't be Action Jump. Action Jump isn't a bad name, but I found something I like even better.
-- fxl
Here's the link to the latest: ActionJump 0.013
In the next day or two I'll be settling on the name for the game. It won't be Action Jump. Action Jump isn't a bad name, but I found something I like even better.
-- fxl
Thursday, February 10, 2011
Jump levels
Today the controls got a bit more interesting, there's some new placeholder sounds, and the end of the level isn't totally abrupt anymore.
Here is the latest version: ActionJump 0.012
There are now three levels of jumping. The height of the jump depends on how long you hold down the spacebar. If you just tap it our hero jumps a little, if you hold it longer you get a medium jump, and if you hold it for even longer you get maximum height. It feels OK right now, but this will possibly be adjusted in the future depending on how the character interacts with future game elements.
By getting some control over the jump height we'll be able to put in some challenges into the more difficult levels where the player has to use the correct height to get past some obstacles.
The two new sound effects are death sounds borrowed from a couple of classic arcade games from the early eighties. Do you recognize them? The first sound happens when you die against the first monkey. The other one triggers when you die against one of the later monkeys.
Finally at the end of our one and only level there's a little celebration, a little bit of waiting, followed by starting the level over again. I just had to put this in, even though it's most certainly going to get replaced by something better. These glue animations (they glue the game together) are a lot of work, and you might not even notice them as a player in the heat of battle. You sure notice it though when they're missing like in our earlier versions.
-- fxl
P.S. I'm giving up trying to predict what I'm going to do next. Just read the next blog and you'll find out. It felt like my past self was my boss, and a tough one to boot. I almost fired myself yesterday, and that would be embarrassing. Besides, it's a tough job market out there for fired classic arcade sidescroller programmers.
Here is the latest version: ActionJump 0.012
There are now three levels of jumping. The height of the jump depends on how long you hold down the spacebar. If you just tap it our hero jumps a little, if you hold it longer you get a medium jump, and if you hold it for even longer you get maximum height. It feels OK right now, but this will possibly be adjusted in the future depending on how the character interacts with future game elements.
By getting some control over the jump height we'll be able to put in some challenges into the more difficult levels where the player has to use the correct height to get past some obstacles.
The two new sound effects are death sounds borrowed from a couple of classic arcade games from the early eighties. Do you recognize them? The first sound happens when you die against the first monkey. The other one triggers when you die against one of the later monkeys.
Finally at the end of our one and only level there's a little celebration, a little bit of waiting, followed by starting the level over again. I just had to put this in, even though it's most certainly going to get replaced by something better. These glue animations (they glue the game together) are a lot of work, and you might not even notice them as a player in the heat of battle. You sure notice it though when they're missing like in our earlier versions.
-- fxl
P.S. I'm giving up trying to predict what I'm going to do next. Just read the next blog and you'll find out. It felt like my past self was my boss, and a tough one to boot. I almost fired myself yesterday, and that would be embarrassing. Besides, it's a tough job market out there for fired classic arcade sidescroller programmers.
Wednesday, February 9, 2011
Invisible progress syndrome
It's time to take some time off and learn more about the tools that I'm using. This can be quite time consuming, so please bear with me as I might have several days of no visible progress.
It's a sad reality, but a reality nonetheless. Sometimes progress is invisible, so that means there's no point in posting a new version of the game.
What kinds of invisible progress am I talking about? Here's a list:
This isn't a complete list, but you get the idea. Just because there's no new version it doesn't mean there's no progress. Still, it goes against the spirit of this project to have very much of this.
As I look at the invisible progress list, only items 3 and 4 stand out as just plain bad. To avoid 3, code should be written to do small incremental, testable steps. To avoid 4 simply stuff the new assets into the game someplace just to look at them or hear them.
Learning, or research, are often necessary, but it's preferable to not overdo it. Finishing the project has to take higher priority.
Rewriting the code is often better than trying to fix it. If the code has grown into a tangled mess it's best to toss it and start over.
Experimentation will fail sometimes. If it doesn't then you're not doing it right.
Now I really need get back to work,
-- fxl
It's a sad reality, but a reality nonetheless. Sometimes progress is invisible, so that means there's no point in posting a new version of the game.
What kinds of invisible progress am I talking about? Here's a list:
- learning stuff
- rewriting code to make it better
- writing new code but it doesn't work yet
- developing new graphics, sounds, etc. that aren't integrated into the game yet.
- Doing some experimentation that fails somehow.
This isn't a complete list, but you get the idea. Just because there's no new version it doesn't mean there's no progress. Still, it goes against the spirit of this project to have very much of this.
As I look at the invisible progress list, only items 3 and 4 stand out as just plain bad. To avoid 3, code should be written to do small incremental, testable steps. To avoid 4 simply stuff the new assets into the game someplace just to look at them or hear them.
Learning, or research, are often necessary, but it's preferable to not overdo it. Finishing the project has to take higher priority.
Rewriting the code is often better than trying to fix it. If the code has grown into a tangled mess it's best to toss it and start over.
Experimentation will fail sometimes. If it doesn't then you're not doing it right.
Now I really need get back to work,
-- fxl
Monday, February 7, 2011
Some design ideas for the near future
Well, I don't have much time for this project today, so I'll be writing down some ideas that occurred to me as I was playing the game.
The scoring is lame right now. A time bonus at the end is a cheap way to add some extra challenge. Probably the three star system could work. For each level award 0,1,2 or 3 stars depending on how quickly the player got through the level.
A web implementation of a high score table would really help, even during development. This could become tricky since the game is constantly changing, so the high score table would have to handle all the different versions.
The jump control could be more interesting if the jump height is a function of how quickly the player released the jump button. I'll be adding this in the next version because it's easy to do.
We need a celebration animation for when the player finishes a level.
We need a way to tie different levels together. We also need a few levels, not just one.
The audio is pretty minimal right now. I need to find some more sound effects to throw into the game.
It'll be time soon to decide on a theme and the real name of the game.
In just a few minutes I generated enough ideas to keep me busy for weeks trying to implement them all. This is a very common situation with game development. Ideas are cheap, it's the implementation that counts. Still, I value ideas. One good idea is often better than ten so-so ideas.
I'd better stop myself before I write down too many of these ideas and then have to do too much.
-- fxl
The scoring is lame right now. A time bonus at the end is a cheap way to add some extra challenge. Probably the three star system could work. For each level award 0,1,2 or 3 stars depending on how quickly the player got through the level.
A web implementation of a high score table would really help, even during development. This could become tricky since the game is constantly changing, so the high score table would have to handle all the different versions.
The jump control could be more interesting if the jump height is a function of how quickly the player released the jump button. I'll be adding this in the next version because it's easy to do.
We need a celebration animation for when the player finishes a level.
We need a way to tie different levels together. We also need a few levels, not just one.
The audio is pretty minimal right now. I need to find some more sound effects to throw into the game.
It'll be time soon to decide on a theme and the real name of the game.
In just a few minutes I generated enough ideas to keep me busy for weeks trying to implement them all. This is a very common situation with game development. Ideas are cheap, it's the implementation that counts. Still, I value ideas. One good idea is often better than ten so-so ideas.
I'd better stop myself before I write down too many of these ideas and then have to do too much.
-- fxl
New Controls in ActionJump
It's time to switch to the new controls that I talked about at the beginning of the project. So now, we just have accelerate to the right and jump. Try it out the new controls here: ActionJump 0.011
This makes the game more difficult, but basically this is a design decision to keep the controls as simple as possible and workable on a phone.
-- fxl
This makes the game more difficult, but basically this is a design decision to keep the controls as simple as possible and workable on a phone.
-- fxl
Sunday, February 6, 2011
Tools
No, I'm not talking about the screwdrivers and hammers in Gubble. It's the software tools that game developers use. Even early on during development it's important to select good off-the shelf tools and to decide on which custom tools to develop.
First, a bit of history. In the 80s most game developers used a compiler or assembler and the artists had a paint program. Sound was often done using custom programming inside the game, or maybe we had some special audio tools such as RPM (Rusty's Pokey Music System), internal to Atari. In RPM you typed in the notes and their duration, like this: C sharp, quarternote. I spent many hours typing in notes from my piano sheet music collection. Level editors were in their infancy, or they didn't exist at all. I invented a scripting language on top of FORTRAN to generate the ramps, elevators and other data patterns for the Crystal Castles levels.
In the 90's we saw the advent of real-time 3D and the 3D editors such as 3D Studio. At my old company Bitmasters we used 3D Studio to prerender rocks for the SNES version of Rampart. The first real breakthrough in this area was Donkey Kong Country for the SNES, with great 3D animation, all prerendered and stored in very expensive ROM memory.
For the original Gubble in 1996 we wrote a custom level editor integrated with the 3D geometry coming out of 3D Studio. We used the editor to lay out the levels, then fed them to 3D Studio for the real level rendering.
Now, fifteen years later, we have a huge assortment of off-the shelf tools available for purchase, and some very good things for free. For ActionJump I selected Blender, Unity3D, Visual Studio C# Express and Gimp2. They are all free, which is truly great. It even opens the possibility of letting customers in on the act. We could, for example, allow users to write custom content using these tools and set up a way to distribute this content to the rest of the players.
Still, there is something to be said for writing a custom level editor rather than just using Unity or Blender to lay out the levels. This is the approach used by Halo with Forge and in Little Big Planet. So that's the plan for ActionJump as well. Not only are we going to use the custom level editor to make our levels, the level editor should be an integral part of the game so that anyone can use it to have fun making their own levels.
This also has an impact on this blog. If we have a level editor available early on then the readers of this blog can make levels during development. They would truly become a part of the team, which is a scary prospect, but a good scary. This certainly takes me out of my comfort zone.
Next time we'll get back to working on the game itself. It's not ready for a level editor just yet, but it's good to know that it's coming, and that it'll be integral to the game.
-- fxl
First, a bit of history. In the 80s most game developers used a compiler or assembler and the artists had a paint program. Sound was often done using custom programming inside the game, or maybe we had some special audio tools such as RPM (Rusty's Pokey Music System), internal to Atari. In RPM you typed in the notes and their duration, like this: C sharp, quarternote. I spent many hours typing in notes from my piano sheet music collection. Level editors were in their infancy, or they didn't exist at all. I invented a scripting language on top of FORTRAN to generate the ramps, elevators and other data patterns for the Crystal Castles levels.
In the 90's we saw the advent of real-time 3D and the 3D editors such as 3D Studio. At my old company Bitmasters we used 3D Studio to prerender rocks for the SNES version of Rampart. The first real breakthrough in this area was Donkey Kong Country for the SNES, with great 3D animation, all prerendered and stored in very expensive ROM memory.
For the original Gubble in 1996 we wrote a custom level editor integrated with the 3D geometry coming out of 3D Studio. We used the editor to lay out the levels, then fed them to 3D Studio for the real level rendering.
Now, fifteen years later, we have a huge assortment of off-the shelf tools available for purchase, and some very good things for free. For ActionJump I selected Blender, Unity3D, Visual Studio C# Express and Gimp2. They are all free, which is truly great. It even opens the possibility of letting customers in on the act. We could, for example, allow users to write custom content using these tools and set up a way to distribute this content to the rest of the players.
Still, there is something to be said for writing a custom level editor rather than just using Unity or Blender to lay out the levels. This is the approach used by Halo with Forge and in Little Big Planet. So that's the plan for ActionJump as well. Not only are we going to use the custom level editor to make our levels, the level editor should be an integral part of the game so that anyone can use it to have fun making their own levels.
This also has an impact on this blog. If we have a level editor available early on then the readers of this blog can make levels during development. They would truly become a part of the team, which is a scary prospect, but a good scary. This certainly takes me out of my comfort zone.
Next time we'll get back to working on the game itself. It's not ready for a level editor just yet, but it's good to know that it's coming, and that it'll be integral to the game.
-- fxl
Saturday, February 5, 2011
Game Development when you're Old.
Now that I've been over 50 for a while I might seem kind of old in comparison to those other game developers out there. Today, I thought I'd take a break from developing and give some unsolicited advice to you other old timers, you know who you are. You might even be feeling old even though you're only 26.
I started doing commercial game development at that age. Even way back then most of the other programmers in our group were younger than me, and if you were over 30 that was definitely over the hill. Eight years later when I was in another group we called one of our coworkers "grandpa" just because he was the only one over 40.
So how come I'm still at it almost thirty years later. The answer is simple. I love it. Mainly, I love playing games, designing games and, almost as much, programming. And I can't stress this enough, I'm not too old for this. Maybe when I'm 110, but definitely not now nor anytime soon.
By the way, it's never too late to start. It's much easier now to get started in game development compared to the early eighties. The sheer volume of great introductory books is amazing. And of course there's a ton of video tutorials on youtube and many specialized sites to help anyone to do this, regardless of age.
The most important thing, other than loving it, is to have a reasonably open attitude towards change. As we get older we have a tendency to latch on to the old and familiar ways while rejecting the new ways. My old friend Rob calls this ossification. So, in a nutshell, avoid ossification. Play some new games, learn a new programming language or two, get out of your comfort zone.
And, as a final thought for today, fight agism wherever you might find it. This kind of prejudice is just as ugly as racism or sexism.
I started doing commercial game development at that age. Even way back then most of the other programmers in our group were younger than me, and if you were over 30 that was definitely over the hill. Eight years later when I was in another group we called one of our coworkers "grandpa" just because he was the only one over 40.
So how come I'm still at it almost thirty years later. The answer is simple. I love it. Mainly, I love playing games, designing games and, almost as much, programming. And I can't stress this enough, I'm not too old for this. Maybe when I'm 110, but definitely not now nor anytime soon.
By the way, it's never too late to start. It's much easier now to get started in game development compared to the early eighties. The sheer volume of great introductory books is amazing. And of course there's a ton of video tutorials on youtube and many specialized sites to help anyone to do this, regardless of age.
The most important thing, other than loving it, is to have a reasonably open attitude towards change. As we get older we have a tendency to latch on to the old and familiar ways while rejecting the new ways. My old friend Rob calls this ossification. So, in a nutshell, avoid ossification. Play some new games, learn a new programming language or two, get out of your comfort zone.
And, as a final thought for today, fight agism wherever you might find it. This kind of prejudice is just as ugly as racism or sexism.
Friday, February 4, 2011
Death and Dying
Not much new today, but every little step counts. I added a death sequence. When the player collides with a monkey head he spins and flies off the platform in a random direction. I kind of needs more than that, like a good screaming sound, and a better start sequence.
These animations are still pretty simple, and as the game progresses I plan to put in more elaborate and modern animations. During this prototype phase the purpose of the animations is to test out various aspects of the technology and to make the game timing feel adequate. The theming and visual quality will have to be added at a later stage.
I made the monkeys red because they're enemies and red is just a better enemy color.
I somehow managed to wipe out all ramping, so don't bother to play more than one wave.
No screenshot today, just a link to the game: ActionJump 010
Since this is Superbowl weekend it's time to take a break from cranking out a version every single day. I did manage to do 10 days in a row, which ain't bad. Expect a new version on Monday.
-- fxl
These animations are still pretty simple, and as the game progresses I plan to put in more elaborate and modern animations. During this prototype phase the purpose of the animations is to test out various aspects of the technology and to make the game timing feel adequate. The theming and visual quality will have to be added at a later stage.
I made the monkeys red because they're enemies and red is just a better enemy color.
I somehow managed to wipe out all ramping, so don't bother to play more than one wave.
No screenshot today, just a link to the game: ActionJump 010
Since this is Superbowl weekend it's time to take a break from cranking out a version every single day. I did manage to do 10 days in a row, which ain't bad. Expect a new version on Monday.
-- fxl
Thursday, February 3, 2011
Attack of the Killer Monkey Heads
OK, we finally have some enemies. They're not exactly intimidating, but at least we can't just run through the levels blindly anymore.
To play this version go to ActionJump 0.009
The player now has two colors, and the monkey heads are textured, and if you touch a monkey head you die. Of course the real enemies are going to fit with the theme, so they probably won't be monkey heads. The green color implies that they're safe, so next time I'll make them red and add some green stuff to pick up and get points for.
In keeping with the spirit of fixing the worst thing next, it's really time to have a death animation for our player rather than just moving him to the start of the level. Now that I know how to import textured objects from Blender I might work on the player graphics a bit and add running and jumping animations.
While we're working on the player, we might want to revisit the controls. The original idea was to have just two buttons, but currently we're using three, which really is one too many for a touchscreen.
Taking a step back, this is basically a stream-of-consciousness blog where I simply write down what I'm thinking about when designing a new game. It's also helping me to keep going every day, which can be tough sometimes when you're independent.
-- fxl
To play this version go to ActionJump 0.009
The player now has two colors, and the monkey heads are textured, and if you touch a monkey head you die. Of course the real enemies are going to fit with the theme, so they probably won't be monkey heads. The green color implies that they're safe, so next time I'll make them red and add some green stuff to pick up and get points for.
In keeping with the spirit of fixing the worst thing next, it's really time to have a death animation for our player rather than just moving him to the start of the level. Now that I know how to import textured objects from Blender I might work on the player graphics a bit and add running and jumping animations.
While we're working on the player, we might want to revisit the controls. The original idea was to have just two buttons, but currently we're using three, which really is one too many for a touchscreen.
Taking a step back, this is basically a stream-of-consciousness blog where I simply write down what I'm thinking about when designing a new game. It's also helping me to keep going every day, which can be tough sometimes when you're independent.
-- fxl
Wednesday, February 2, 2011
Monkey Business
Well, I got sidetracked a little bit, having gotten tired of the main character being a sphere, and that strange background texture. So here's the new look:
And as usual, here's the link to where you can try it out: ActionJump 0.008
The green monkey head is a new enemy, created with a few clicks in Blender. He doesn't do anything yet. Maybe tomorrow he'll actually damage the player. The main character is more recognizable as a character with accurate collision detection. The new background is closer to what I have in mind for the background scenery.
All the the current assets (that's the graphics, 3D models and audio) are placeholder and just barely good enough to be a solid guide for the future creation of the real assets. It really helps to have a playable prototype so that the artists can just replace the placeholders with the final assets and immediately get the feedback on how it will look, sound and feel in the final product.
I once again increased the resolution, this time to 960x640, which coincidentally is the iPhone4 resolution. It's tricky dealing with different resolutions and aspect ratios, but it's usually best to create all your assets for your best target resolution as it is much easier to remove art details than to add them. I'm planning to support resolutions ranging from 480x320 (phones) all the way up to 1920x1200. Higher than that is still very uncommon, but if at some future date we get 3840 x 2400 it'll be easy to support that as well, mainly because we're using a 3D engine rather than 2D.
Tomorrow: attack of the green monkey heads.
-- fxl
And as usual, here's the link to where you can try it out: ActionJump 0.008
The green monkey head is a new enemy, created with a few clicks in Blender. He doesn't do anything yet. Maybe tomorrow he'll actually damage the player. The main character is more recognizable as a character with accurate collision detection. The new background is closer to what I have in mind for the background scenery.
All the the current assets (that's the graphics, 3D models and audio) are placeholder and just barely good enough to be a solid guide for the future creation of the real assets. It really helps to have a playable prototype so that the artists can just replace the placeholders with the final assets and immediately get the feedback on how it will look, sound and feel in the final product.
I once again increased the resolution, this time to 960x640, which coincidentally is the iPhone4 resolution. It's tricky dealing with different resolutions and aspect ratios, but it's usually best to create all your assets for your best target resolution as it is much easier to remove art details than to add them. I'm planning to support resolutions ranging from 480x320 (phones) all the way up to 1920x1200. Higher than that is still very uncommon, but if at some future date we get 3840 x 2400 it'll be easy to support that as well, mainly because we're using a 3D engine rather than 2D.
Tomorrow: attack of the green monkey heads.
-- fxl
Tuesday, February 1, 2011
Boing
That was a lot of work for just adding a single sound effect. Sorry to disappoint, but that's the only change from the last version:
ActionJump 0.007
That sound effect was taken from Gubble as well. I don't mind reusing that particular sound effect, but in general it's good practice to redo everything when you make a new game. Since we don't have a theme or story yet it's premature to do the sound and music, but on the other hand we want to have some basic sound effects in there to make the game feel real.
I'm on the fence regarding background music. My choices are
ActionJump 0.007
That sound effect was taken from Gubble as well. I don't mind reusing that particular sound effect, but in general it's good practice to redo everything when you make a new game. Since we don't have a theme or story yet it's premature to do the sound and music, but on the other hand we want to have some basic sound effects in there to make the game feel real.
I'm on the fence regarding background music. My choices are
- No background music
- find some public domain music
- license existing commercial background music
- hire a composer to write custom music
That's quite an array of choices and it depends somewhat on the budget, which currently is 0. On the iPhone many very successful games have no background music, but on the consoles it's mandatory to have background music, especially on platform games. We'll revisit this issue once the game is farther along.
Tomorrow I'll be adding some real enemies and make the game a bit more challenging.
-- fxl
Subscribe to:
Posts (Atom)