Categories
Geek / Technical Marketing/Business Politics/Government

Google Chrome EULA is Sane!

Yesterday I wrote about Chrome’s evil EULA terms, and posted a link to Tap The Hive about the news.

Well, it looks like Google fixed the EULA language.

Here’s an official response from Rebecca Ward, Senior Product Counsel for Google Chrome:

“In order to keep things simple for our users, we try to use the same set of legal terms (our Universal Terms of Service) for many of our products. Sometimes, as in the case of Google Chrome, this means that the legal terms for a specific product may include terms that don’t apply well to the use of that product. We are working quickly to remove language from Section 11 of the current Google Chrome terms of service. This change will apply retroactively to all users who have downloaded Google Chrome.”

And the new EULA terms?

11.1 You retain copyright and any other rights you already hold in Content which you submit, post or display on or through, the Services.

So it’s safe to use Google Chrome again. Probably about 10% of the population can breathe a sigh of relief now, and the remaining 90% can go on wondering what the big deal was, although I think that says more about a general misunderstanding of copyright than anything else. But that’s another post on another day.

What I like about Google is that the company occasionally acts like a startup. They occasionally say “Whoops! We made a mistake! We’ll fix it!” And they make bone-headed mistakes like copy-and-pasting legal language that doesn’t really say what they wanted the EULA terms to be…something indie game developers do all the time. Google moves quickly for being such a large company.

Now if only they can take their belief “in access to information for everyone” and apply it to AdSense/AdWords. Why do I have to be left in the dark with so much of the data not provided?

[tags] google chrome, eula, business [/tags]

Categories
Geek / Technical Marketing/Business Politics/Government

Google Chrome EULA Is Evil?

So with all of the excitement about Google’s new web browser, someone decided to actually read the EULA and determined that it sucks:

11.1 You retain copyright and any other rights you already hold in Content which you submit, post or display on or through, the Services. By submitting, posting or displaying the content you give Google a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute any Content which you submit, post or display on or through, the Services. This license is for the sole purpose of enabling Google to display, distribute and promote the Services and may be revoked for certain Services as defined in the Additional Terms of those Services.

So by agreeing to the EULA and using Chrome, you are saying that while you still own the copyright of anything you create, such as a blog post or a file you wish to upload, you are also granting Google a license to those works.

If you use Chrome to upload your latest game build to a server, Google now has the right to redistribute it at no cost. Yes, you still have your rights, but then Google essentially claims those rights as well at no charge.

Is Google serious? The sad thing is, yes, Chrome is probably much faster and much more secure than other browsers, but if most people can’t agree to such terms, such as people at work, at school, and in certain professions, then what good is it? Why does Google need all of these rights? When they do finally make Gnu/Linux port, count me out. I’ll wait for a non-evil version, whether by Google or by someone else. For now, I’ll stick with Firefox. Last I checked, Mozilla doesn’t insist that it needs to mooch off of my business in order for me to use it.

[tags] google chrome, eula, business [/tags]

Categories
Game Development Games Geek / Technical Marketing/Business

Scott McCloud and Google Chrome

I haven’t heard too much about Google’s browser project, Google Chrome, but I recently learned about this comic by Scott McCloud that describes the work being done. Pretty sweet. Combine Google’s goals with the goals of Mozilla Ubiquity, and the web will be a very foreign yet familiar place.

What does it mean for indie game developers? General stability improvements across all web browsers, richer application development, and a feeling of safety by users should all lead to more people feeling comfortable playing any kind of game they want.

My favorite thing to imagine is that game developers will stop making games for Windows exclusive and start making games for everyone. It’s currently too difficult to make web-based apps behave consistently because every browser implements Javascript and renderers differently. It’s why you still occasionally find bank websites that require you to use Internet Explorer even though they aren’t doing anything more complicated than YouTube, which works on any browser so long as you have a working Flash plugin. With Google’s work on Chrome, it looks like any browser can take advantage of the same APIs and libraries, which means a more consistent experience for all users.

But what about the games? I know id is already porting Quake 3 Arena to the web, and Runescape already shows that you can have a very successful web-based MMORPG, but what about real-time strategy games? Action games? Sports games? Heck, what about entirely new genres that take advantage of the new open standards being developed by Google and others? Intel’s research on portable gaming on a big screen might also have applications if we can start using our phone’s browser to play games in front of the MythTV box and TV, giving proprietary consoles more competition.

The future of web games is definitely going to look and feel different, and whoever shows us what it can be stands to gain a lot.

[tags] google chrome, browser, web game, indie [/tags]

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD#12 Results Are In

The latest Ludum Dare results have been announced. Congratulations to Hamumu, Fiona, and Notch!

I didn’t do very well with Tower Defender itself. Each rating is scored of 5:

Overall: 2.33
Fun: 2.05
Innovation: 2.95
Theme: 3.62
Polish: 1.76
Graphics: 2.57
Audio: –
Humor: 2.64
Technical: 2.10
Food: 4.07
Journal: 4.33
Timelapse: 3.80

Overall, my game placed very low. Still, I managed to come away with the gold medal for my journal and the bronze medal for my food entries. My timelapse video came in 4th place. I rule at participation.

I intend to rule LD#13 in December, though. I’m going to spend the next couple of months getting ready for it.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development Post-mortem

LD#12: Tower Defender Post-mortem

My 2nd Ludum Dare didn’t go as well as my first. While I managed to get Tower Defender submitted, it can’t be called a game so much as a tech demo.

What Went Right:

  • Simple game mechanics still work.

    Like my LD#11 Minimalist entry, I wanted to use simple mouse-movement-only controls. I feel that mousing over your units to make them attack made sense, and while I only had archers available in the end, it seemed to work. It’s too bad there wasn’t more of a game built around the mechanic, but I intend to flesh it out after LD.

  • I had an office door I could close.

    My cats are incredibly reliable. If I am doing anything that looks like productivity, they will insist on sitting on my lap, resting on my arms, and otherwise preventing me from working. Being able to close the door on them helped keep me focused on game development. Towards the end I got lax about keeping the door closed, but the cats left me to work for the most part.

  • Using Test-Driven Development

    Test-Driven Development, or TDD, is great for designing your code. Also, since code changes often, you can feel confident that your changes won’t break functionality since your tests will tell you if they did break. More than once, I was surprised that a seemingly innocuous change resulted in failing tests, so I was able to keep the game working at all times. I know that I wouldn’t have caught one specific crash problem right away, and it might have resulted in a non-working game for hours, preventing me from submitting anything. Since I found those problems sooner, even in code that wasn’t directly being tested, I felt that using TDD was the right thing to do.

What Went Wrong:

  • Learning Test-Driven Development while using it.

    I know quite a few people would disagree with the use of TDD during Ludum Dare, but I think what burned me was my inexperience with implementing it. I spent too much time trying to figure out how to apply it to rewriting code that I already had written. My first bunch of tests were helpful, but all I ended up with at the end was a slightly smaller Game class with a separate Timer class, and it seemed that if I applied TDD to the entire project I would barely have an SDL window by the end. While my normal projects might benefit from test-driven design, my LD game needed to get finished in 48 hours, so I had to alternate between writing tests first and skipping tests. I’m sure once I get some TDD experience, I’ll be much faster and know when it is in appropriate to write tests. For LD#12, it was a learning experience.

  • I still didn’t have a good handle on SDL

    Last LD, I noted that I hadn’t practiced using SDL much, and right before LD#12 started, I realized that I still hadn’t done so. I never had to render animated sprites in SDL before, and I skipped it in favor of static images moving around, but not before spending precious time learning what I would need to do it. Again, there was too much wrestling with technology instead of game development, and this time it prevented me from finishing my game.

  • Working long hours really does screw with your productivity

    It’s common in the programming world to find people working Twelves, especially in the game development industry. Crunch times are intuitive. If a project needs to get done in a week, and there are two weeks of work to be done, then have everyone work longer each day. Well, it is common knowledge, even if that knowledge isn’t applied, that working longer hours doesn’t translate into greater productivity.

    I experienced these issues firsthand with the 2nd day of LD#12. I realized I had worked about 12 hours straight by the end, and I was making sillier and sillier mistakes. Sometimes my tests would save me, but since I didn’t write tests for a good portion of my code, I had to figure out what I did wrong most of the time. Bugs were finding their ways into my code a lot easier, and debugging was painful. When I did LD#11, I got plenty of sleep and took frequent breaks, and ended up with a finished game. I wonder if I could have done LD#12 better if I took a few more decent breaks during that 12 hour stretch.

  • I didn’t get game play until the very last minute.

    I knew that getting game play up as quickly as possible was important, especially in a timed competition, and yet I believe I struggled so much with the technology that the game didn’t start to form until I had minutes left to package it up and submit it. I think if I had used a few more hours in a productive way, I could have made something enjoyable.

What I Learned:

  • I still have a lot to learn.

    It’s weird when you feel confident going into a competition like this and then hit a wall due to your own lack of knowledge. I was depending on TDD, SDL, and common game programming concepts such as OnMouseOver, but I didn’t have much experience with them before this competition started. I like using LD as a learning experience, but next time I’ll focus on learning only one tech or tool for LD at a time.

  • Test-Driven game development is awesome.

    Yes, the learning curve slowed my productivity down, but I already saw many benefits from using a test-first design for my coding. I could see that my code base was going to be much better for it, particularly in terms of my ability to make cross-platform games, but I had to stop applying it due to time constraints. I was already trying to incorporate TDD into my main development before LD, but now I see that it’s going to provide better benefits than I originally thought.

  • I need to work on my pacing for LD.

    It seems most of my productive work happens during the 2nd half of Ludum Dare, and it makes me wonder what happened during the first 24 hours. I saw that more than a few people had working prototypes up and running within a matter of hours, and I want to make sure my future LD entries are in a playable state as early as possible, too.

Once again, 48 hours resulted in a bunch of code and experience I didn’t have before the weekend started. Even though my submission can’t really be called a game, it has potential, and I had a lot of fun working on it. The next LD is in December. A few months should give me time to develop my skill and technology base.

[tags] postmortem [/tags]

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD#12: GBGames Time Lapse!

My first time lapse was over 10 minutes long, and so I had to cut out a lot of the repetitive images to shorten it. I also found a way to combine music with it.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD#12: Final Submission

Tower Defender Game Play

Tower Defender source. This is a source only version, and it is 8MB!

Get your smaller Linux-binary here: Tower Defender for Linux

A Win32 binary should be forthcoming.

Unfortunately I only got game play in at the last few minutes, and there are problems. For one, there is no way to win or lose. The enemies don’t know that they’ve already stormed the walls and will keep going until they hit the sky, but they do this cool floating thing…which is a bug. Mousing over the archers will make them fire arrows, and they take a bit of time to reload before letting you fire again. The arrows do hit the enemies and make them disappear.

I’ll have a post-mortem up soon.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD#12: Lunch with Gizmo

Gizmo tends to like to hang out with me whenever I’m doing anything related to programming. I nicknamed her Hacker Kitty. She’s helping me eat my vegan pizza and apple juice.

Gizmo helps me with food preparation

Diego, on the other hand, just wants to know when I’ll be done.

Diego wants to know if I'm done yet

Well, I’m not done yet, but I have a few more unit tests, and quite a few more lines of code without tests. Progress is being made.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD#12: More Design

I was sketching out some of the interactions and just trying to make myself aware of what it is I am tackling with only 8 hours left.

More design

Based on these notes, I think my schedule should be as follows:

  • Code to draw tower based on height (determined by difficulty, a nice to have later on).
  • Draw an enemy sprite.
  • Code to move enemies up the tower.
  • Code to determine that game is over if they reach top of tower.
  • Code to mouse over an archer.
  • Draw an arrow.
  • Code to move arrow.
  • Code to handle collision of arrow and enemy.

And after all of that, I should have a good base to work with. I’ll see how much time is left and make further plans when those are done. The cool thing is that I can start writing unit tests again for the classes I’ll be writing.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD#12: Good ol’ Jarritos

It’s strawberry flavored!

My kitchen is a mess and I’m out of clean glasses, but at least Jarritos doesn’t need a glass to be enjoyed!

Strawberry Jarritos...and grape juice...

And while taking the picture, I realized I have a bottle of…grape juice…and some clean glasses for it. Hmm…