Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

22. September 2011

 

 

Good news today for Mac users that were interested in developing with the Unreal Unreal Development KitDevelopment Kit (UDK, also known as the game engine used by people who didn’t select Unity ), there is now Mac OS support for UDK developed games.  For UDK developers that is pretty cool news, as it increases your customer base by an easy 5 – 10%.  That said, in Steam surveys, the average Mac GPU is still pretty lousy, but should be getting better with the more recent Mac releases.

 

As for other features in this update:

  • A new foliage editor
  • Dual Monitor support for iPad games via HDMI or Airplay
  • Decals now scale correctly when placed
  • Added texture import option for inverting green channel
  • Slightly increased the size limit of files when importing to 4096x4096x32
  • New button can remove all notifies from an anim set
  • Added editor comments for AnimNotifies
  • UnrealConsole now has text color coding for warnings and errors
  • New ambient sound spline actors emit sounds along paths for adding noise to rivers, roadways, etc. with a single actor

But the big news is easily the addition of Mac support.

 

Full release notes here or jump right in and download here.  Granted, its 1.5GB download and their servers must be taking a bit of a kicking as it is coming down extremely slowly for me.

 

So, if you didn’t choose Unity, this is all good news for you.  If you, like myself, did choose Unity, well…  yeah, nothing to see here.

General

15. September 2011

 

I recently had a user who tried to run Pang on MacOS and there were a few incompatibilities.

 

So today, I fired up my trust old iMac and created my first ever C++ Application in XCode 4.1 and I have to say, it really wasn’t all that pleasant of an experience!

 

 

First off, about Pang.  There are a few small changes that don’t work on the iMac using GCC 4.2.  First is there is no tchar.h header file.  On the same thought, Microsoft’s _tmain is not portable and the entire targetver.h header file doesn’t work.  Reality is, none of these are really a big deal as we are not using any Windows specific features, nor are we supporting Unicode parameters to our main(), so it is all a pretty easy fix.  Simply delete all of these includes, remove targetver.h completely and change make to a traditional main().

 

 

Code wise, there was one gotcha.  GCC 4.2 does not support calling a nest enum’s name.  For example if you have the following:

struct Colour { enum DefinedColours { Red, Green, Blue }; };

 

You can’t do this:

Colour::DefinedColours::Red;

 

Instead you have to do this:

Colour::Red;

 

Which is a shame as I find the one much more readable than the other, but no big loss.  Going forward I will be compiling on both Windows using Visual Studio and Mac OS using XCode/GCC 4.2, so if you are following along using a Mac ( or GCC with CodeBlocks ) the code will be guaranteed to work.

 

 

Now, about XCode.  I will admit this is my first real experience with it.  I played around with 3.x when I first looked into iOS development but never really got a chance to try out 4.1.  I like the idea that they went to a single Window, as a VC developer  XCode 3.x was very alien.  That said, this is about where my likes end.

 

Nothing was intuitive, intellisense ( or whatever it is called in non-Microsoft parlance ) is SLOOOOOOOWWWWWW, the interface is extremely cluttered, the project/scheme system seems odd ( with time this might improve ), the debugging experience was not fun ( weird focus issues with my running application ).  Then worst of all, I had to spent a good 20 minutes figuring out where the hell my compiled application even ended up!

 

Through this experience, as a complete newbie I had to Google a lot and I noticed two trends.  First, all the documentation for earlier versions is useless… its like every single keyboard shortcut and menu was changed completely.  Second, the hate seems to be pretty universal!  Every time I would Google something, half of the answers would be “screw it, stick with 3.4” or similar.

 

That leads me to my question to you Mac C++ developers out there… Does Apple have a bit of a turd on their hands with XCode 4.x, or will it get better as I get used to it?  If not, what IDE are you all using for C++ development on Mac?

 

 

Anyways, long story short, from Pang part 5 on, Mac/GCC will compile unchanged out of the box.  That said, this tutorial is still going to focus on Visual C++ Express as the IDE of choice.

Programming ,

13. September 2011

 

 

I was trying to figure out a way to work a “Johnny Five is Alive!” Short Circuit reference into the title and failed hard…  anyways, the next chapter/part of Game From Scratch C++ Edition is now live although I promise you I will be doing edits. 

 

 

In this part we create a game object manager, aptly called GameObjectManager to organize and manage game objects.  It may seem like a bit of a waste of time but trust me, in time this little class is going to seem exceptionally powerful!  On the bright side, it will give you more exposure to the standard library classes, especially std::map and std::for_each, both of which you will use over and over again from this point on.

 

 

Is it massive overkill for a pong clone?  Yes, very much so!  But truth told, this series is little about the actual game and more about how to create a “real” game instead of a demo.  So, even though this game is quite trivial in it’s scope doesn’t mean we can’t have a certain amount of complexity.  When we are done this process my ideal is you can walk away and make just about any type of game, not just a trivial pong clone.  This is why at times things may seem a bit overkilled.

 

Truth told, I don’t know if I blew the difficulty curve on this post.  I feel compared to the last post, I may have ramped up the difficulty and done a poor job of explaining things, please let me know if this is the case!  If things are confusing or unclear or just simply wrong, let me know and I will address them!

 

 

Well, without any further ado, I present Game From Scratch   C++ Edition     Part5.

Programming ,

8. September 2011

 

Regardless to what you say to people, they still want to start with C++.  In lookinGFSCPPg around recently for beginners resources in C++, I noticed many of these tutorials are brutally out of date and simply put, many of them are crap.

 

 

That’s why I took a bit of a detour from the main purpose of Game From Scratch, to um… make a Game From Scratch in C++.  I am currently 5 “chapters” in, with code for 2 more already written.  I will keep updating constantly.

 

 

So, if you are a beginner and insist on starting with C++, I suggest you start here.  We are nowhere near the level of a finished game yet, but I believe there is enough there to help people get started.  Of course, eventually it will be a complete game.  To the non-beginners, I am new to SFML and my language of choice has been C# for a number of years, so if you see a mistake, let me know and I will address it!

 

http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition.aspx

5. September 2011

 

You may have noticed many times on my blog that I am not the biggest fan of C++.  I hands down believe that it is one of the dumbest languages a user could learn with.  A good majority of programmers should never be exposed to C++ and should be happy if fate affords them such a luxury.  I also think a lot of C++’s use in game programming is as much a matter of traction as any other logical reason.  So why the hell do I talk about it so much?

 

Well one of the reasons is because so many (new) developers give a lot of other new developers the horrid advice that they should start with C++ that you need to actively educate people why this is a mistake.  However, there is another reason for C++’s coverage… it is important and it’s importance is on the rise. Amazingly that rise in popularity has nothing to do with (specifically) game development!

 

You see, the revolution in mobile computing coupled with the rise in indy developers has created a perfect storm of sorts for C++ developers.  You see, of all the mobile platforms out there, they all support their own native language ( iOS = Objective C, Android = Java(ish), Palm == HTML5/Javascript while Windows Phone 7 == C#/Silverlight ) yet all of them support C++ ( although WP7 requires a special relationship with Microsoft for C++ access ), to say nothing of Symbian… mostly because it’s dying off. 

 

Therefore, if you want to write portable code that runs across most of the mobile phones on the market today, C++ is your go to language.  Operating in a resource constrained environment is exactly where C++’s strengths come into play.  Unfortunately you are going to end up doing some device specific code in whatever the native language is, but on all devices this amount of native code is getting smaller in size.  For the most part you can make 99% portable C++ code, something you can’t currently do for smartphones in Java, C# or ObjectiveC.

 

That said, if you are willing to spend money, you can use C# across platforms in the form of Unity or Monotouch/Monodroid but that requires additional expense.  Besides, I recently took a look at Monodroid and I simply cannot imagine how anybody is using that platform for production code, at least on Windows the developer experience was frankly atrocious.  If I was doing a cross platform 3D game ( that I expected would make at least 400$ ) I would be ( and am ) using Unity, but I can understand why you would choose otherwise, especially if you were working on a 2D project.

 

If you are a new developer, I still recommend you stay the hell away from C++.  I just wanted to make it clear C++ has it’s uses and in my opinion is only going to get more popular, a comment I would have never expected to have made just a few years ago! As I have said many times C++ is just another programming tool and sometimes that tool is the most appropriate one for the job.

 

Given it’s justified rise in popularity among indy developers, combined with the fact that beginning programmers are going to ignore my advice and start with C++ anyways, I am going to introduce a bit more C++ specific content on this site.  The C++ of today is much different than the C++ of 1983, yet unfortunately a great volume of the information on the internet doesn’t reflect this fact.  I hope to address that to the best of my (meager) ability.

Programming ,

Month List

Popular Comments

Bonus Tools Released For Maya LT
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


26. January 2016

 

Maya LT, the stripped version of Maya aimed at indie game developers, just got a version of the Bonus Tools, previously available only for the full release of Maya.

 

From the Autodesk blog:

Are you a Maya LT user?  Have you seen or heard of BonusTools and felt a little left out?  well I'm happy to announce that BonusTools is finally available for Maya LT!  It has consistently been one of the most requested improvements on the Maya LT user forums. 

I should note that it is technically a subset of the regular version due to the fact that some plugins and python scripts are not supported in Maya LT.  But, with around 100 new tools included, there is still a lot of functionality in the LT version.

Links to the install package as well as to the installation instructions have been posted on the Bonus Tools Resource Page.  Here you'll also find tutorials and movies related to the individual tools.

If you're not familiar with BonusTools you can check out the following movie as good intro to the kinds of tools that are available.

GameDev News ,

blog comments powered by Disqus

Month List

Popular Comments