online
Hiển thị các bài đăng có nhãn XNA. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn XNA. Hiển thị tất cả bài đăng

Thứ Năm, 1 tháng 8, 2013

Ouch, We Slipped a Disc--

--into the Xbox 360!

Mommy's Best Games is proud to announce one our games is now available on disc! In this current age of independent development, digital distribution, and streamlined costs, it's very exciting for us to have had one our games be deemed so popular that it was included in a disc release.


The Serious Sam Collection is now available for sale on Amazon through publisher Maximum Games and lists the contents as "4 Legendary Games Plus DLC". These include 3 canon Serious Sam games developed by the original developer Croteam, and our own, double-the-wacky Serious Sam Double D XXL!



From a technical standpoint this is also very exciting as I believe this is the only XNA game to have been released at retail on a disc like this. And I can personally confirm that Serious Sam Double D XXL does actually run off the disc itself. The game is not distributed through a download token found on the disc, and you're not required to install the game to the Xbox's harddrive. And the game can run without an Xbox Live connection! From the other XNA devs I've talked to, this is surprising as I think most thought XNA required a connection, or was not built to run off of a disc.
I wasn't involved in the development of this collection, so it looks like Maximum Games did some nice work getting it to run off the disc.

In any case, it's a big day for us, and a nice collection too. Grab it if you're looking for hours and hours of frantic, monster-gibbing fun. When we started back in 2008, I only assumed we'd be releasing games in digital form, never on physical disc, so it's a special honor indeed!

Thứ Ba, 21 tháng 8, 2012

Help Microsoft Fix the XBLIG Forums



About a week ago, Microsoft split the XBLIG and WP7 site back into two sites. One for Xbox LIVE Indie Games and one for Windows Phone 7 development. This is nice... actually it's more funny than anything as originally the XBLIG had it's own site.. but anyway.


UPDATE (September): Looks like the forums and searching is working again. Hooray! Thanks Microsoft for getting it fixed.

ORIGINAL STORY:

After that change it turns out that doing a search for information on the forums does not work. Let that sink in. Search is broken.

Doing a search for most things on the XBLIG development forums fails. What happens is you are redirected to a pretty page that asks if you want to make an Indie Game or WP7 game. Even if you click on the Indie Game, it ignores whatever you were looking for and just takes you to the main XBLIG. Search aborted. Can't find the help you're looking for. I've found a few things that work, but the vast majority of searches fail.


We need to get that fixed, and that means writing "creators@microsoft.com". If you develop Xbox LIVE Indie Games, let's get this change happening.

Here's the body of an email I've sent. Please write your own, or use mine as a starting point or wholesale. I'd keep it short, polite, and say what's broken.

Hello team!
After the transition from pulling the XBLIG site back out of the apphub/phone site it seems the forwarding links when doing a search for information don't work. I was hoping this was just a short matter of time, but it's still not working.
This is critical for the site to be useful. That impedes not only seasoned developers but especially new developers which will crush growth.

Can we please get someone on this?
Thank you!

In any case developers, it's up to us to help convince Microsoft this is an important issue. Please write them!
I love playing and developing XBLIG as I'm sure you do as well. Keeping the forums in a healthy state is critical to the platform's ongoing growth and development.

Thứ Sáu, 30 tháng 10, 2009

Shoot 1UP (7 day sketch)

Shoot 1UP is my entry into the Experimental Gameplay Project contest for October entitled "Numbers".
(Note: this is version is free, but unpolished--read about the nice, fancy version of the game here.)

In Shoot 1UP, you control a fighter attacking enemy aircraft infected with creepy, machine-controlling alien parasites. Your ship harnesses the alien power and is using it against them!

The twist on the vertical shooting action is that instead of gaining extra lives and taking them in turn, any time you gain an extra life that ship comes into play right then!

Inspired by the Numbers theme, when you kill an enemy ship, a new 1UP powerup is released based on the total number of player ships currently available.
For example, as you start the game you have one ship. Shoot the first alien, and you get a 1UP! Now you have 2 ships, and to get another 1UP, you have to kill 2 enemies ships... with 17 player ships, you have to destroy 17 alien fighters to increase to 18 ships!


Controls are simple with a Xbox 360 controller or the keyboard.
  • Shoot: A button / Space bar
  • Move: Left stick/ Arrow keys
  • Menus: Start and Back / Enter and Escape
  • Contract phalanx: X button / M key
  • Expand phalanx: B button / N key

Try to beat your high score with higher points, but the real challenge is getting more simultaneous ships!

Here's the free PC download for Shoot 1UP.
(Sorry folks, my ftp ate my file and it's not longer available--long story. If you have a back-up copy of this email me so I can get it back online--thanks!)
(And here's the winrar download if you need it.)

Install walkthrough:
  • Open the folder and click Startup.exe
  • This is an XNA game, as such it will need to download a Redistributable from the web.
  • If needed, it will download the Microsoft XNA Framework 3.0 Redistributable (takes a few minutes).
  • Then it asks you if you'd like to Install the Application or not. If you click yes, the game will start running.
  • If you have any tech problems, I'll try to sort them out. You can write in the comments or email me.
Shoot 1UP gameplay tips
  • The longer you play the faster the fighters attack.
  • Always collect powerups if you can squeeze through the bullets.
  • If a fighter dies, it explodes in a cyan fireball for a few seconds. This explosion destroys enemy fighters and their bullets--hide inside for temporary protection!
This version of Shoot 1UP was made in 7 days, as per the Experimental Gameplay Project contest rules.
A more polished, prettier version will soon be making its way to the Xbox 360 Indie Games section. Read about the ALL NEW pretty version to be released in January 2010!
Please enjoy!

Thứ Hai, 19 tháng 10, 2009

Controls play-test drive

Version 1.08 of Weapon of Choice has just entered the "Playtest" phase in the XNA pipeline. In this case it means the finished update should be out for gamers to play in a few short weeks.

If you're an XNA developer (such as this Short-fused group) please consider giving the game a spin while it's in Playtest! I'd love to hear comments about the new changes (in the Playtest forums of course, but you can also share thoughts here). There are new control schemes, new difficulty settings, and several other fancy options to try out.

I'll do a post shortly detailing the various new changes to Weapon of Choice once it's available on the Indie Games channel.
And in related news, Weapon of Choice is now only 240 MS points! Yes, just three US bucks will get you more alien guts than you can stir with a jet engine, so go give it a try today! (And just think you'll be getting even more cool stuff in Weapon of Choice version 1.08 soon!)

Thứ Năm, 8 tháng 10, 2009

Illusions of Control

I've been working on a new update to the original Weapon of Choice, which doesn't sound as fun as working on something new like Grapple Buggy, but I think it's necessary. Weapon of Choice is currently still in the Top Rated list, but as other new, fun things become available it might lose footing (rate WoC high if you haven't already, thanks!). To make the most of the higher exposure, I'd like to do as much as possible to continue to refine the demo experience and the game in general.

One area that could use broader support is the controls. I've heard various podcasts, seen forum posts, and gotten emails that wished the controller layout were different. Weapon of Choice uses a modern take on the side-scrolling, "Contra-style" genre in which the left stick controls the character and the right stick controls where he shoots. Since your thumbs are on the sticks, you can't reasonably operate the face buttons for jumping or switching which are moved to the shoulder buttons.

Throughout the post here, I'll show each of the three current layouts planned. I'm certainly open to hearing feedback in the comments on these new layouts.

For me, and thankfully the majority of gamers, this is a perfectly natural extension of the Contra-style genre and works with modern controllers. But since the genre itself is old, some gamers have expected and requested face button controls for jumping and shooting. I'm working on an update that should be available shortly, with these new control schemes.

But why would I have not allowed for such configuration from the start? It seems obvious in hind-sight. The main issue is, I couldn't imagine it any other way! Oh, and probably a dollop of hubris. Yes, some of that too. But in general I think I was standing too close to the painting for too long. To light-heartedly pick on the very snazzy developer Halfbrick, their recent game Halfbrick Rocket Racing seems to have suffered from a similar control issue also, as is evident in these reflections from XNPlay. Though they already did offer several control layouts, it looks like from the comments some people still couldn't find the best fit.

With more time and thought, Weapon of Choice will shortly have more control options, and some new difficulty modes (especially for the masochists out there!)

The lesson here is, if you're pushing a new control scheme, at least offer the original, expected layout somewhere in the game (even if it's buried) to temper the delivery somewhat. Otherwise, you'll end up looking like this.

Thứ Ba, 7 tháng 7, 2009

Three point one lives

I was scared to make the change to XNA Game Studio 3.1 merely because ... who knows what could happen? I've been waiting a while to upgrade just to make sure the kinks were worked out and thankfully everything went rather smoothly.

For those developers still waiting to upgrade from 3.0 to 3.1, the only issues I had were the following:
  • It asked that I uninstall 3.0. When I went to Add/Remove Programs it also showed I still had GS 2.0 installed. It never asked to uninstall that, and I never did... so I guess that's good? Uninstalling 3.0 requires a reboot.
  • As I installed 3.1, it 'got stuck' on installing Games for Live Redistributable stuff. I let it sit for about 10 minutes and the progress bar never moved. After that didn't work I started shutting stuff down via Task Manager. I then restarted the installation, and it jumped past that point. Everything seems to work, so again... I guess that's good.
  • At first I forgot to actually upgrade it since the 3.0 to 3.1 shift is not automatic--silly me! Here's the helpful article on that.
Other than that, it was very smooth and I'm glad its finished. It does take a little while... maybe 20 minutes total. Or 30. To wait through all the updating and installing and such.

After that I made sure Grapple Buggy still runs on the Xbox 360--and looky there--it does!

Okay, so this is my standard-def-test mega TV. It's huge, ugly, and blurry, but this helps me figure out what text is unreadable to us 'second class' TV viewers that haven't upgraded to HDTV. The faint red lines in the middle of the screen are actually debugging text for framerate, objects updating, and other programming stuffs. (But the orange-red, sausage thing to the right is really in the game and looks pretty interested in the buggy.)

Thankfully I have recently acquired a smallish HDTV to do further testing, so hopefully Grapple Buggy won't come out all stretched on rich bastard TVs like Weapon of Choice woefully did/does/dain.

Chủ Nhật, 29 tháng 3, 2009

Big fish in a shallow pond

(Edit: Read to the end and check out the UPDATES on this story!)

True to their word, Microsoft has provided Community Games sales data by the end of March (2009). The results are, in one word, sobering.


First, let me just reiterate that we have been very upfront about what Mommy’s Best is trying to achieve. We want to make kick ass games, full-time. I left one of the best video game employers to strike out and make my own games. This is my full time job, I am not a hobbyist and Weapon of Choice shows that. It is a full-fledged game, which took a full year to make. Not only did we hope sales would recoup the savings we spent during the year of development, we hoped it would provide enough financing to support the development of our next game. So, as the end of the month started breathing down our necks, we had our numbers categorized into:

10,000 units = “That hurts”
20,000 units = “We can live with that” and
30,000 units or more = “We’re in business!”

Obviously, with a $5 game and these projections, we’re not looking to make millions, buy a Porsche, or vacation on the Riviera. We just wanted a sufficient salary and money for future game development and marketing.

The time for truth... Weapon of Choice’s sales, from November 19th through March 26th, made below “That hurts.”

At GDC 2009, Microsoft stated that “Several Community Games top sellers will be taking home more income from four months of sales than the average U.S. citizen earns in a full year.” According to the US Census 2005, “median annual earnings were $32,000.” Based on this, it is fair to say that Weapon of Choice is a top seller. Although this number may look enticing to a hobbyist, we can only look at sales data and what it means for Mommy’s Best Games, taking into consideration (not necessarily in this order):

  1. Microsoft’s baseline cut of 30% and remittance rate.
  2. Microsoft’s potential additional 10% to 30% cut depending on the amount of Microsoft promotion for the game. (Edit note: it has come to our attention that Microsoft has "decided to maintain the 70/30 split across the board whether your game was featured or not." Therefore, this is not longer a factor to consider. Thank you Microsoft!)
  3. Royalties owed to our contractors.
  4. State and federal taxes.
  5. Cost of development, not including salaries, i.e. membership, software licenses, travel, hardware and marketing.
  6. Although this is only 4 months of sales, except by the grace of God or a divine new marketing strategy, we do not anticipate seeing sales staying this strong.

What all that means to our bottom-line, we do not yet know, but it does not feel great. Maybe rational people hang up their keyboard and call it quits. But if you played Weapon of Choice, you realize we’re far from rational. We feel that Mommy’s Best Games has made a name for itself. Just check out our press page!

Our new title, currently in development, has recently moved from preproduction into production. It just hit that magical point, the exciting part in the development process, when the game is actually FUN! (Non-developers note: it takes a while during development before fun games actually become fun). Even while I was processing the low sales numbers I was almost annoyed with myself for being excited about waking up the next day to work on our next game.


I’d like to close by thanking all the fans and journalists who’ve supported Mommy’s Best Games and enjoyed roasting some freaky alien nut-sacks. Stay with us, I promise the next game will be even better!

UPDATE 1: Weapon of Choice is being prepared for release to the PC market, but we don't have a date yet.

UPDATE 2: Weapon of Choice has crossed the 10,000 sales mark. It still doesn't un-"hurt" but it is money which keeps us going!

UPDATE 3: Shoot 1UP, our second game, has passed 15,000 sales. Check out daily sales data here: http://www.fchiase.com/2010/04/shoot-1up-daily-sales.html

Thứ Năm, 24 tháng 7, 2008

Thuper threads and Lightened loads

I've tried four versions of threading at this point and finally have a noticeable speed up in the game. The original version was using the .NET threadpools. I've found out those weren't meant to be used in a situation that required high performance. Then I tried an implementation of my own design that resulted in a slower framerate. Then I got a little help from an old friend which resulted in a threading solution that worked, but the framerate stayed about the same.

The fourth and current version makes the game faster and is a combination of methods. When using XNA on the Xbox 360 you have access to four hardware threads (1, 3, 4, 5) and a one thread for the main game application (thread 0). With that in mind, my update threading uses four threads to update all game objects simultaneously. The new design gives each thread one quarter of the level objects in succession. That's important, because the longer each thread can run uninterrupted, the better.

Some profiling output for the 360 was set up using StopWatch. In addition, I have a boolean that can be toggled by a controller button combination. Without threading the update takes around 25ms. With the new threading the update is down to around 17ms. It's not an incredible gain, but it does make a significant impact on the framerate and the smoothness of the gameplay. While more framerate improvements are planned for the near future, the framerate for the game on the Xbox 360 is finally playable!

The other good news of the week was the load time improvement. Previously I had game objects, animation files, and gameplay data all in separate files per object. I've since consolidated them from over 1100 files down to 3 files. The load time on the Xbox 360 for a full level has gone from over 6 minutes down to around 30 seconds! I'd still like it a little faster, but at the moment it's a great change!

At this point I consider the 360 conversion finished! Cheers and tears! It's time to move back to working on the game itself!

Thứ Ba, 15 tháng 7, 2008

Bad Threads and Good Shaders

In an effort to better use the Xbox 360 I've been looking into multi-threading the update loop in the game. After waffling between a custom managed thread system and the .NET ThreadPool, I settled on the ThreadPool. It seemed to make sense on the PC. I have it arranged basically as follows:
  • The level allocates an array of 'ManualResetEvents' to signal when a thread is finished working.
  • The object list for the level is in a tree layout. Where a branch starts, a thread (provided it's ready) is set to updating that branch. ThreadPool.QueueUserWorkItem is used to start on the branch updating function.
  • The Event array is checked until a new thread is ready. Previously on the PC I was able to use WaitAll and WaitAny but the 360 only supports WaitOne. It's uglier but it seems to work.
When I finally ported it to the 360, it turned out that the pool was allocating lots of various objects during runtime down inside the .NET functions. As we saw before this causes the 360 to collect garbage which slows everything down.

While exciting and promising, I've decided to set threading aside for a time and move forward elsewhere with the game. Hopefully some time in the future I can beneficially use threading.

The good news of the week is that I did get a decent framerate boost from switching to a custom shader! Shaders are code that run on individual pixels and vertices. I was previously using the provided BasicEffect shader to draw all my Quads (MBG's advanced sprites). I found this example and was able to spend some time hacking out pieces unneeded. After about a half a day I whittled the shader down to very little, since the game requires no special lighting methods.

The framerate for the PC version boosted around 15% and the 360 version increased about 10%! It was certainly worth the time and makes things look that much smoother.

Thứ Ba, 8 tháng 7, 2008

The framerate adventure continues!

I'm happy to report the framerate for Weapon of Choice on the Xbox 360 is playable! It's still not 'great' but it is 'okay'. I know that's not the best report but when the framerate made the game unenjoyable just a week ago, I'm feeling pretty good about it. And on a decent computer, the framerate is smoking (often around 80 fps)!

There were a few changes that yielded some large improvements. The first was to 'batch' the processing of the vertices. All of the images of the trees, monsters, etc are created using two triangles stuck together (a 'quad'). While this is like sprites in most games, these quads are slightly more complicated. They are skinned to their vertices in a similar way to a full 3D model in other games; because of this I can't use the built-in SpriteBatch system in XNA. Before the optimization I was simply rendering each quad. With the batching, the quads with the same texture are grouped together in a bigger list. An interesting optimization point is that around 50 quads gives the best results, while a larger list of 200 quads was faster than no batching, but not as fast as 50 quads. There's probably a lot of reasons for this, but NProf suggests that it has to do with spending more time copying the larger vertex buffer needed in the 200 quad version. The framerate jumped to around 15% faster after the batching.

The second change that pushed the framerate even more was the use of DXT compression for the textures. In the Content Pipeline in XNA all textures have an option to use this compression. The interesting thing is the default is 'Color' not DXT (these are in the properties of the texture, under Content Processor, Texture format). I can't visibly tell a difference when using DXT compression, and the framerate increases by about 20% after this!

I found this entry in Shawn Hargreaves' blog very useful for GPU optimization.
The last change I made was to actually shrink the biggest textures used. At their biggest some textures were around 1000x1000. I've shrunk them down to more like 600x600. In my particular case I think it helped supplement the framerate with the previous changes in effect by reducing the texture fetching time.
Currently I'm running into CPU slowdown on the Xbox and am exploring custom shaders for faster drawing and multi-threading for the game object updates. Hopefully these get me the last boost for a great framerate on the Xbox!

Thứ Ba, 17 tháng 6, 2008

The Conversion is in progress.


Weapon of Choice
has several levels running right now on the PC. Unfortunately, it needs to run on the XBox 360, since that's the real platform for which it's designed. The game is a high-action arcade style side-scroller that can be played with the keyboard and mouse but is best played with a game controller. The good news is, converting it to the 360 will be easier than usual since the game is built upon XNA. The bad news is, until now I've eschewed the 'Content Pipeline' part of XNA. I'm now in the process of getting the game to use that system.

I really enjoy gameplay design, gameplay implementation, and art. I don't generally enjoy engine or tools programming. I do it because it's necessary, and it's the right thing to do. This conversion is very painful for me, but I've managed to find a good amount of help on the XNA forums. When a full level is running on the 360, I'll post the exciting proof. As it stands now, here's my current test situation: a tree that draws off the top of the screen. It's not exciting yet, but I'm really happy to see that tree drawing right now!

Look at that! It's on the TV--not the computer monitor! It's very exciting!

Yes, that's a standard definition TV. Although I can see how the game will render on a HDTV since the computer monitor is pretty similar, I also like to see how the game will show up on the standard definition TV. I believe a significant portion of game players still have this type of TV--this includes myself.