So I gave myself and some of my friends a challenge to make a game in 10 hours.
My purpose for this was to have an excuse to finally try out the Unity engine for real. Not just playing around with it here and there, but legitimately trying to make a real game with it. Here is the result:
A, S, W, D and Arrow keys to move / shoot or use an xbox 360 controller. You’ll need to download the small unity plugin for your browser if you haven’t already.
www.mikedsmith.com/Moderation.html
And here’s what Kyle Schouviller did using the Flat Red Ball Engine:
www.kyleschouviller.com/files/AcidBoots.zip
I went through the Unity tutorial and played around a little bit before getting started.
I had an idea for a game design… however, I never got to that point with this project. I still plan on trying out the game design idea (probably with the Caster engine), but the main purpose of this was to take Unity 3D for a test run.
I met with the Unity Team a year ago at Casual Connect in Seattle. At the time they were just starting to get some traction. I was immediately impressed with their tech and paradigm for game development tools.
There are so many good things I can say about Unity, but I’ll just some it up with it’s done right and it’s awesome.
So where does that leave me with my Caster engine? Well, I’m a “right tool for the job” kind of guy. There are some things the Caster engine does better than Unity and some things Unity does better. Depending on the type of project I do next, I could go either way…. I could, but I think I’ll just stick with the Caster engine. More control (I can fix bugs in the engine instead of hoping Unity does it), better performance, super sweet features you won’t find in any other engine ^_^.
So when looking into what engines to use for your next indie project, I suggest you check out the following and see which one best fits your needs. Prices vary, but FlatRedBall is free.
FlatRedBall (www.flatredball.com) Xbox Live Communities / PC / Silverlight in the works, best developer support you will find anywhere.
Blade3d (www.digini.com) Xbox Live Communities / PC
Unity (www.unity3d.com) Mac, PC, Web Browser, iPhone, Wii
Viva la Indie!
July 12th, 2009 on 7:26 pm
I would have already bought that, to be honest, to give it a go. Unfortunately, it ain’t for Linux, which is my dev machine, so I’m SOL on that one. 🙂
Nice job making your own engine for the game, how long did that take you?
July 13th, 2009 on 7:20 am
Do you mean my game Caster or the sample game I made with Unity?
The game I made with unity took about 10 hours. The engine was already there. I just had to write game code.
The engine for Caster was up and running in about the same amount of time, but it’s been worked on here and there and had things added to it for the last 5 years.
July 15th, 2009 on 1:47 pm
I was referring to your engine, and yeah, I would use Unity if it worked on Linux like your game did (already bought yours).
Was it just you working on the Caster engine?
July 15th, 2009 on 6:16 pm
Yeah it was just me working on Caster. I had a friend help with the port to Mac, but most of that work was dealing with endian issues on power PC for some of the binary data formats.
I used SDL to handle the input and window creation, and obviously OpenGL for the rendering.
I went through several audio engines including SDL_Mixer, FMOD, and finally settled on IrrKlang for the PC / Mac / Linux build and OpenAL for the iPhone build. Switching out audio engines only took me about 2 hours each time I wanted to do it since I kept that code pretty well abstracted out.
July 18th, 2009 on 1:07 am
That’s interesting, your program still includes the SDL_mixer library with the program, is there still some dependencies on that? I also didn’t see the Irrklang lib, is it statically linked?
And yeah, Irrklang sounds like a really good choice for sound, though I’m not sure if SDL_mixer would be harder to use or fare worse/better with the performance. What’s your experience?
July 18th, 2009 on 9:24 am
Hmmm, are you looking at the Linux version? That version may still be using SDL, I’ll have to ask Frank since he did the port back to Linux.
The reason I switched to IrrKlang was because of poor stability with SDL_mixer. I would get some hang ups / deadlocks in the SDL_mixer dll loading section under Windows. Since
July 19th, 2009 on 11:02 pm
Yes, I’m using the Linux version. It’s interesting to know about SDL_mixer’s stability issues, I wasn’t aware of that. Linux has always had “issues” with sound libraries for some reason, but to hear it on Windows is definitely unusual.
What I’d like to see come from Linux is just a fully-functioning system that utilizes 3D sound and 3D graphics relatively without trouble. Not in the sense of being another engine or library to cover up the BS going on under everything, but just a massive clean-up OF the BS underneath it, then that system need to become standard on all Linux distro’s. If that’d happen, programming games on Linux would be FAR more stable. I honestly think one of the biggest turn-off’s for game developers to using Linux is the hideous API in a lot of situations. Maybe I’m just not a fan of “Less is More”.
Out of curiosity, why the conversion to SDL_mixer on Linux, I’m pretty sure IrrKlang works on Linux? Thanks for responding to all my questions!
July 19th, 2009 on 11:59 pm
No problem!
You’ll have to ask Frank about why he went with SDL_mixer instead of irrKlang.
We use OpenAL on iPhone which is becoming more of a standard.
The reason people don’t make more games for Linux has nothing to do with the APIs. It’s because there is no money in it. How many people use Linux vs how many use PC and or Mac? Take that into account with how PC game sales are doing in general.
Who / how would you advertise the games for Linux?
It’s a small niche market. Not to mention the insane amount of support you would need to have to help people get the game working on their system (most of that could probably be handled in a forum, but it’s still a large cost, even on PC and Mac).
On that note, is there a certain place that I should advertise Caster for Linux? What are the main Linux games web sites? Thanks!
September 13th, 2009 on 4:36 pm
Hey I found your game through the Experimental Gameplay feature- I remember seeing you at Indie Game Nights but I don’t know if you’re still around here in Salt Lake City any more. Anyway, I thought your Unity game was really cool and it kind of inspired me to go ahead and learn Unity too. Obviously a lot more work went into your game, what with the physics, the AI, the collision, effects, sounds, score, restarting, connecting it all together, etc. The movement and shooting felt nice and polished, and it successfully kept me playing through several lives as I explored all the options and aspects. Good work!
September 17th, 2009 on 2:49 am
Nice job on Caster. I bought it a while ago for the iPhone and it was good fun. I’m evaluating Unity 3D and I appreciate your comments on it. I’m still a noob coder so Unity should help get me on the indie road.
If you had a part in Defense Grid, know that there are a lot of fans in my circle of friends =)
September 17th, 2009 on 2:53 am
Oh one more thing just because I’m curious and developing an iPhone game. I saw that Caster has 241 ratings at an average of four stars. That is damn good. How many copies of it have you sold on the iPhone?
If you don’t answer or answer in email, I understand.
Thanks again
January 27th, 2010 on 10:22 am
Hello,
Is there any chance you could share the project files for Moderation.html Game you have created?
Im currently using Unity and the project files or code would help out tremendously 🙂 Please can you share so I can see how you coded the enemies appearing from random directions.
Thank you.
August 10th, 2011 on 7:35 am
Working on many things in Unity, but having issues using the right thumbstick, how did you get it to work?
August 10th, 2011 on 7:46 am
It’s been a while but I think I still have the project. Send me an e-mail directly and I’ll try to get you the source code.