Jan 22
Everything's finally OpenGL ES 1.1 compatible, and all GLUT calls are
converted to Cocoa Touch.
It's really nice that Xcode can handle Objective-C and C++ in the same
file. Such a huge time-saver.
Still needs some performance tweaks ("mip-mapping" the canyon vertices
is an option we're considering), but, hey, it runs!
Jan 15
Those JS articles I linked last week were fairly disappointing, it
turns out. But this seems really promising:
http://eloquentjavascript.net/contents.html
Jan 6
I find the default Chrome icon a bit too colorful and distracting sitting there on my dock... so this is how to replace it:
- Download the .icns file from Chromium. (.icns is the Mac OS X icon format)
- In Terminal.app, type:
cp ~/Downloads/app.icns /Applications/Google\ Chrome.app/Contents/Resources/
(You may need to adjust the paths if you downloaded it to a different directory, or if you have Chrome installed somewhere other than /Applications .)
- Restart Chrome.
Now you should have a nicely unobtrusive blue icon instead.
Update: Alternatively, you can get the latest Chromium build, which not only has the Chromium icon, but also a bookmark manager!
Jan 4
I'm going to finally learn JavaScript properly. I've a decent amount
of time writing mediocre JavaScript code, from simple browser games to
a half-assed HTTP server that ran on top of XULRunner. But I have
nowhere near the depth of understanding of what's actually going on
"under the hood" as I have with C or Python or even Objective-C.
So I'm documenting my adventures here- both for my own reference and
in the hope that it makes it easier for someone else to do the same.
First stop, a refresher on the object system:
http://www.devarticles.com/c/a/JavaScript/ObjectOriented-JavaScript-An-Introduction-to-Core-Concepts/ http://www.devarticles.com/c/a/JavaScript/Object-Oriented-JavaScript-Using-the-Prototype-Property/ Douglas Crockford's presentation "JavaScript - The Good Parts" sounds
promising:
http://video.yahoo.com/watch/630959/2974197 ... maybe in
conjunction with finishing up the chapter on him in Coders at Work.
Jan 4
Just figured I'd post this screen shot of what Eric and my CSE 167
project eventually became.
Eric's also planning on making an iPhone game out of this; I'm looking
forward to that... accelerometer controls are probably a lot more fun
than keyboard arrows.
It's still in the same GitHub repository:
http://github.com/paulbaumgart/CanyonPilot
Nov 28
So, for the Intro to Computer Graphics final project, our assignment is basically "make something cool with 3d graphics". (I really wish more classes did that. Maybe then I'd stay for a Master's.) Points are awarded based on the difficulty of various "technical features".
This is what Eric and I have set out to do:
Final Project Proposal
by Paul Baumgart and Eric Levine We intend to build a simple 3d flight simulator game. The player will control an airplane that flies through an infinite canyon. The objective of the game will be to pilot the plane through the canyon as long as possible without crashing. The player's score will be based on the distance between the start point and the crash site. The plane will be a textured 3d model, with moving ailerons. It will be controlled with the keyboard arrow keys. The plane will cast a shadow on the ground as it flies, based on a directional light high above the landscape that simulates sunlight during midday. A bounding volume for the plane will be used to determine if it crashes into the canyon walls. The camera will follow the plane. Time permitting, we will include a "Pilot's view" mode in addition to the default 3rd-person view mode. The canyon will be built on-the-fly from a piecewise cubic Bezier curve. The curve will determine the path of the canyon. In order to ensure a smooth path, the piecewise curve will be C1 continuous. A height map will be generated based on path defined by the curve. The height map will be perturbed using fractal terrain generation techniques in order to create a realistic appearance for the canyon. Below is a summary of the technical features to be included in this project: - Shadow mapping
- Bounding volumes for collision detection
- Piecewise Bezier curves as paths
- C1 continuity
- Fractal terrain generation
- Height maps
You can follow our progress on GitHub.
After working on it for about 4 days, we have the canyon generation working nicely (though not optimally- we create more quads than we actually need still), and collision detection works 99% of the time (and will soon be 100%, assuming our math is right).
Screenshot:
Yeah, the terrain needs some work. But isn't the airplane pretty?
Nov 24
My new favorite thing for Java coding:
http://eclim.org All the fanciness of Eclipse with all the text editing awesomeness of Vim.
Ah, Vim. Maybe I'll have actually learned it in a decade or so. For
now, this is keeping me from using the arrow keys too often:
http://tnerual.eriogerg.free.fr/vimqrc.html