I decided recently to teach my children just how amazing computers are considering they can only count to one. I started with the old joke about there being ten kinds of people in the world (those that understand binary and those that don't), before delving into the simplicity of this system. To round it all off, I tried to explain computer memory, using a light bulb analogy. "What can you do with a light bulb", I asked. I was obviously anticipating the response "Switch it on, and switch it off". I hadn't anticipated the wider view of my youngest daughter: "Throw teddy bears at it to make it swing!" My years of feeling confident as a trainer were undermined in an instant! I'm not stating anything new when I reiterate the fact that one can never assume anything when teaching, no matter what the subject or audience.
Anyone wanting to learn new skills this month can participate in the Microsoft DarkGDK webcast on November 6th. Lee will be guiding his audience through the basics in this session, assuming nothing and ensuring everyone leaves with the confidence to start coding. There will be a number of follow-on sessions, building up the knowledge at a manageable pace, and ultimately creating a full game. The full details and instructions for registering can be found later in the newsletter; this is an opportunity not to be missed. As a keen DarkBASIC Professional coder, I will be online to expand my skillset.
More learning opportunities are to be found in the continuing Platformer tutorial. A new learning DVD is released, allowing you to increase your FPSC skills in the luxury of your living room. DarkGAME Studio puts a range of tools at your disposal, with online videos showing you how to get started. And of course there is the usual line-up of news and views in this month's offering.
Until next time,
(1) DarkGAME Studio (2) DarkBASIC Pro (3) Social Arcade (4) DarkGDK OOP (5) Convention '08 (6) FPSC DVD (7) TGC Store (8) FPSC Compo (9) BOTB (10) RollingSound (11) Job Opportunity (12) Lee's Tip of the Month (13) DBP Tutorial (14) Videos (15) PlayBasic (16) Winner (17) Outro
We're proud to announce a money saving DVD that includes a whole host of our top game making tools. Creating your own PC games is now easier and cheaper than ever with this special compilation of game making tools:
The DVD also includes:
This established game programming tool has been updated and improved and features a new IDE that helps you organise your game code and manage all the complex media expected of today's projects. Key Features;
A wealth of 3D objects are instantly available to you in the form of DarkMATTER, and you can design whole game worlds with Cartography Shop. Populate games with vegetation made with the Tree Magik & Plant Life tools. DarkSHADER makes pixel shader creation effortless - just drag and drop to design cool visuals for your games in minutes.
Get a 30% discount if you own either DarkBASIC Classic or Professional, and purchased them directly from TGC, then order on or before 31st December 2008 to qualify for this saving.
To take advantage of this special offer visit The Game Creators, login to the site, enter the ORDER HISTORY section and next to your Dark Basic or Dark Basic Professioanl will be a special link you can use.
In addition, the first 100 orders will be credited with 500 Store Points, to spend on models and resources from the Game Creator Store.
Pre-order Dark Game Studio today. Shipping commences from 14th November. Be sure to check out the screen shots and the online videos. You can of course order safely and securely online, for delivery via postal mail.
DarkGAME Studio Price
$89.99 €64.99 £49.99
Amazing savings over buying these products individually
$294.85 € 213.77 £174.99
Dark Basic Professional Upgrade 7.0 has been released after a long beta and we are happy with the result. In addition to the public release, we are also using this version for a new demo version of the language and also for the forthcoming Dark Game Studio product as we feel U7.0 is the strongest ever upgrade to date.
"Thanks to the participation of those who attended the TGC Convention 2008, we had a number of cool ideas that made it into the language during the weekend"
If you are interested to learn how the language is moving forward, you are welcome to visit and participate in the beta currently hosted on the DBP forum. You will find new features like:
You will also find the long awaited extension to the debugging capabilities of the language via a new external approach. For these and more, join in the beta process and help us shape the language.
Legendary game makers The Bitmap Brothers include a useful section on their site for budding developers. It covers a range of suggestions from educational courses to work experience and keeping your foreign languages finely tuned. In addition, they suggest that DarkBASIC is a great tool for starting to work with game programming, and to understand the process behind making a commercial title.
You can view the full article on The Bitmap Brothers website.
Pavel Rýdl is a student at the University of Liberac in the Czech Republic. Combining his studies with a requirement from a family-run company, Pavel has created a tool for diagnosing trucks and trailers. Brzdy is a diagnostic tool that measures pressures in truck and trailer systems, the interface written in DarkBASIC Professional. Specifically, it monitors control and braking pressures, providing readouts of the results through the serial port and into the DarkBASIC application. It is a complete, customised solution which gives the engineers exactly what they need to see. Pavel has built the complete system including the hardware and programmable microchip, which all plugs into the vehicle pressure sensors.
DBPro was chosen over C++, because of it's ease of use and ability to program without any problems hindering the progress. Blue GUI has also been used for the presentation.
Pavel is also writing a Tiberian Sun-inspired game with a team of two other developers. Given the current track record, it's likely we'll see this in the near future!
You can read about and provide feedback on Brzdy in the forums.
Social Arcade has recently competed and been successful in the first round of the fbFund entrepreneurial competition, and has been awarded $25,000 USD to continue enhancing the game-making tool. fbFund enables innovative and engaging applications on Facebook Platform. The scheme funds applications running on Facebook while allowing the development team to learn from the best Facebook engineers through the mentoring program.
This is just the beginning, The Game Creators have now entered phase II, where they are competing for $250,000 USD. Dave Milton leads the technical side of the project, working furiously to convert the alpha version into a platform that defines the word Social. You will start to see big changes soon, with wizards and great new ways to interact with your friends. For example, imagine being able to make an immersive game even faster than you can already, or how about sending a friend their own personalised game as a birthday present! Finding games will be simple, tracking down your own compilations or friends constructions in just a couple of clicks. You will be able to create challenges with friends and family, or simply pick a traditional game we all recognise (such as a card game) and personalise it with your own images.
The fbFund is driving the features forward much faster than you might otherwise expect and if we're lucky enough to be in the top 5 when the final votes are in then we'll be able to fully fund the development and have more team members on board. Keep watching out for the application updates, and hopefully some great news for all involved!
Social Arcade can be found at http://apps.new.facebook.com/socialarcade/, add it now to your Facebook applications and get creating, it's a breeze! The number of users has tripled in the last month as word spreads. Finally, thank you to all who responded to our questionnaire on the forums, your help is appreciated.
On Thursday, November 06, 2008 at 12:00 PM Pacific Time (8:00 PM GMT), you can tune in to a Microsoft webcast for the start of a six-seminar series on DarkGDK. If you ever wanted to familiarise yourself with DarkGDK, there has never been a better opportunity. The session will be held by Lee Bamber, and will introduce many of the concepts of the game world.
In this first webcast, we explain what DarkGDK is and describe how it can make programming games much easier than it would be normally. The actual game will be available for you to download with all resource files. This is the game we dissect over the coming sessions in this webcast series.
Register now for this seminar on the MSDN website. The session is broadcast live and is free to attend.
The weekend of October 10th - 12th saw the second official Game Creators Convention, at Hinsley Hall in Leeds, West Yorkshire. There was a healthy mix of people using DB Pro, FPS Creator and DarkGDK, with a lot of useful tips, tricks and talent flowing between the three camps. It was also a great opportunity to talk to the TGC team, and find out how to get the most out of the development platforms. There were some constructive late-night discussions on useful features for future releases, enhancements for third-party plug-in developers and general feedback to TGC on what matters most to the users. Paul Johnston, for example, provided some great feedback on why some of the more adventurous ideas haven't yet featured in Sparky's Collision DLL, leaving everyone with a much better understanding of the limitations and workarounds of the product. Meanwhile, Lee and the FPSC developers thrashed out the pros and cons of the different methods of multi-player servers.
As a result of the convention, there will be changes and updates made across the board. DarkBASIC Professional U7.1 is already under development (which started in the corner of the convention room!) and the suggestions and bug-fixes from the weekend will be incorporated in this version.
Nobody left empty handed, as there were more goodies to be had than people! Everything from AAA games to development software, hardware and books left under the arms of the delegates. Feedback regarding the weekend was positive, and Rick will take on board all of the suggestions for any future convention.
All of the presentations have been recorded for the benefit of all. Here is a summary of each one, and the videos alongside. The larger version of the videos with all of the accompanying material can be found on the Convention Homepage.
Lee Bamber, the last 12 months
Find out just what has occupied Lee for the last 12 months. It is fair to say that the community has only a small window into the development cave inhabited by the team, and the convention was a great opportunity to provide a bigger view on the many projects that have gone and what can be expected in the months to come.
Lee covers FPS Creator, DarkBASIC Professional and DarkGDK, as well as many other interesting snippets surrounding these products. Watch out for the release of FPSC code to the Open Source community via Google Code.
Rick explains how the TGC team work together, how the products evolve and how the company take advantage of the community to create exactly what is desired by the masses. Learn what is required of your own products to get them accepted in different markets. There's a great insight on how to cash in on the download revolution which lends itself to simpler games. There's also a few tips on where and how to gather your resources such as bespoke voiceovers, which make the difference between a good game and a great game. Finally, this video is worth the watch simply for the now infamous "Sponge" video and Lee's reaction!
Phil of NVIDIA works closely with the TGC team on various projects. Here, he departs from the world of shaders which you might expect to be his topic of choice. Instead, you'll hear about his views on the tools we all use from the library of applications on The Game Creators website. There are some interesting points on the similarities between affordable tools for home-brewed games, and the prohibitively expensive tools used by the commercial game studios. Cuda is also covered, illustrating the compute power of your everyday graphics card and how it is being used in collaborative projects requiring massive amounts of processing time.
Long-time members of the TGC forums will know that Dave "Ravey" Milton is known for his secret projects. Proudly wearing his HD-DVD T-shirt, he highlights many of the successful and not-so-successful projects from the past months. Included is Social Arcade, which has recently been awarded significant funding from Facebook, beating literally hundreds of other entrants in the competition. Find out how to write applications for the Facebook platform in this informative session, as well as other insights such as the importance of potatoes, how to deal with the Blue Screen of Death mid-presentation, and how to conduct oneself at international conferences.
Many games today are set in huge landscapes, which are seemingly endless. Anyone who has tried to make a game in a landscape that encompasses just a small portion of these domains will know how difficult it can be to manage. Dave introduces a concept known as streaming content, showing how the landscape and all of the associated assets can be easily managed. The presentation starts at the very beginning, with techniques for creating a single polygon, finally producing rolling, lightmapped landscapes stretching for miles. Each step builds up what initially appears to be a highly technical process, but this approach will leave you ready to tackle the challenge yourself.
Everything you wanted to know about shaders but were afraid to ask. Mike has dissected the technology that we all want but many of us see as a dark art, and too difficult to implement. Much of what you see here is already done for DarkBASIC Professional developers through pre-defined shaders and the DarkSHADER application. However, looking into the box and seeing just how it operates takes away the anxieties, provides an understanding of why shaders are so powerful and essential, and will even provide some with an inclination to create their own effects. This video covers a number of shaders, and more importantly the techniques that can be applied to anything you want to create yourself.
Before Paul worked with The Game Creators, he frequented the forums as Sparky, and you may be familiar with his work affectionately known as Sparky's Collision. Many programmers will attest to the efficiency with which this set of commands can perform the essential task of detecting collisions at great speed. Paul used his session at the convention to explain some of the techniques and algorithms used in this popular plugin, reducing problems that take up to half a minute to solve down to mere fractions of a second. You will learn how to sort efficiently, use binary algorithms to cut through masses of data and how to deal with some of the more tricky scenarios you are likely to come across whilst optimising your code.
Nanopod and Helios Meheness are two of the most addictive and visually astounding games to appear on the forums in the past few years. These are both authored by Grant Clarke (GeeCee3), whose affiliation lies squarely with fast-action, adrenaline-laced arcade games. Grant will always confess to finding the simplest way to solve a problem, and this is the focus of his presentation. He discusses the thought processes behind designing and building an arcade-style game, how to add the essential elements such as unpredictable behaviour in a simplistic way, and ensure your audience is left wanting more. And of course it's all done in Grant's highly enthusiastic style!
Learn how to get the best from FPS Creator with in depth videos covering characters, segments, lights, way points and much more besides. This 2 DVD disc set contains a large collection of videos that are ideal for new and advanced users of FPS Creator. This would make a great stocking-filler, maybe now is the time to start dropping a few hints!
Beginners
FPSC Tutorial Course
2 DVD set
£9.99
$16.99
€12.99
Click to Order
Zones
Lights
Waypoints
Anti-Gravity Platforms
Build Game Process
| Lifts
Teleports
Effects
|
The FPSC Tutorial Course, 2 DVD set is available now for £9.99 ($16.99, €12.99). Click here to visit the product page and to order.
For anyone wanting to optimise their 3D games and applications for n-core processing, Intel has the Software Partner Program to help companies achieve these goals. It provides access to technology maps, developer tools and marketing opportunities.
FPS Creator X10 is one of the Spotlight products, illustrating to potential Partner Program Members what has already been developed for multi-core processors, in conjunction with the Program. Take a look at the Intel website now to read the FPSC article, and find out more about the program.
Each month the Game Creator Store grows. There are a huge number of new additions since the launch of the standalone version of the store, here are just a few of those. Start up your store (through FPS Creator or the standalone version) to see these and many more.
In addition to the many excellent items uploaded to the store this month, you will be pleased to find six characters from the DarkMATTER collection, namely the knight, android, zombie, mummy, mutant and ninja. All six characters are free to download and are available right now so log on and check out these free models for FPS Creator, DarkGDK and Dark Basic Pro users.
Alyran, the beautiful fairie.
This character would be great as a quest giver in an RPG fps game.
A Long looping Ambience perfect for war and scifi games.
The track is approximately 3 minutes long and provides a great backdrop to your game. This is one of three ambience tracks by Bloodhound.
A zombie cut in half by a sawblade. There are three versions of this model included. An animated version that will attack the player when close, and 2 static versions in different poses. Includes all scripts and sound effects needed to work.
A Service Driod - simple animation set.
Will announce player presence when it detects and move to attack.
A cute cartoon medieval style castle.
This is one of a number of cartoon styled models now available in the Game Creator Store.
All of the above models are available to purchase and download through the inbuilt Game Creator Store in FPS Creator, and also using the standalone store for other game-making tools.
As we all know, Christmas is nearly upon us and Saint Nick has been looking at his Naughty & Nice list and sees that most of you have been (fairly) well behaved, and has therefore decided to run a Christmas competition for all you good boys & girls. Santa's Little Helpers have also been busy gathering goodies for the competition, and boy, just look what they've come up with!
These prizes will be distributed amongst the winners.
Your FPS Creator game for this competition must be in the form of a puzzle, or series of puzzles, across 5 rooms. In each room, there must be a puzzle to solve, which allows access to the next one. Room 5 will conclude the game by solving the final puzzle. It's up to you how you interpret this brief, and create the most interesting game for the competition.
The competition starts November 1st 2008 and will end 31 December 2008 12.00 midnight GMT. There are a few rules that will apply as outlined here, full rules are in the forum thread.
Yes folks, clear your Xmas schedule because this is going to be a biggie! Keep checking on the competition thread for full details and forum chat.
You are an elite operative sent by the Malyrium government to infiltrate the stronghold
of the leading weapons contractor to the government, Paycore. In the face of an
all-out invasion of Malyrium, Paycore reveals to the government that they are the
ones financing and equipping the invading Asur insurgency. Paycore has been counting
on a cover up by the Malyrium government to maintain an executive reputation and maintaining
control over the invasion without risking a full fledged investigation. As Paycore
plays a deadly game of political blackmail, you have been deployed with utmost confidentiality.
You are to disable Paycore's production and shipping of weapons and stop the
corporate enterprise by any means necessary.
This game can be downloaded here. The forum thread can be found here, we encourage you to feedback on games and show your appreciation.
A single-decker bus has been turned into a state-of-the-art multi-media studio called ‘the Lab'. The bus will tour Lewisham, providing young people with access to a wide range of creative activities including photography, music production and games design, many leading to accredited courses.
In 2006, independent think-tank Demos approached the London Borough of Lewisham with the aim of completing a piece of work around youth engagement. The six-month research was youth led with no pre-determined agenda other than youth insight and engagement. Young people from voluntary and community organisations as well as those working with statutory organisations, were involved in the process to identify how young people could be engaged in order to improve outcomes and life chances for them.
Feedback from young people was very positive; however they felt that there are a number of young people who face numerous barriers to participation. After some discussion, over 20 innovative ideas were generated. Other overwhelming themes arose from the sessions, including the need for a mobile unit able to engage young people in a fun and relevant way, yet in their own environment and on their terms. Also highlighted was a need for relevant and engaging modes of provision and ultimately the need for a service provided by or alongside individuals and organisations the young people could relate to.
Looking to fulfil these criteria, Lewisham Council put the service out to tender and it was won by forward-thinking multi-media education provider RollingSound.
Built from a converted single deck metro-bus, "theLab" has been designed to the highest standard. It boasts an interior adorned with laminate floors, floor to ceiling carpets, recessed lighting and faux-leather swivel chairs for the ultimate creative environment. The on-board equipment is of equally high spec with two 42' plasma screens and eight bespoke media work-stations, fitted with the latest industry-standard equipment from M-Audio, FL Studio, Adobe and Kam.
In addition, theLab's media and program partners such as myspace, Jumpoff.TV and FujiFilm have pledged to showcase content, via their respective media outlet galleries and social networks, some providing professionals to volunteer time to engage with the young people directly.
TheLab will tour Lewisham intensively 5 days a week, between 12 - 7pm, providing accredited courses in 3D games design, photography, music production and web design.
Rolling Sound and Lewisham Council are hoping theLab will provide a new model for providing programs for communities and positive results are expected from day one of launch on Saturday 25th October 2008.
This summer, teach students ages 7 to 17 Programming, Robotics, 2D & 3D Video Game Creation, Digital Video, Web Design, or 3D Character Modeling at a prestigious university! At iD Tech Camps, our computer camp counselors inspire young minds to exercise their creativity while embracing technology as an invaluable tool for life. In addition to teaching technology, iD staff members actively participate in other traditional and not-so-traditional camp activities, including Ultimate Frisbee, Capture the Flag, gaming tournaments, and Guitar Hero IIITM battles. Located at 50 U.S. universities including Stanford, MIT, Georgetown, and UCLA.
Apply online by clicking here. No phone calls or resumes please.
Website: http://www.internaldrive.com/
The sample code from this tip can be downloaded here
During the development of DarkFOLIAGE (a new product for 2009), I often encounter many challenges which any programmer worth his or her salt overcome daily. A few weeks ago I had an interesting challenge in the form of the question; how do I create a million trees without the frame rate dropping to zero?
Well the best way I know to answer these types of questions is to write a prototype, and what better tool to use than DarkBASIC Professional.
My first approach was the simplest, and laughable to those who have tried something similar, but you have to start simple and try to keep it so. The code looked like this:
FOR TREE=1 TO 1000000
LOAD OBJECT "tree.x",TREE
NEXT TREE
After about ten minutes, I decided that my five second solution probably would not make the top ten greatest tree generation techniques and so I closed the application. For those that do not see a problem with the above code, I tried to ask the computer to create a million 32K data items, and load in about 200 million Kilobytes, which was a little unfair of me. It was clear than I had to think my way around this one.
After sketching out lots of ideas on paper, and thinking about something a guy from NVIDIA talked about, I hit upon the idea of batching my trees into 'groves' and aim not to care exactly where the trees occur within those groves. This solution felt right to me as now I could have a smaller set of grove data, and not have to worry about individual trees. My early math was to have 1000 groves, each with 1000 trees inside. That would get me my golden number of 1,000,000 trees.
Once I had my theory on paper, I proceeded to bash out prototypes. Not to bore you with the technical marvels of each one, I will simply give you the headings of each so you can see how my mind built up the layers of the solution:
1. Grab Lowest LOD - before worrying about one million trees, I wanted to know that I could draw a decent subset of them on screen without a performance issue so I wrote a prototype which would take snapshots of the tree at different angles and store them on one texture to be used as billboards for later rendering
2. Alpha Blend LOD - the next prototype rendered around 10,000 trees, and as the 3D models of the trees moved further away from the player I would alpha out the model and alpha in the flat billboard with the correct tree image on it. Once I had the performance under control, I knew I could render 10,000 trees at any one time which gave me a number I would need later in the process
3. Tree List - the next task was to find a way to have X number of trees within a grove that would not overlap each other and allow me to control the size and rotation of the area described by the grove data. I also developed a way to add and remove trees from a link list quickly which would be crucial when it came time to add trees which are visible to the current camera position
4. Maintain Grove Data - the next prototype takes the camera position at any XZ position on the terrain, and a radius of view, and works out which groves are visible, and the trees from that grove to the visibility list. A simple step but crucial to ensure we only use the trees we need based on camera location.
5. Generate A Million - the final working prototype brought together all the elements developed previously together with a 3D view of the tree data, and created the desired one million trees within a large map of groves. The program was simple to assemble and it worked like a charm. The 3D render was very basic, and did not use the LOD trick, but the underlying math and data handling was fast which was a good omen to proceed
The next step, which is my next development task, is to combine prototype 5 with the first two prototypes, along with some texturing, shadowing and terrain tricks to create something that not only performs well in the background but looks good on screen too. We have a million trees, but if it looks dull or runs slow, then no-one will care.
As you can see, the use of prototypes to solve small chunks of a larger problem is a great help when facing the prospect of climbing a large technological mountain. The pay-off is the knowledge that we are moving ever upwards, and proving our crazy ideas one prototype at a time. You will find associated with this tip all five prototypes for you to explore and take from it what you will. You will find lots of little ideas in there such as link lists and pre-generated non-colliding spread data, but as I noted at the start of this tip, I don't want to bore you with these technical milestones, marvelous as they are.
Last month...
We added the Ninja whose primary job is to annoy Bruce and put him to death if the opportunity arises. There's another enemy character to add, but I thought it would be fun to add in some traps and hazards for Bruce and Ninja to contend with.
Once again the guts of the tutorial is in the code, so be sure to check it out and maybe torture the Ninja a little, he needs it. Major changes have been commented with a ‘***', so do a search for them to see the important updates.
From the outset, a fairly elaborate file loading and parsing system has been looking after the map file, but now it needs to pay for its keep by adopting the block setup system. Last month the code to add a block looked like this:
`Block 25, Brick A1
blocknum=25
block(blocknum).filename="brick_a1.x"
block(blocknum).group="GROUND"
block(blocknum).marker="*"
load object "media\meshes\Platforms\"+block(blocknum).filename,100+blocknum
hide object 100+blocknum
block(blocknum).col=1
block(blocknum).mode=1
block(blocknum).special=""
capture_preview(100+blocknum,100+blocknum)
It's quite painful to work with if I do say so myself, 100 blocks setup like that bloats code and is hard to read. Using the simple tokenizing used when loading a map, parameters are set in a script .ini file. SETUP.INI located in the media folder is loaded line by line and parsed just like the map file. In the setup file the same block looks like this:
`Block 25, Brick A1
block=25
filename=Platforms\brick_a1.x
group=GROUND
marker=*
collision=1
mode=1
renderpreview
It's just a matter of adding a case for the first text segment and using the tokenized parts to set the properties. The block number is set to a global variable to keep track of it, as the handling is done through a PARSE() function. The appearance of objects can be changed and also the creation of plains can be handled with the script file. For example you can rotate a block using ROTATE(x,y,z), and set its diffuse and ambience using DIFFUSE(r,g,b) and AMBIENCE(r,g,b). The script file is also used to load images, but it will probably expand a lot more over the next couple of months.
Those deadly swords have been added, as if Bruce's job wasn't hard enough. The players block collecting has been split into its own function now and by setting a block's group to TRAP the CHARACTER_COLLECT() function will return a 2 if Bruce touches it. This will instantly kill Bruce and make a skeleton out of him.
In the original Bruce Lee, the traps and a lot of the level scenery are not obvious as to what they actually represent - There are blocks for instance that lift the player up and down, and I have no idea what it is supposed to be!
The landmines in the original are being represented as a pyramid fountain type firework and the dots are now explosions from lots of firecrackers lined up along the blocks.
A dragons head has been added which has a particle glued to it that spits out fireballs. The deadly particles are checked for collision against the line collision table and because they are so few of them, they are handled with condition checks in the update_particles() function.
A new component of the particle type has been added to flag deadly particles, any particle with .DEADLY set to 1 will get extra player collision checks depending on its texture. The particle is checked for collision along its middle horizontally, then vertically depending on the type of particle. The fireballs have a simple cross collision check through their middle, but the pyramid firework uses an expanding horizontal line that rises up so that each edge of the explosion is checked for player collision:
The effects are all done with the particle system, sometimes using more than one particle for an effect; for instance the pyramid uses a sparkler effect, then a bang, then 2 fountain particles so that the explosion can fade out before the hot sparks. The particle system has had a few tweaks, really to allow for special cases - like flat particles - so they can react better. This is most noticeable in the bones, which have a bit more zest to them now.
As no Ninja worth his salt would run directly into a fireball, he will now try his best to avoid the dangerous stuff. Detecting every deadly particle and reacting to it is something that would take a lot of code and would complicate the AI system a lot, so a cheaper alternative is needed. Using the map grid and a new component of the map type, each map location is flagged for danger. Particles that are deadly will flag the block they are on and the surrounding blocks then the AI will check the player's top and bottom half and react accordingly. If the block on the ground in front of the Ninja is flagged then he will jump, if the block in front of his torso is flagged as dangerous then he will lie down. It's still possible to kill the Ninja with the deadly particles but he'll at least try and avoid it.
Particles also have an INEXPENDABLE flag, which means the particle will not be replaced by effect particles, this is mainly for deadly particles. To accommodate the firecracker effect, there's also a spawn location component to the type - SPAWNX, Y and Z store the birthplace of the particle. The firecracker is a single particle that travels along the firecracker block and scales and makes a random popping sound as it goes. When it is no longer on the firecracker block it resets to its birthplace.
Although DBPro supports 3D sound, which allows you to position a sound in 3D, I decided to use sound panning and volume setting to get a more 2D friendly version of that. Using the SOUND() function, the sound number, 2D location, and range are passed and the sounds balance and volume are set to suit. The balance is set based on the distance from the player on the X-axis, and the volume is set depending on the square distance from the sound to the player.
function sound(snd,x#,y#,r#)
xd#=(x#-char(0).plx#)*r#
yd#=(y#-char(0).ply#)*r#
dx#=abs(xd#)
dy#=abs(yd#)
if dx#>dy# then d#=dx# else d#=dy#
pan=xd#*100
vol=100-(d#/5.0)
if pan<-10000 then pan=-10000
if pan>10000 then pan=10000
if vol<50 then vol=50
if vol>100 then vol=100
stop sound snd
set sound pan snd,pan
set sound volume snd,vol
play sound snd
endfunction
Now that all these core components are in place, the map can begin to take shape and the flaws in the player control etc can be ironed out. Bruce's second nemesis (the green dude) will also join the party.
Although created as a quick way to get started with DarkGAME Studio, this series of videos will also benefit existing users of DarkBASIC Professional and DarkGDK. This is the first in the collection, the full suite is available at //www.thegamecreators.com/?m=view_product&id=2125.
Jarl Larsson is developing a game engine in DarkGDK, with a physics model similar to that found in Super Mario Galaxy. This video showcases the system in action.
The associated forum thread can be found here.
Gary Faith is at the alpha stage of development of his MMORPG created in DarkGDK. This clip shows a new character investing points in skills, using them to kill a mob, and then looting the mob and equipping some items.
Find this and other great FPSC characters available to buy in The Game Creator Store. The full details of the store can be found in the dedicated article in this newsletter.
As featured in The Game Creator Store additions, this is a short video of the Wall Zombie pack in action.
This month, work has been focused mainly upon getting up to date with various in-house chores, from judging the Heroes Quest competition (results below), writing newsletter copy mixed with the wonderfully boring business stuff and if there's time, a little bit of PlayBasic development on the side. Judging the Heroes Quest competition turned out to be a lot more challenging than we'd originally perceived, with judges coming and going due to various unforeseen circumstances. So the challenge was finding somebody at the last moment. Which seems easy, until it's left in your lap. But anyway, it's all done now and we can sit back and enjoy the submitted games. Programming-wise I've been continuing my work on the new PlayBasic runtime (VM2), which is finally about ready to escape it's current Frankenstein existence and stand alone.
The Heroes Quest competition closed about the same time as the electrical impulses of issue #69 was landing in your inbox. This year, only three brave souls were tenacious and proud enough to bring their creations to the competition. For this, we give our sincere thanks, finishing a game is a real achievement. But enough with the formalities, who won? This year it was very close between Never Dawn and Who Stole Waldo?, both really captured the spirit of the competition. Fun, old school platformers. It was hard splitting them in the end, never the less Never Dawn got home by a nose. Congratulations to its developers.
Judges Comment: From the moment you launch Never Dawn, it just drips with that almost indefinable quality of a well crafted game. For me, it's Possibly the best game we've ever had submitted. Everything seems well thought out and purposely put together, from the menus, the game mechanics and the level design. Giving the player a very enjoyable and rounded gaming experience.
Judges Comment: Who Stole Waldo? is a very interesting contribution to this year's competition. While nice and solid, it doesn't quite feel complete at the moment. However what's presented, is done so with enough polish to make it all come together very well. From a technology stand point, it includes some features that other competitors haven't, such as exploiting Alpha Channels with sprites and including hardware independent game play.
Judges Comment: The first thing you notice upon running The Lost Kingdom, is that it's a little fresh in its life cycle. However, while it's easy to speculate how it might turn out in the future, we can only review what's presented at the time of writing. From a strictly technology point of view, the developer has certainly upped the ante on the other competitors, by including a built in custom scripting engine as well using vector/shape based collision.
Last month, we looked into mystery behind the very building blocks of the PlayBasic language. Mainly focusing on the component known as the Virtual Machine or VM for short. This is programmer jargon for the part of the product the actually runs your program code. So it's the very the heart the soul in fact, without it nothing happens. As outlined previously, PlayBasic has been undergoing a transformation in recent times. The bulk of this transformation has been to underlying VM technology. Moving from the original version, known as VM1, to its creatively titled replacement called VM2. Changing VMs is a big job, but the benefit when it's complete will be faster execution, smaller executables and much greater flexibility on the whole.
Progress-wise, things have unfortunately slowed since this hasn't been a purely code crunch month. However, the light at the end of the tunnel is fast approaching, with virtually all of the major components and support libraries now being in place. The VMs use a custom instruction set, all commands that you use in the PlayBasic language are translated into this low level instruction set (also known as opcodes) during compilation/optimisation process. The instruction set has various banks of instruction types. In other words they're all grouped into collections. At the time of writing, all but one collection have made their way across to VM2 safely, if I had to estimate we're about 90% of the way there. It might not sound like much progress from last month, but at that time there was a mountain of support libraries that needed to be updated also. Those have since been translated, making it a nice easy down hill from glide from here.
The goal for the coming month is to knock over the remaining parts of the instruction set, then release another stepping stone build of the PlayBasicFX base product. Meaning that the next edition PBFX will be running upon VM2 in combination with the Direct3D engine, giving it a distinct advantage over standard PlayBasic. This will not be the final migration mind you, we're still another few updates before it's all complete, but it's getting closer.
Until next time, I'm off to continue bashing bits in some other dimension. Other wise known as sitting at my dev PC.
Each month we pluck one lucky subscriber from the newsletter mailing list and award them a free copy of DarkBASIC Professional. The email address of this month's winner is: qx***is@gmail.com If this is you then send us an email to claim your prize.
If you have something you'd like featured in a future issue then please get in touch and include as much information as possible (including where applicable: screen shots, URLs and zip files).
Issue 71 deadline - November 26th 2008.
"It's all well and good being a sponge, but unless you've got some water...you know...hanging around, then your existence isn't complete"
Lee Bamber, The Game Creators.