Time lapse screencap video of a games programmer
youtube.com
youtube.com
I am inspired by this. I'm going to do this the next time I work on a game. Has anyone used time-lapse screencap software they can suggest?
I'm sure I would do my best to appear attentive when working on something like this, limiting my twitter/facebook/hn browsing to my iPhone/iPod/laptop.
He posted about development progress.
Here's the sound effect program he was using, btw:
I just finished my second JS10K entry (also a game, but much simpler) in about the same total time (though spread over more days).
I found the hardest part was to balance playability of the game. I played it so many times while developing it that what was easy for me turned out to be very difficult for others.
At least with such short competitions your involvement is limited. Constraints work both ways: deadlines are liberating when they pass.
A LD48 regular created chronolapse for this purpose.
This video shows off a sense of initiative, a love of games, talent, and a knack for getting things done under time pressure. Nice!
172 people each wrote a complete game last weekend, and you can play all of them from http://www.ludumdare.com/compo/ludum-dare-18/?action=preview... .
[2] http://notch.tumblr.com/post/998637682/minecraft-alpha-v1-0-...
So just be careful if you try it out.
I'm a recovering Minecraftoholic.
Beyond that - there aren't really any goals. It's a huge sandbox. However, there may be some depth you're missing:
- There are some 'toys' to play with - minetrains, for one. You can build tracks and minecarts - unpowered and powered.
- If you dig deep enough, you can get redstone, which can be used to simulate electrical circuits. There's a whole thread on the Minecraft forum with basic constructs like OR / AND / XOR / etc - people have built things as complex as a twelve-hour clock (although it doesn't keep time accurately because there's no way to synch time - but it is as close as could be made and does function in the sense that it accurately counts 60 seconds, 60 minutes, twelve hours...) - I also saw a turing machine being worked on, as well as a few other similar devices. VERY complex stuff, considering.
- People have developed cannons
The more basic activities include finding caves and exploring them...
But there's some great silly stuff - like you can make a saddle and go ride pigs.
Is any of that stuff you've missed that sounds interesting? I hope so.
I suppose it's a game that might appeal more to younger folks - but as a 35-year-old, I love it. But I always loved SimCity, Simutrans (a freeware transportation simulator. Disclaimer: I'm the "Benevolent Dictator" of the International forum, and provide much of the hosting)... I also played GTA:SA, but not really the official missions - I just drove around and made it my own sandbox... Flight simulators...
All in all, I don't so much like games as I do simulated environments... so Minecraft is right up my alley.
I compiled (yucky) with (after unzip + mkdir build):
javac -cp build src/com/mojang/metagun/{entity,level,screen,}/*.java -d build/
cp {src,build}/com/mojang/metagun/screen/exposition.txt
jar -cf app.jar -C build . -C res .
You need some html to run an applet; App.html just needs this: <applet code="com.mojang.metagun.Metagun" archive="app.jar" height="480" width="640"></applet>
Run with: appletviewer App.html
New to me (but probably standard to game writers) is: using a png to represent all the maps combined (like 10x10 maps), with each pixel's color representing a game tile type (eg. yellow for oil drum, purple for portal cube, red for spikes, green for signs etc). This representation is really cool, because it looks like what it represents (an isomorphism): you can "see" the level in a png editor, even though what you're seeing is not the actual level.Another aspect of how the data representation drives the game, is that there are no explicit arcs between game screens - instead, the screen design allows your character to walk off-screen, then that point enables you to transition to the next screen. I guess it's the most obvious way to do it: it's as if you are zoomed into a particular section of the 10x10 maps, and then you can move to adjacent maps. Maybe it's just that I've spent too much time with nodes and arcs recently :-), expecting logical concepts to be explicitly specified, instead of implied by the design. Anyway, there is no sequential index to get to a particular screen; you have to follow the path. Or you can look at that png. eg, the final boss screen is at xLevel=3, yLevel=10 (you can initialize those values in GameScreen.java; and you need to change the player start location too, because now it's not derived from the previous screen: change the last two args in the following new Level line, from 0,0 to 10,10).
I've also heard of some bitmap-as-data atrocities. A colleague who worked with an engine from a certain well known single player RPG described how bitmaps were used in that engine to control animation states. Like, if walking and getting hit, which animation takes priority. There are as many ways to implement that system as there are game developers. For some reason this developer elected to store those matrices as BMP files, and edit them using a paint program.
The bitmap as level trick is a great shortcut for prototyping and rapid development, perfect for this contest. But I can't imagine the thought process that led to using one for animation data.
At least he was using a data-driven approach. There's a lot to be said for that (as opposed to coding it), provided you can find a good representation. As Brooks ~ said "show me your flowcharts and I will continue to be mystified; but show me your tables and all will be clear." He's talking about communicating it to another, but a (appropriate...) data-driven approach is also more flexible, simpler and easier to reason about, because it embodies an abstraction and isomorphism of the solution space. Of course, if it turns out insufficiently rich, you'll wish it was code (or at least that it can be supplemented with code.)
You resize the cells to make them square, insert a formula that will rewrite all cells from a given row into a single string (so you could then just copy a column with those strings and paste directly into Notepad, or something), and then you can use convenient navigation with arrows, tab and ENTER to create the map (also filling entire row or column by one mouse drag was handy). Moreover, if you add "conditional formatting", you can make all different tiles appear with different colors and font styles (like walls with dark background or pickups colored in gold, green, etc.). It's a 2-minutes-to-do, poor's man map editor for tileset-based games :).
That would really lead to me kicking my own ass more for productivity
It's sfxr: http://www.drpetter.se/project_sfxr.html
It's still pretty impressive if he implemented his own sprite class from scratch and built a game with it in 48 hours.
Where would be a good source for such competitions?
Another fun competition I read about was the Super Mario AI competition in 2009 where the winner has succeeded with an A* algorithm which he presented in a nice video: http://www.youtube.com/watch?v=DlkMs4ZHHr8
The 2010 Mario AI championship also seems to be over already.
Another fun competition I have heard about is the International Obfuscated C Code Contest. However, while reading this is very interesting and quite fun, I am not sure if I would have fun to do this myself. (Somehow I am more focused on the output/result of the code and I like to have clean, elegant and intelligent code, as less obfuscated as possible. :))
visit this to subscribe. http://www.gamecompo.com/mailing-list/
The TIGSource "Competitions" forum is a great resource. http://forums.tigsource.com/
They host the occasional compo there, and they usually have a thread mentioning most other compos before or as they occur.
ps. I participate in some of these under the name 'jovoc'.
http://stackoverflow.com/questions/3561301/overview-and-news...
EDIT: appears to work fine in FF
<rant>
As a sidenote, this difference of experience highlights a big problem with rich web applications.You get so high variance in performance depending on a particular combination of hardware, OS and browser that you are virtually predestined to fail hard for some non-negligible part of your userbase (unless your application is so trivial that even on the worst possible platform it would still work ok).
I know, this problem existed with classical games all the time. But there, gamers pretty much came to terms with "hardware requirements" (needed to play the game at all).
With web, expectations are for some reason different. It used to be quite expected and acceptable to buy new GPU/CPU/RAM to play a particular desktop game, yet it seems like too much work just to fire a different browser and copy & paste URL. I know I'm guilty of this myself, despite being developer and regularly working simultaneously with multiple browsers.
And it's just going to get worse as performance spread will widen, both on low-end (more people accessing web through mobile devices) and on high-end (as HW acceleration slowly comes to new generation of browsers).
</rant>Also, Java applets are canonical example of RIA: