My journal on trying to design and develop games in Singapore; and some of the steps, challenges and ideas I have encountered along the way.
Currently focusing on using Flash as the platform.
Going indie means you will need to probably consider setting up a company.
Well, I have no idea. Hopefully I will know more after November 7. *sigh* It's a Saturday.
"
'Doing Business in Singapore' at Tampines Regional Library on 7 November 2009
12 October 2009
Thinking of starting a business? Planning to be an entrepreneur?
Here is an opportunity to know more about being your own boss at an upcoming talk of the popular ACRA@Heartlands series. Jointly organised by the Accounting and Corporate Regulatory Authority (ACRA) and National Library Board (NLB), the talk on ‘Doing Business in Singapore’ will provide you with information and useful tips on starting a business.
"I like games that have depth and strategy to them and as such I try to make intelligent games. As far as possible, my design philosophy is to keep the player engaged all the time and to have a good reason for everything that exists in the game. Every gimmick, every unit, every mechanic is there to encourage a particular play style. When I make games, I think about specific scenarios that I think would be exciting." - Sean
During an interview by GameDev.net, Sean mentions that he initially started making custom maps for Warcraft 3 and then progressed to using Game Maker.
Battleships Forever is a 2D real-time strategy (although it is more tactical, with no resource gathering or diplomacy) where you control multiple spaceships and fight other spaceships. The main feature of it is that each spaceship is built from multiple modules like: turrets with fixed firing arcs, deflector shields, linking structure, etc and each can be individually destroyed. Thus, positioning is very important and you will have to decide between facing your offensive modules or protective modules towards the enemy.
There are currently 17 pre-designed spaceships that you can control and over 50 enemy designs, each with their own weakness and strength. Also, you can create your own custom designs. [Download: wyrdysm.com]
Sean has said that Battleships Forever is inspired by and loosely based on Warning Forever by Hikoza.T.Ohkubo, where the each round had only one boss which evolved based on how you killed it the previous round. [Download: cnet.com]
If you like the concept where spaceships are modularized, then you may wish to also check out another indie game, Captain Forever (US$15) which puts you in control of a single ship that you need to upgrade in battle using part from destroyed enemy spaceships.
A while back I got demoralized when I saw how Papervision3D slowed down when building complex scenes. After taking a look at this racing game, I realized that's any slowness I noticed previously in other games is due to unoptimized/inefficient use of Papervision3D.
The game is a cartoon-ish kart racer where you can fully customize your kart and then race with other friends online. Even race tracks can be customized too. While the game concept is not new, this may be the first time that it has been done using flash.
Our friends at Less Rain have set once again the benchmark for 3D games in Flash, using the powerful combination of Papervision3D and Box2D. Check out their blog for more info.
FYI, they used Box2D for physics as Papervision3D does not include physics.
Another thing worth mentioning is that it is brought to us by Red Bull. This is what I call a good advertisement (and something that I will "watch" repeatedly).
Every wanted to share a short snippet of code online with others and still preserve the native language formatting?
I have. I been annoyed with how all the nice coloring, indentation and italics got lost when I copied a piece of code from my editor to a web "rich text box".
A friend of mine shared a small function using PasteBin a while back; and now I can't imagine sharing code any other way.
When you paste a snippet of code, you select the language you want to format it in and there is a wide selection to chose from including AS3, etc.
I was reading an article of Dirty Coding Tricks that game developers use to meet deadlines or simply cut down work needed. Here's a few I found interesting (some of which were comments posted by readers):
"At university there was a team (not related to me, but these guys are the perfect example :P) that made a FPS flash game...
For some bizarre reason, the programmer instead of checking if you was colliding with the wall and not allow you go there, he made the inverse, he checked if there was a wall, and allowed you to move parallel to it...
This sparked a bizarre bug: In crossings, you could not actually cross, only turn to the passage on your left or right.
The deadline was closing, and they had no idea on how to fix it...
Then the team writer fixed the issue! He told the artist to draw a animation of hands touching the walls, and then he wrote in the story that the protagonist was blind and needed to touch the walls to know where he was going.
-Hélder Gomes Filho
Back on Wing Commander 1 we were getting an exception from our EMM386 memory manager when we exited the game. We'd clear the screen and a single line would print out, something like "EMM386 Memory manager error. Blah blah blah." We had to ship ASAP. So I hex edited the error in the memory manager itself to read "Thank you for playing Wing Commander."
- Ken Demarest
I was fresh out of college, still wet behind the ears, and about to enter the beta phase of my first professional game project -- a late-90s PC title. It had been an exciting rollercoaster ride, as projects often are. All the content was in and the game was looking good. There was one problem though: We were way over our memory budget.
Since most memory was taken up by models and textures, we worked with the artists to reduce the memory footprint of the game as much as possible. We scaled down images, decimated models, and compressed textures. Sometimes we did this with the support of the artists, and sometimes over their dead bodies.
We cut megabyte after megabyte, and after a few days of frantic activity, we reached a point where we felt there was nothing else we could do. Unless we cut some major content, there was no way we could free up any more memory. Exhausted, we evaluated our current memory usage. We were still 1.5 MB over the memory limit!
At this point one of the most experienced programmers in the team, one who had survived many years of development in the "good old days," decided to take matters into his own hands. He called me into his office, and we set out upon what I imagined would be another exhausting session of freeing up memory.
Instead, he brought up a source file and pointed to this line:
static char buffer[1024*1024*2];
"See this?" he said. And then deleted it with a single keystroke. Done!
He probably saw the horror in my eyes, so he explained to me that he had put aside those two megabytes of memory early in the development cycle. He knew from experience that it was always impossible to cut content down to memory budgets, and that many projects had come close to failing because of it. So now, as a regular practice, he always put aside a nice block of memory to free up when it's really needed.
He walked out of the office and announced he had reduced the memory footprint to within budget constraints -- he was toasted as the hero of the project.
As horrified as I was back then about such a "barbaric" practice, I have to admit that I'm warming up to it. I haven't gotten into the frame of mind where I can put it to use yet, but I can see how sometimes, when you're up against the wall, having a bit of memory tucked away for a rainy day can really make a difference. Funny how time and experience changes everything.
So long, and thanks for all the fish
-
This post is very difficult to write. When I started Building Browsergames
back up again, I had big plans – a new design, a cleaner interface, more
guest w...
2023 Retrospective
-
Another year, another look back at another year. Last year about this time
I made some goals. Let’s see how I did on those… Music I want to talk a bit
more...
The Startup party is over
-
If I told you I was going to start a company with a friend, build the
product in a few weekends, put it out, get hockey stick exponential growth
and within...
Music
-
While I virtually haven't made any smaller freeware games the last couple
of years, I have been making music with my band *Crystal Boys*. It's easier
to re...