Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Project Diary: Serious Aliens  (Read 10830 times)

0 Members and 2 Guests are viewing this topic.

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Project Diary: Serious Aliens
« on: January 21, 2010, 01:12:24 AM »

Title: Serious Aliens

Genre: Top-down Shoot-em-up a-la Gauntlet, Alien Breed, Chaos Engine

Language: Blitz Basic 2

Extra Info: Please see the project discussion here

Phase One:

Graham kindly supplied me with a copy of Blitz Basic 2 to sink my teeth into, and after some time getting it set up, i set about crawling through some example code. My first aim, being to learn how to do the things with Blitz I am comfortably doing with AMOS Pro.

My first hinderance came in the form of OctaMED playback. I'm insistent on using MED because i've already written most of the music for the game in that format, and conversion to PT didnt quite have the results i wanted. I did try that, and in the process got familiar with how to add new commands into Blitz which in itself was a new experience (and a successful one) for me. I recommend from aminet BlitzLibMan (Library Manager) for anyone struggling to get ne commands/libs installed. It made it a doddle.

However, i quickly discovered the MED commands in BB2 to be heavily bugged, largely to be due to being VBlank synced and not CIA synced, which meant all my BPM based tunes played back at the wrong speeds with little way of fixing them. Thankfully, Leffman on EAB has come to the rescue there and has kindly implemented some MED playback sources into BB2 commands. Still in the development phase, these replacements are working very nicely.

My initial goal  was simply to get to grips with a few commands, for such as song playback, screen opening, copying, fades, handling palettes and simple objects on screen. I decided therefore to have a crack at just creating the intro screens for SA, in the style of those in Cannon Fodder.

Suffice to say this have been a success. I've learnt how to handle BitMap screens (these work like Screen Open in AMOS) but with a neccessary command (Slice) to be used for opening a viewport. AMOS Bobs it would seem are neatly transposed to BB2 int the form of 'Shapes' and i was quickly able to use my old method of opening an IFF file (LoadBitmap) and "Grabbing" my shapes for a Font from that (GetaShape), all on an invisible screen.
This is great to know, as this technique is one i have used again and again on AMOS to maintain all my graphics, as it means that you only need to update 1 IFF file to change a lot of graphics in the game, without messing with Banks etc. Palette commands, and Fades are even more powerful in BB2 than AMOS, and i particularly liked finding the "DoFade" command which allows you to make incremental steps in a fade, this being able to syncronise th fade-out of the screen with the fade-out of the music.

The killing of the OS with the "Blitz" mode looks as though it will be very handy for maintaining speed, i know this has been raised as one reason AMOS Pro suffers with speed loss on compiled programs. It seems you need to be in "Amiga" mode however to do any file-reading/writing, but thankfully you can jump back to that without losing the current display screen by using "QAmiga" , doing your file stuff, and then jumping back to Blitz mode. All very clever i thought.

So, i now have my first two programs completed. A simple intro section for the game, which allowed me to get to grips with the basic screen commands, and a good a test for handling things like my font writer. To get to hear the music, and play around with some basic input commands, i have also made a "Music Player". I'm sticking to my usual heavy usage of GOSUBs that i used in AMOS, as this not only helps keep the code pretty readable, but also produces pretty quick results. I only hope anyone (GH!) i share the code with will find it easy to read as well!


Next up i will set about creating a title-screen and some basic options screen, enough to set up what is needed for game-start.
« Last Edit: March 01, 2015, 05:34:22 PM by Hungry Horace »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

TCD

  • Sir TCD of EAB
  • Forum Mod
  • A600
  • ****
  • Karma: 6
  • Offline Offline
  • Gender: Male
  • Posts: 111
  • Backzorz wit da romzorz yo!
    • The English Amiga Board
Re: Project Diary: Serious Aliens
« Reply #1 on: June 22, 2010, 10:23:56 PM »

Any news on this one?
* TCD ducks the Horace 'slaps-TCD-with-a-large-trout' attack
Logged
Hypothesis: Current scientific thought suggests we have already achieved max rocking level.

Perhaps max-rocking levels could be radically increased with creation of 30ft tall motion controlled guitar thrashing robot simulacrum.

Result: We rocked the f*ck out.

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Project Diary: Serious Aliens
« Reply #2 on: June 22, 2010, 10:25:48 PM »

on hold.

help needed - especially with blitz :(

i was kinda hoping GH may have finished Tank Wars Deluxe by now!


i may also have a look at the Alien Bash 2 source when its released to see if it can help out.
« Last Edit: June 22, 2010, 10:27:23 PM by Hungry Horace »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

TCD

  • Sir TCD of EAB
  • Forum Mod
  • A600
  • ****
  • Karma: 6
  • Offline Offline
  • Gender: Male
  • Posts: 111
  • Backzorz wit da romzorz yo!
    • The English Amiga Board
Re: Project Diary: Serious Aliens
« Reply #3 on: June 22, 2010, 10:40:01 PM »

Okay, thanks for the update :)
Fingers crossed someone shows up that knows Blitz. Maybe a thread on EAB could help?
Logged
Hypothesis: Current scientific thought suggests we have already achieved max rocking level.

Perhaps max-rocking levels could be radically increased with creation of 30ft tall motion controlled guitar thrashing robot simulacrum.

Result: We rocked the f*ck out.

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Project Diary: Serious Aliens
« Reply #4 on: February 25, 2015, 09:20:48 PM »


Another half finished project???

Did you get any Blitz help in the end?
Logged

DJ METUNE

  • A600
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 28
  • Musician
Re: Project Diary: Serious Aliens
« Reply #5 on: February 28, 2015, 11:55:48 PM »

I'm pretty new with programming generally. I originally bought my first Amiga (1991) mainly to make music (Using Noisetracker/ProTracker). I started to lern some Amos Pro quite recently (2001). I now start to wonder, what is the real speed boost of Blitz or as well directly Assambler compared to a compiled Amos Pro game/application carefully written as optimized as possible and with the great speed boosts from AMCAF and/or TURBO (etc) with disabled multitasking? As using hardware scroll and/or do some screen copy. Moving bobs and hardware sprites, often computed sprites. Things that mainly makes things flow as supposed in games. And the calls of coppereffects? Different colours on different lines in games as seen in "Lionheart" for an example.
Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Project Diary: Serious Aliens
« Reply #6 on: March 01, 2015, 04:39:19 PM »

i actually did have more progress than is indicated here. But yes, another half-finsihed project :(

I decide to cut-back on the requirements and go back to an ECS AMOS driven game.


https://www.youtube.com/watch?v=d2K83RkyQqc



I was getting some help from skateblind on the main game engine, but sadly he disappeared and i got too busy with real-life comitments, as from 2010-2014 I started studying again to further my career. In that time i also got engaged, then married last october, and at the beginning of this year finally I am reaping some of the rewards with a nicely paid new job and a bit less of the stress!

Thanks to this, i am finding a bit more time for my own projects, but at the moment I am rebuilding / enhancing an A600 which is proving a lot of fun! Some programming is something I do want to get back into, and it will probably one of my projects like this one.


We got as far as a few characters running around, using TOME based 8-way scrolling, and i got a large chunk of the 'feel' for the game sorted by working on the menus and stuff. I was still never sure if it was ever going to prove fast enough though once some AI aliens would be filling up the screen.


As for the Blitz speed vs. AMOS thing... i guess it comes down to Blitz acting more like an ASM 'macro' enviroment.

Is it actually possible to 'genuinely' disable multi-tasking on AMOSPro ? I have seen some discussion on this previously that seemed to indicate it was not :/

« Last Edit: March 01, 2015, 05:28:03 PM by Hungry Horace »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

FOL

  • PSPUAE Dev Team
  • Site Admin
  • A4000T
  • ******
  • Karma: 690
  • Offline Offline
  • Gender: Male
  • Posts: 3,561
  • Amigakit.com Technical
    • PSPUAE
Re: Project Diary: Serious Aliens
« Reply #7 on: March 02, 2015, 04:57:30 PM »

LMFAO,

Whens this being released, :). "The best party is a landing party", classic, :).
Logged
Quote
Resolute and Industrious
Grand ruler of the yellow people and the Ultimate Amiga Empire

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Project Diary: Serious Aliens
« Reply #8 on: March 06, 2015, 09:07:26 PM »

Is it actually possible to 'genuinely' disable multi-tasking on AMOSPro ? I have seen some discussion on this previously that seemed to indicate it was not :/

The closest you can get is by calling the forbid function (disables multi-tasking), however due to the way AMOS is written using this can cause AMOS to crash, depending on which instructions you use.
Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Project Diary: Serious Aliens
« Reply #9 on: March 09, 2015, 09:12:27 PM »

crashing doesn't sound too good!!
Is it just trial and error to see if it crashes and is there much speed boost?
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Project Diary: Serious Aliens
« Reply #10 on: March 16, 2015, 06:07:09 PM »


Yeah, just try

X_FORBID=Execall(-132) : Rem forbid on (multi-tasking off)

and to switch things back to normal...

X_PERMIT=Execall(-138) : Rem forbid off (multi-tasking on)


The speed increase you will get depends on what you are doing. Sometimes it will be minimal and sometimes it'll be very noticeable.
Logged

DJ METUNE

  • A600
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 28
  • Musician
Re: Project Diary: Serious Aliens
« Reply #11 on: March 20, 2015, 08:38:36 PM »

OK. But the machine code that gets generated in the very end from the Amos Pro Compiler is just as good as any compiled stuff from any other more difficult language?
Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Project Diary: Serious Aliens
« Reply #12 on: March 22, 2015, 05:49:36 PM »


The AMOS Compilers take chunks of code from each library (depending on which instructions/functions were used) and places them all into the final executable. Compiled code is faster than uncompiled code, as the uncompiled code is tokenised and decoded in realtime whereas compiled code is tokenised and decoded during the compilation process.


Anything written in pure assembler will always be much faster than compiled code.
Logged
Pages: [1]   Go Up
 

TinyPortal 2.2.2 © 2005-2022