News Letter:


Search:



 
  News Articles:

G2D powered Xenon 2000 scene remake.
Site Maintenance Round 2 - Ordering OffLine
DTAB V1.04 Update Released
PlayBASIC2DLL Released
For Foxes Sake (2D Platformer) Released
Converting AMOS and AMOS PRO BASIC to PlayBASIC
Pooyan V1.05 Released
DTAB V1.03c Update Released
Amiga Revisited
Pooyan Released




G2D powered Xenon 2000 scene remake.
By Kevin Picone 30,May,2015
      This tiny video was taken of a Xenon 2000 scene remake, which is a top down shoot'em game for windows originally written by the Bitmap Brothers way back into 2000 as game programming tutorial series. This version of the remake is written in PlayBASIC using our OpenGL library called G2D for the display. Normally PlayBASIC uses DirectX and software rendering.

      This remake isn't necessarily to show a working game, just how easy it is to port existing PlayBASIC programs to use G2D display library. The video capture is sadly very framey even at a low resolution, which is annoying as the actual demo runs at 500+ fps even on the legacy test system, which is 9->10 years old,

      The demo is running in PlayBASIC V1.64P3 which is the current retail edition at the time of writing. The PlayBASIC G2D library supports rendering PlayBASIC images / sprites / maps / fonts / Particles and various 2D primitives though OpenGL interface .

      You can find the source code for this demo and 1000's and others on our forums.



      Learn game programming at PlayBASIC.com



Site Maintenance Round 2 - Ordering OffLine
By Kevin Picone 27,May,2015

      During this second phase site maintenance, all product ordering ( DTAB, PLAYBASIC & PLAYBASIC2DLL) has been disabled across UnderwareDesign.com & PlayBASIC.com until further notice. I'm not expecting this to be off line for long, it could be as short as a day, but most likely a couple of days.


     MODEDIT: Ordering is back online as of 30th,May,2015.




DTAB V1.04 Update Released
By Kevin Picone 20,Sep,2014

DTAB V1.04 Update Released

      The Dtab V1.04 continues to improve both the Drum Tab importing window / Drum Tab parser and DTAB scripting language that aids in remote tab downloading. These changes are really all locked together, as many of the importer improvements are by products of improvements to the DTAB script. Some of the new tweaks that come to mind would be right click menu ion the import window, better pre-processing of pages, more keywords parsed, more section names parsed through to things like remapping numeric tom lines to individual drum instruments.

Input Drum Tab Example:


   1 + 2 + 3 + 4 +  1 + 2 + 3 + 4 +  
H |x-x-x-x-x-x-x-x-|----------------|
T |----------------|1-2-3-4-5-6-----|
S |----o-------o---|----------------|
B |o-o-----o-o-----|----------------|



Exported Drum Tab:

    Song: [Untitled]
    Artist: [Unknown]
    Timing: 4/4
     Tempo: 120
      Date: 9/16/2014


         #1                 #2

    Hh:| x-x-x-x-x-x-x-x- | ---------------- |
  Tom1:| ---------------- | o--------------- |
  Tom2:| ---------------- | --o------------- |
  Tom3:| ---------------- | ----o----------- |
  Tom4:| ---------------- | ------o--------- |
   SnD:| ----o-------o--- | ---------------- |
  FlT1:| ---------------- | --------o------- |
  FlT2:| ---------------- | ----------o----- |
   BD1:| o-o-----o-o----- | ---------------- |

The DTAB output is pretty standard drum tab wise, I don't really have a preference either way. In some songs Numeric toms lines would help compress the output text, but we basically lose what little Dynamic information drum tab gives us about how the note is played.      We highly recommend updating !


History

      Changes since the last major release. You can read the full Dtab V1.04 development blog here

     1.04 Beta4/10 8th Sep,2014 - 19th Sep,2014
* Added
Added a convert numeric Tom Note detection and remap pass to the importer This function will map a line like Toms:|1111222233334444| as 16th notes across the first 4 toms on the kit.
Added a "BPM" decoder so Importer to pick up the initial Tempo of the song
Added Domain import decoders for guitaretab.com & guitartabs.cc
Added Domain import decoders for tabsbest.com & becktabs.net

* Fixes
The Import TAB decoder wasn't removing the [DTAB] rule blocks from the tab which could cause the importer to query what these tags are during import process
Note Play Back could overflow the table if an unknown character was imported its now limited to 7bit
Importer decode Tempo and grabs the first number from the field is many are listed.

* Tweaked
Optd the rendering to avoid some string thrashing when rendering the tab view to the window
Final clean up


     1.04 Beta3 5th Aug,2014 - 7th Aug,2014
* Added
UNDO to right click menu in Import Tab
Tab downloader checks if lines have the expected chr(13)+Chr(10) line markers, if not it replaces them before importing into the text box

* DTAB SCRIPT
Added ASC() CHR() functions
result=Replace(HeyStack,Needle,NewNeedle) (Text version)
result=ReplaceB(HeyStack,Needle,NewNeedle) (Binary version)
Added TabCrawler decoder
added guitartabshero.com decoder

* Tweaked
The UNDO record functions ImportTab TextBox


     1.04 Beta2 28th,July,2014 - 4th Aug,2014
* Added
Find & Replace dialog to the Import Tab (TEXT) page
Updated the Version query
Updated the Not Saved Dialogs so they include the song name
Added BASIC HTML strip function to the right click in import TAB window.
Added basic CTRL-Z UNDO controls to the ImportTab TextBox


      1.04 Beta1 24th,July,2014 26th,July,2014
* Added
HTML TAB import includes screening and optional view as HTML now so if there's import script or then internal decoder cant find the tab, the user can just view it manually
Swapped the Assign / Cancel button on the remap staff line dialog
Removed the [] button from the remap staff line dialog
Popup right click menu to import tab window
Added CUT, COPY,PASTE,SELECT ALL & IMPORT functions to the right click in import TAB window.

* Fixes
Crash lines didn't have a ghost note mapping for playback
Crash lines only had accented not heads, both are now supported.
Fixed typo in downloader dialog when DTAB cant detect internet connection


      1.03e 15th,July,2014 / 23rd,July,2014
* Added
Added import basic decode script for http://tabs.ultimate-guitar.com
Flag to toggle bar compression when exporting tab as text
added extra cleaning to downloaded web pages that contain some international multi byte characters that could break the download -> import.
Tab view now renders as user inputs on the titles dialog
Note head mapping was missing accented doubles and flams on most sounds
Added RB (RIDE BELL) Staff line remapper to the default remapping.


      1.03d 11th,Dec,2012
* Fixes
Auto File name creation didnt screen out slashes, making the dialogs refuse to open if the band name had a slash in it. Such as AC/DC




Upgrading For Registered Users

      If you've already a registered DTAB user, simply download the new version and install it over your current install. If you're upgrading from a version older than Dtab V1.00, just be warned that DTAB V1.03c doesn't automatically use your old preferences. So you'll have enter your tabber name & registration information again.


A Decade of DTAB (GALLERY)

      Since DTAB has been around a long time, 10 years in fact. Making it the oldest automated Drum TAB editor on the PC, most likely any platform for that matter. To celebrate this, I've posted a bit of gallery on my facebook page.

DTAB GALLERY on FaceBook




Download Update:


     Get DTAB Upgrade






PlayBASIC2DLL Released
By Kevin Picone 3,june,2014
      Yes it's finally here! ...after more than few marathon nights the first fully fledged version of PlayBASIC2DLL is available to the community. PlayBASIC2DLL brings the power of native code to the PlayBASIC developer, all we can say is welcome back to the machine code age!

      This initial release has been discounted for the community down to $27.50 (US) from it's regular $49.99 US




What's PlayBASIC2DLL ?

      It's a companion tool to the PlayBASIC programming language. The tool converts PlayBASIC Source code into machine code DLL's. Allowing the programmer to fully harness the process of their computers cpu.

      The tool has been in development for the best part 8 months now so rather than me crudely attempt to paraphrase the blogs, I recommend you read the PlayBASIC2DLL blogs and check out some of the examples. ( 1,000,000 Vertex cube - Water Demo



Order Now:
      You can order the product through shareit who provide all major payment processing methods from credit card, paypal, cheque, money order and more.

      See Community Anouncement To Purchase PlayBASIC2DLL



     Visit PlayBASIC.com



For Foxes Sake (2D Platformer) Released
By Kevin Picone 1,Oct,2013


      Platformer fans, Foxy needs your help ! He needs a steady hand to guide him running and jumping through 8 worlds of plat forming fun. In this adventure the you'll guide Foxy through the grass lands, building sites, spooky graveyards and freezing ice castles. To complete each worlds Foxy must solve puzzles, collect all the coins and make it to the exit, all while avoiding everything from angry dogs, flying saw blades through to falling platforms. But's that's all in a days works for our Foxy.

     Visit For Foxes Sake - PlayBASIC.com



Converting AMOS and AMOS PRO BASIC to PlayBASIC
By Kevin Picone 14,May,2013
      Programming has enough little annoying problems as it is, let alone trying to move source code around between languages. Bizarrely the problem hasn't really improved that much since when I started programming back in 1982, at least then there was a good reason, like.. you know... assembly :) - Today, there's lots of conversion tools for main stream languages, but with so many languages out there, lots of legacy source code just ends up sitting around doing nothing.

      Now we don't know about other programmers, but we always try to keep our legacy source codes in one big retro collection. The oldest stuff dates back to the mid 90's (don't really have any of our 8bit stuff ).. The code from the 90's is mostly a mixture AMOS and 68k Assembly from the Amiga days. The assembly isn't much use, but a lot of the legacy BASIC code can be. The trouble with languages like Amos, is that source code files are tokenized, so you either need to run the AMOS under emulation, or find a conversion tool.



      Amos To PlayBASIC is a source code and media conversion tool that will parse Amos & AmosPro source codes and not only convert them to text, but it performs a host of handy PlayBASIC logic / expression / variable & array level translations to the output code. Newly translated programs are unlikely to execute out of the box, since the translator doesn't understand every possible Amos & Amospro command or function, but it's much easier to get your program running in PlayBASIC on windows.

      Features:

           * Supports Amos and Amos Pro source codes
           * Supports encrypted Amos and Amos Pro source codes
           * Supports User definable command sets.
           * Converts Sprite Banks to Windows Bitmaps
           * Converts Compressed Pictures to windows bitmaps
           * Converts 8bit IFF Samples to 8bit Wav
           * Exports Music Bank (Doesn't convert these)
           * Exports Data Banks (Code etc)




     More Amos To PlayBASIC Conversion Tool (WIP/Downloads) - PlayBASIC.com




Pooyan V1.05 Released
By Kevin Picone 14,Nov,2012


      Pooyan is a remake of classic 1980's arcade game. The players goal is to protect Pooyan from a collection of pesky bad guys, ranging from those ever-so-nasty fire breathing foxes, pesky spiders through to falling rocks. Who all want to knock Pooyan from his safety cage. Pooyans no push over though and is packing from pretty mean crossbow fire power, but you'll have to fast on the mouse button to keep him safe.


New Features:

      * Sound & Music Controls.
      * Windowed and Full Screen exclusive support.
      * Pause mode during game play.
      * Optimized performance for older computers.
      * Improved visual presentation.
      * plus the odd bug fix.




     Visit Pooyan Homepage - PlayBASIC.com





DTAB V1.03c Update Released
By Kevin Picone 26,Jun,2011

DTAB V1.03c Update Released

      The Dtab V1.03c upgrade is now available. Dtab V1.03c continues to improve the Drum Tab importing parser. The latest changes are the inclusion of 'Row Repeats". The import parser supports two conventions at this time, those being the "REPEAT" and "PLAY" convention. The parser expects these statements to be used at end of the row that's going to repeat. Following the statement, the parser expects to see a repeat multiplier either on directly following the tag or on the row bellow it. The parser supports the x, X and * multiplier conventions. There's a few other contentions in use that may need tweaking, but this will allow you import them with minimal effort.

      Some example rows with repeats in them,

                    |--- repeat x2 --|            
C  |----------------|----------------|----------------|----------------|
HH |xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx| repeat * 2
SN |----------------|------------o---|----------------|----------------|  
BD |o---o---o---o---|o---o---o-o-o---|o---o---o---o---|o---o---o---o---|


C |----------------|----------------|----------------|----------------|
H |xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxx---|  repeat 
S |----o-------o---|----o-------o---|----o-------o---|----o-------o-oo|	   *2 	
B |o-------o-------|o-------o-------|o-------o-------|o-------o-------|


C |----------------|----------------|----------------|----------------|
H |xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxx---|  play
S |----o-------o---|----o-------o---|----o-------o---|----o-------o-oo|	   2x 	
B |o-------o-------|o-------o-------|o-------o-------|o-------o-------|



     So we highly recommend updating !


History

      Changes since the last major release.

* Added
Note Hover is updated on Mouse click
Note Hover is updated on scroll wheel
Importer now supports REPEAT and PLAY row tags appended to the end of the bar. REPEAT row statements are treated as "repeat row X more times". PLAY row statements are treated as "play row X times in total".
Row repeats support three multipliers X, x and * with the number of repeat count can be on either side of the multiplier.
Added extra staff line remappers to the default set of remappers bd: maps to bass drum, sn: maps to snare, hh: maps to hihat.

* Fixes
Import parser was dropping the last character from cut'n pasted links into the importer text.
Improved the check for update timer, it was bit dodgy when projecting the next query date. It's set to check at about 1 month intervals.




Upgrading For Registered Users

      If you've already a registered DTAB user, simply download the new version and install it over your current install. If you're upgrading from a version older than Dtab V1.00, just be warned that DTAB V1.03c doesn't automatically use your old preferences. So you'll have enter your tabber name & registration information again.


A Decade of DTAB (GALLERY)

      Since DTAB has been around a long time, 10 years in fact. Making it the oldest automated Drum TAB editor on the PC, most likely any platform for that matter. To celebrate this, I've posted a bit of gallery on my facebook page.

DTAB GALLERY on FaceBook




Download Update:


     Get DTAB Upgrade






Amiga Revisited
By Kevin Picone 24,Mar,2012



      This past few weeks we've been taking a retrospective look at some of our heritage software on the Amiga platform. The Amiga was an incredible system for it's time, packing a punch far exceeding it's price tag. It's considering by many, as the system responsible for bringing many now standard operating system features to modern home computers. Unfortunately though, the parent company died before the platform could reach it's full potential. Which is an all too common story in this industry.

      During the mid 1990's Underware Design was focused on developing Amiga software, primarily Amiga Video games. As an Indie developer, this was tough time trying to compete with the radically evolving 2D to 3D industry. With various projects being caught up in the hysteria of the 'Doom' shockwaves on the rival PC platform. A good example for us would be, our Thesius XII project. Thesius was side scrolling shooter, built out of a personal love of such game genres at the time, still do. But in 1994 / 1995, 2D games were quickly being labeled as the past, dead even in the 3D era.



      To further set the scene, not only was the PC landscape rapidly making it's transition to 3D texture mapped games, but arcade franchises like Sega's Virtual Fighter and Daytona were going gang busters. Then comes the introduction of first generation of 3D capable home consoles. So you soon find yourself caught become a rock and hard place, were you make the transition to 3D or die, at least that's what it felt like then. Today, I think it was probably a mistake to try and compete with them on the same terms. But we live and learn.

      Making the jump into the 3D realm on the Amiga was tough, very tough. Information was scarce, and just much like the 2D era, programmers tended to hold onto their secrets. Which meant getting even the simplest things off the ground, felt like climbing Mount Everest. One of the hurdles when doing software texture mapping on Amiga, wasn't just clock speed of the cpu, but rather how the video hardware represents the screen. Amiga chip sets use bit planes. While bit planes are efficient in terms of memory, they're not ideal for rendering texture mapped pixels. To counter this, programmers would render 3D scenes in chunky (byte per pixel) format, then convert this data into bit planes (planar) on the fly, commonly referred to as C2P. As efficient as the process can be, it placed a sizable bottle neck of what the low end Amiga systems could achieve.

      Thus started a long journey of discovery for us, which in can summarized into two engine tech demo's, the first was called Reality and the second was Metal Combat. The Reality project was our attempt to bring a hybrid Wolf 3D / Blane Stone styled engine with polygon characters on the Amiga A1200/68020 machines with fast memory. At that time, this was perhaps the most ambitious (ie. see insane) thing I've ever attempted. Setting the bar so high meant that failure was not only likely, but virtually guaranteed. That didn't stop me from trying though. Bellow is a short video of an older version of Reality running under WinUAE.


      Unfortunately, it's been so long since I was actively working upon this project some key files have been lost. So unless I can find them, or another more update version of the demo surfaces, then this is perhaps the only glimpse to it's existence. While not in this version of the demo, the objective was to have texture mapped walls and floors, and use the 1D wall z buffer, to clip the the flat shaded triangles into. Which meant drawing the polygons in vertical, but was a fairly easy to cull objects from the scene.

      While Reality wall about texture mapping, another concept we'd spoken about internally was the idea of doing a Street Fighter clone for AGA Amigas a year or so before. Fighting games were hot and it seemed that if you render a pair of low polygon flat shaded characters, it might be feasible to game a 3D fighting game on for AGA Amigas. This is where the Metal Combat tech demo originated from, much like the Reality engine, it was series of render tests trying to hit minimum polygon count at playable rate, on the bare bones Amiga A1200 system. The render engine is CPU based, rendering only flat shaded triangles. The scene is drawn in 16 colour planar to a fast memory buffer, which is copying into chip memory. The idea was to use dual playfield for the backdrops/ground. So the characters would have been 3D, but the scene was to be mish mash of 2d/3D.


      Seeing this demo again, I can't help but feel this was an area where we should have tried to exploit more, given everybody else was trying to make a better Doom game. But it was the 90's and tools and information just weren't what they are today. A version of the tech demo's source code is available on the our Amiga Source Codes page. Perhaps somebody will take it and make something cool out it one day.

      A lot of byproducts occurs either directly or indirectly during the development of such projects. Such as a number support tools and libraries. If you're going to create a 3D game, then you need a way to edit 3D models. There was no tool chains like today, so we knocked a simple conversion / colouring tool for Imagine 3D. The tool let the user import / colour / set normals etc of the model. Along with that came some libraries that were released on Aminet, things like the AGE & PllbC2P come to mind. The latter is a library of precalc based routines to convert chunky to planar on 68020 cpu's.

      PllC2p has been re-released. The code was originally written in AsmOne V1.20 (or there abouts), but it couldn't really be used in modern assemblers due to various syntax issues, like case sensitivity. So that library has been updated to assembly with the PhxASS assembler. While there are no doubt superior C2p methods today, hopefully the concept will be useful for somebody. Here's some tech demos that use it.


      PllC2p has been re-released. The code was originally written in AsmOne V1.20 (or there abouts), but it couldn't really be used in modern assemblers due to various syntax issues, like case sensitivity. So that library has been updated to assembly with the PhxASS assembler. While there are no doubt superior C2p methods today, hopefully the concept will be useful for somebody. Here's some tech demos that use it.

      A.G.E was a flow on project from the all the previous work. It's a graphic library that can be wrapped from high level languages, namely AMOS BASIC. The library supports AGA chipset, therefore given AMOS users long awaited AGA support. The idea for the project came from a previous Amos example written to demo how to display AGA pictures with just standard Amos. The library was originally released in 2000, but that version was almost impossible for users to decipher. So what i've done, is clean up the Amos wrapper to simplify the process for you. The library isn't a perfect though, there's a number of niggles, but even so, you can certainly have some fun with it. For example, here's a gouraud shaded demo written in little old Amos with AGE for rendering.



      Well, that about completes our round of nostalgia, thanks for indulging me :). Sadly my real Amiga 1200 died long ago, and all the remains is an image from my hard drive. If you're an Amiga fan at heart, then I'd absolutely recommend firing up WinUAE sometime and have a mess around. It's amazing how much fun programming those machines actually is, and if you tire of that, then check out what we're doing with www.PlayBASIC.com for a Windows fun..

      You can find of some more Amiga videos UnderwareDesign.com - Retro Amiga Tech Demo Videos











 

Copyright 2000 - 2016 Underware Design      Privacy Policy