What's News in the PlayBasic world ? - Find out here.
Aliens From Space
By: Kevin Picone
27,Jul,2010
This is a Space Invaders tech demo (shock, horror), with a couple of key conceptual differences to the original arcade game ! - Those being, in this version the game throws multiple attack waves in unison, but the more interesting change is that all of the objects are now destructible in some way. So when an impact occurs between a ship and a bullet for example, the impact chips away these pixels. When the pixel mass gets bellow the threshold, the object dies.
I've been sitting this idea since I was kid playing the Space Invaders Arcade at lunch time. Game play wise, It sort of works, but it needs tweaking to get the balance right. Style wise, I've intentionally gone for that real 1970's look. Didn't really have much choice though, being a programmer and not an graphic artist
The demo (like most of the video in this channel) was written as example to help teach game programming in PlayBasic.
Anyway, I hope this was bit of a trip down memory lane in a parallel universe kind of way.
We've been offering PlayBasic users a Clever Coder Discount of 40% OFF PlayBasic Until 31st,July,2010 - To receive the discount, fire up your copy of the PlayBasic Learning Edition and read the article in the IDE news feed..
FlexiGUI - Alpha Windows Example
This short video is demonstrating a couple of new features of the FlexiGUI library. The first is that the library supports windows to be create in different image formats, such as Video /FX and AFX, which in turn allows for the addition of the variable alpha blending to the window rendering
Yes, we've finally joined facebook and are catching up on the whole social networking craze. Feel free to visit and add your own pictures / comments etc to the page.
PlayPackager is a brand new FREE helper tool, that will further assist PlayBasic developers bundle their game or tools into a compressed self extracting executable, for single file distribution. The packaged application will then automatically decompress any media and execute upon being launched by the end user (the player). Allowing the end user to simply run the game without needing to install, or unzip/unrar it.
PlayPackager is not only exclusively designed for use with PlayBasic, it's designed with ease of use at the forefront. To build a packaged EXE requires nothing more than selecting your games project folder, selecting a save name for the output exe, then pressing build. Packagers build process will automatically scan your project folder for all media files, locate your applications exe file, apply any exclusions (removal of unwanted files such as your source code from your output archive) prior to building the compressed package. The whole process generally only takes takes a few seconds.
The build processes exclusion features are one of the most important parts of the tool. This feature allows the programmer to build their distribution package directly from their projects development folder. Without haven't to manually copy the files around, which can be very tedious and often error prone in bigger projects.
By default PlayPackager's exclusion rules are set to ignore a hand full of common file types, things like PlayBasic source code files, PlayBasic project files as well as windows thumb nails. However you can add (and delete) your own exclusions, which can be specific files within the folder, file types or entire sub folders if you wish.
I often use two media folders in my games. These are the same structure, except the one folder holds the original media files while the other contains distributable versions. So getting packager to ignore the original media is as easy as setting a folder exclusion. Allowing us greater freedom in the build process
This release updates any of the PlayBasic V1.63w2 to PB V1.64k2 retail versions up to the current retail release version of PlayBasic V1.64L . If your version is older than PB1.63W, then you'll need to install patch PB1.63w2 prior to this one ! (if you haven't already)
The PlayBasic V1.64L package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17b.
This upgrade features a number of minor and major changes to most of the core parts of the package. For the compiler/runtimes there's the regular minor bug fixes, but really major changes can be found in the documentation. Namely with the addition of sub-category support, plus a number of the default libraries have been added to the main documentation. Many of these libraries have also had some light touch up's also in process. The main one would be the FrameSheetAnims library, which is now a default library.
What's not in this package ? - Well, Threading Support isn't available in this version of the package..
This release marks something of a huge leap forward for those using the FREE Learning Edition of PlayBasic ! Why ? - Well, the existing Learning Edition was built from Version 1.63, revision V. You could easily be forgiven for thinking that the old V1.63 learning edition is only slightly behind the the new V1.64L release, since the version numbers appear to be so close. When, It's actually over two years older then today's V1.64L release. So there's lots of new features just waiting to be explored!
What's are these new version ? - Well, V1.64 features a whole new graphics engine. This new engine includes universal support for things like more Alpha Blending mores, Sprite Alpha Channel, Bi-linear Filtering, Tinting, New Font engine, new image loader, Alpha map support and much more.
[Indent] The compiler has also been through a healthy face lift, with the addition various math short cut operators (++, --, +=, -=, *= , /=), Dynamic function calling, The ability to pass and return Arrays and individual types in and out of the functions and Psubs, Optional Parameter Support in not only built in functions but users defined functions, and many more cleanups of the syntax and compilation performance. The compiler can routinely build over 10,000 lines per second!
The Help files are important, we know that. While the quality of the documentation is always slowly improving (with each upgrade), the biggest concern we've had from users, was being overwhelmed when scanning through the various main sections. Originally, this wasn't an issue, since PB only had a fraction of the features it does today. So, we've (finally) introduced sub-category support to the help. These allow the various command sets to be broken down better. Which should help !
These are only some the changes we've made to V1.64L learning edition, you'll also find updated examples, new support libraries, as well as the latest IDE included in the package. So there's plenty of nice new shiny functionality sitting right under your finger tips. The only thing the Learning Edition can't do, is build EXE files.
With the upcoming PlayBasic V1.64L release, our goal is better embrace the Multi-Core CPU hardware out there in 2D gamer land. A lot has changed since we started work on PlayBasic all those years ago, and a landscape of game programming languages has exploded since then, which in turn, so has the uptake of game programming as a hobby, or even a business for some people. While there's more products available, more often than not, they use the same approach underneath. This is particularly evident when we look at the types of graphics interfaces many products are using, Ie Direct3D, OpenGL. However, while the uptake of Multi Core Cpu's in recent years has been steadily increasing, there's very little support for it in high level languages. In particular that are beginner friendly.
So the main objective for the PlayBasic V1.64L upgrade is to implement threading (Multi Core) support in such a way that its either transparent to the you the game programmer or as close to transparent as possible. So the programmer can simply activate it, or disable it depending upon their preference/availability. Secondly we wanted to implement this support in a scalable fashion. So the PlayBasic engine can take better advantage of the how ever many Cpu cores the players cpu has Therefore allowing your game/application to transparently scale it's work load on systems that have 2, 3, 4 or more CPU core's installed. It fact, it can handle up to 32 cores in the current Work In Progress editions of PlayBasic V1.64L.
Let's not get too far ahead of ourselves just yet, as the current beta editions of PlayBasicV1.64L have limited threading support to only a hand full of the rendering functions. Most notable the big image processing functions in BlitImage library. These functions are often used for doing full screen effect passes, so distributing the work load better across CPU cores can be very beneficial. While this will certainly help many programs, the bigger changes and more universal benefits, we're looking into the viability of adding threading to camera/scene rendering. This would allow you to render your scene as normal and fully realizing the potential of Multi-Core rendering. While an objective, we're not currently there yet.