Large image


Category — Getting Started

Flash Player 10 Release Candidate.

I have just been browsing the Adobe Labs, and read that Flash Player 10 RC has just been released! Flash Player 10 is a great step forward for Flash as it includes these great new features:

3D Effects – Easily transform and animate any display object through 3D space while retaining full interactivity.  Fast, lightweight, and native 3D effects make motion that was previously reserved for expert users available to everyone.  Complex effects are simple with APIs that extend what you already know.

Custom Filters and Effects – Create and share your own portable filters, blend modes, and fills using Adobe Pixel Bender™, the same technology used for many After Effects CS3 filters. Shaders in Flash Player are about 1KB and can be scripted and animated at runtime.

Advanced Text Layout – A new, highly flexible text layout engine, co-existing with TextField, enables innovation in creating new text controls by providing low-level access to text offering right-to-left and vertical text layout, plus support for typographic elements like ligatures.

Enhanced Drawing API – Runtime drawing is easier and more powerful with re-styleable properties, 3D APIs, and a new way of drawing sophisticated shapes without having to code them line by line.

Visual Performance Improvements – Applications and videos will run smoother and faster with expanded use of hardware acceleration.  By moving several visual processing tasks to the video card, the CPU is free to do more.

Enhanced Sound APIs – Work with loaded MP3 audio at a lower level in Flash Player 10.  The new APIs will let you do application-level audio mixing through ActionScript and even audio filtering with Adobe Pixel Bender.

My favorite feature is the new 3D features. Although you can achieve nearly the same using Papervision in Flash CS3, the new features are more integrated into Flash and easier to use!

There is a complete list of features here: http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#features.

If you would like to get started with FP 10, then there are some great tutorials over at gotoandlearn(), here: http://www.gotoandlearn.com/. These tutorials show you the basic of getting started with FP 10. Although this is very interesting, it would be extreamly stupid to use FP 10 features in your project, as views would have to download this to view your site!

There is also a list of know bugs and fixes here: http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#known. Fixed issues are here: http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#fixed.

Harry.

August 11, 2008   No Comments

Camtasia Studio!

I have just downloaded Camtasia Studio trial and have been playing around with it.

It’s great! I have viewed some of the tutorials on how to use transitions, edit and combine videos and audio. All this was done with complete ease of use.

Some of the most noticable features were incorparating a webcam into your video, and also how to use Camtasia with Microsoft Powerpoint. The story board view is great for organizing your video and audio clips etc…

The only problem with it is the price! For a small timer like me, $299 is quite a lot! A bit of saving up is in order :)

I am planning to add a lot more video content to my site in the near future, as you will find out when the new version of my site is out. Video tutorials will also be rolling onto the stage soon!

Harry

August 10, 2008   No Comments

Network Toolkits.

Like everything else, there are many different types of networking engines/tool kits. All of these have various different advantages and disadvantages. So here I hope to summarise what tool kit is best for different types of developers.

So to kick of we are going to start talking about game developers.

Game Developers:

Half Life 2 - Game Developers Quake II

Well.. for game developers, it is key for the game not to get lagged down by network communications.

The theory behind games is the main loop. This is where everything is executed (graphics, audio, network, etc…). This means that if anything run slowly, the whole game gets held up. This causes lag and generally pisses of the user. So when you think about the network process, assuming your using TCP, this means sending the data and then waiting for the receiver (the player) to tell the sender (the game server), the executing the rest of the data. The problem here lies in the fact that the game has to wait for the reciver to tell the sender that the data got there OK. So this potentially could cause a hold up in the game loop. What would be ideal is that if we didn’t have to wait for the reply.

This is where UDP comes in. Using UDP, programs on networked computers can send short messages sometimes known as datagrams (using Datagram Sockets) to one another. UDP is sometimes called the Universal Data-gram Protocol. UDP doesn’t wait for a confirmation, it just sends it and carries on. This is great as there is a much slimmer chance of it slowing down the game.  So now you understand the theory behind it, lets move on.

The library I recommend is RakNet. Raknet is a cross-platform C++ game networking engine. It is designed to be a high performance, easy to integrate, and complete solution for games and other applications.  It used by major software products like Unity, Sony Online Entertainment ( for more on that see their site: http://www.jenkinssoftware.com/ ).  It is really easy to integrate it well into your software/games. For a first time tutorial visit here: http://www.rakkarsoft.com/raknet/manual/RakNetMajorFeatures.html.

So that’s for the games side, now for software dev…

Software Developers:

For software dev’s, speed isn’t as important as it would be for an on-line games. Reliability and organization are way more important. Especially for file transfer programs and e-mail applications.

For this it would be advisable to use something like Qt. This is a well established toolkit that handles everything. It uses TCP\IP and gets your data there reliably and in-ordered. For more information visit here: http://doc.trolltech.com/4.2/qtnetwork.html

Well, that’s all for now. I hope that has helped with you development. Don’t forget to check out my projects.

Harry.

July 12, 2008   No Comments

Which IDE?

Well, as we all know today, there are hundreds of Integrated Development Environments out there. The most well know ones are Visual Studio (also available in Express Editions), Dev C++ and many more.

Why so many, you may ask? Well products like Visual Studio, they were created as an IDE for Microsoft’s Visual Basic, C# & C++. Dev C++ was created as a free alternative to Visual Studio for C/C++. Many other IDEs are made for this reason but each with their own little spoonful of individuality.

Visual Studio.

Well, in my view, Visual Studio is one of the best IDEs out there. It has everything the software engineer could ever want!

It has all the usual features like a Code Editor, Debugger, Designer, and many other useful features.

The designer is one of the cooler features. It is capable of handling Windows Forms, WPF, Web Designer, Class Designer, Data Designer and Mapping Designer. This is very handy and cuts out a lot of boiler plate code writing.

Also, MS VS debugger is very handy.

This debugger owes much of its feel and functionality to CodeView, a standalone, text-based debugger that shipped with Microsoft Visual C++ version 1.5 and earlier.

More advanced features of the most recent versions of this debugger include:

  • Full symbol and source integration.
  • Attaching and detaching to and from processes.
  • Integrated debugging across programs written in both .NET and native Windows languages (calls from C# to C++, for example).
  • Remote machine debugging.
  • Full support for C++, including templates and the standard library
  • Debugging ASP.NET Web Services.
  • Standard as well as more advanced breakpoint features, including conditional, address, data breakpoints.
  • Many ways of viewing program state and data, including multiple watch windows, threads, call stack, and modules. The way library and user data types are displayed can be configured (e.g., to show contents of a container class, rather than it’s raw structure).
  • Scriptability or the ability to control via a macro or scripting language. Any language which can talk to COM can be used.
  • Edit and continue support, enabling source code change and recompilation without having to restart the program (32 bit applications only).
  • Local and remote debugging of SQL stored procedures on supported versions of Microsoft SQL Server.

The main shortcoming of the Visual Studio Debugger is its inability to trace into kernel-mode code. Kernel-mode debugging of Windows is generally performed by using WinDbg, KD, or SoftICE.

Dev C++.

The best thing about Dev C++ is that it is completely free! It was developed by Colin Laplace.

Its features include

  • Support GCC-based compilers
  • Integrated debugging (using GDB)
  • Support for multiple languages (localization)
  • Class Browser
  • Code Completion
  • Debug variable Browser
  • Project Manager
  • Customizable syntax highlighting editor
  • Quickly create Windows, console, static libraries and DLLs
  • Support of templates for creating your own project types
  • Makefile creation
  • Edit and compile Resource files
  • Tool Manager
  • Print support
  • Find and replace facilities
  • Package manager, for easy installation of add-on libraries
  • CVS Support
  • To-Do List
  • CPU Window

Also, just out of interest its source code is available.

Eclipse.

This is another great completely free IDE. It is mainly know for it’s Java IDE, but since then many more languages have been added to Eclipse such as C++, PHP and COBOL.

It has a very wide user base and is active in development, unlike Dev C++.

Eclipse varies from the other IDEs in that language support is added via the use of plug ins, so it is very easy to add support for a new language.

Conclusion…

Overall, for C++, C# and Basic I would use Visual Studio, but for Java programming it would be advisable to use Eclipse or Netbeans.

Harry.

July 8, 2008   No Comments