English Amiga Board


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 14 August 2019, 10:12   #1
alain.treesong
Aghnar
 
Join Date: Jan 2019
Location: France
Posts: 7
"Geometrical Blast" project

Hi,

At the beginning of the year I had fun coding in Amos a small engine "like a shadow of the beast".
This little code is reported in the Amiga France forum (in French) : https://www.amigafrance.com/forums/t...-beast-engine/

The idea was mainly to show that Amos was not that bad.
I would even say that this "basic" language for creating games on Amiga is excellent.

Of course, you can't redevelop a "Shadow of the beast" with all its scrollings and colors in pure Amos, not without redefining the copper list (possible in Amos but not in the spirit of the language) or the use of a home-made language extension (coded in 68000).
But we can make good quality Amiga games, smooth (I mean 50fps or a mix 25/50 fps) including games with fixed screen or light scrolling. So Barbarian+ for example could have been fluid on Amiga 500 vanilla if the authors, deserving by the way, had
really targeted this configuration.

I have a little time during this summer and an "amigaïte" takes me back so I thought to myself: why not code a shoot'em'up in Amos for Amiga 500 (512kp Chip / 512ko fast).
As it is not a fixed screen game, it contradicts what I just said before about scrollings and Amos. ;-)

The idea is to use this entry in the forum to make a kind of dev log and see if it can be of interest to the amigaphiles of the site. If some people are interested, I will make a new entry at each significant progress of the project.

So here we go.

The idea is to make a vertical scroll shmup and I would like to use the bitplane display of the Amiga.
Besides, as I appreciate the vectorial drawings, I can manage with only 4 bitplanes, transparency effects and a slightly geometric aesthetic. In addition, the sprites of the Amiga have their own palette (among the colors 16 to 31) and will allow
to add a little color.

Well the idea is already to make a small engine with a ship that shoots at a scrolling scenery.

I will devote for the moment 2 bitplans for the sets.
For the drawing, I could have taken "The Gimp" for example but I took Deluxe paint 4 under winuae: -)
I drew 2 sets in 2 colors, it's not very beautiful but it will be fine for now (besides the shots are not quite centered...).

Click image for larger version

Name:	geoDPaint.png
Views:	85
Size:	18.9 KB
ID:	64091

Once the images were loaded in Amos, I didn't use dual playfield mode and scrolling based on the "Screen Offset" command (the amos devs will understand)
because Amos has trouble handling sprites in this mode and sprite and bobs collisions (objects drawn by the blitter) do not take offset (bug ;-)).
I used a command from the Amos turbo extension (1993 so now standard) to move the bitplanes independently ("plane offset" for experts).

For the ship and the shots I use sprites and 3 animations channels managed by the AMOS animation system (called AMAL).
I put two missiles in and I'll add more in the future.
The blitter is not yet used and will be used for enemy waves (but this will be the subject of another ticket).

It gives that:

Click image for larger version

Name:	geoBlast1_001.png
Views:	97
Size:	13.3 KB
ID:	64092

The game is currently played with the mouse. The left button to shoot. I will put the joystick in place later.

I attach an ADF to be tested on a real Amiga 500 preferably:
geo1.adf

All returns are welcome.

By the way, I'm calling the project "Geometrical Blast" for the moment.

Ciao

Last edited by alain.treesong; 14 August 2019 at 10:17. Reason: wrong link
alain.treesong is offline  
Old 14 August 2019, 10:14   #2
Steril707
OCS rocks!

 
Join Date: Sep 2016
Location: Amiga Island
Posts: 869
Keeping an eye on this...

Nice effort!
Steril707 is offline  
Old 15 August 2019, 10:48   #3
alain.treesong
Aghnar
 
Join Date: Jan 2019
Location: France
Posts: 7
"Geometrical blast" project part 2

Hi,

First of all thanks to Steril707 for the nice feedback.

So we have a scrolling set, a ship and a few shots. The idea now is to add targets. Useful in a shmup.
And of course by staying at 50 fps. We're on Amiga 500 anyway ;-).

Before that, I replaced the mouse with the joystick and added a sprite (with colours 26,27 and 28) to increase the rate of shooting.
The sprites of the Amiga OCS and Amos may be the subject of a new post if this project interests people but for now, we will focus on the blitter.


The first two bitplanes are reserved for the scrolling set.
So the next two "fixed" bitplanes will be dedicated to the objects managed by the blitter (called "bobs" and corresponding to the Amos "Bob" command).
The fact that the bitplanes are fixed is interesting:
- This makes it easier to manage the bobs positions. Otherwise, the offset introduced by scrolling should be taken into account. It can be done in Amos but if we can avoid it, that's good (simpler, better as always).
- The management of sprites/bobs collisions provided in Amos is buggy and does not take into account the scroll offset. In this case, to get out of it, you must read the CLXCON and CLXDAT registers directly. Therefore, the fixed bitplanes allow the use of standard Amos commands (simpler, better...)

Obviously use only 2 bitplanes has a counterpart. We're only going to have three true colors: 4, 8 and 12.
Colours 1 to 3 are for the decoration and the other colours between index 5 and 15 will be a combination of decoration and bobs. However, with a good choice of palette you can have nice transparency effects by combining 4 bitplanes.
In addition, sprites (player's ship and shots) have their own palette (up to 15 colors at most). So by keeping a graphic aspect a little geometric, I think it will eventually be possible to give something beautiful (not to mention the Rainbow command from Amos but we may talk about it again some other time).

For the animation of the bobs, I used the AMAL sub language of Amos as I had done for the sprites.
Up to 16 channels can work under interruption. So we can have 16 animated objects on the screen.
It should be noted that you should not use the amos Bob command in the main loop of the game but define the bobs with this command outside the game loop and manage the state of the bobs (positions, images...) with Amal and specific registers.
This is a common mistake of Amos developers and leads to the erroneous conclusion that bobs management is slow in Amos while it is actually accurate for a language of this type.

To illustrate this little technical information (I hope not too boring), I have attached a little demo to run on a real Amiga 500 preferably.

Click image for larger version

Name:	geoV2.png
Views:	80
Size:	14.0 KB
ID:	64102

Now with the joysticl to move the player's ship, one can shoot at successive waves of small enemy ships.
The ships mark the impacts of the shots and resist several shots (fixed at 3 here) before exploding.
The ships are transparent (the palette could be better :-))

Currently the demo provided displays up to 13 competing objects.
Normally we still have our 50 fps on our Amiga 500 vanilla.
Theoretically Winuae is faithful but any feedback on real material (and other comments) is welcome.

The demo can be downloaded here.
here (ADF)

See you next time.
alain.treesong is offline  
Old 15 August 2019, 13:00   #4
JudasEZT
Registered User
JudasEZT's Avatar
 
Join Date: May 2003
Location: mercury
Posts: 564
Good stuff.

At this moment I think that I prefer square collisions better than BobCol Amos commands.
Mainly because, if game layout permits it.. I prefer doesn't draw bob masks and save much raster.
JudasEZT is offline  
Old 15 August 2019, 13:18   #5
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 42
Posts: 14,584
Hi Alain,

I've moved your thread from the Amiga scene section to where other game projects live; the project.Amiga Game Factory section
DamienD is offline  
Old 15 August 2019, 13:29   #6
alain.treesong
Aghnar
 
Join Date: Jan 2019
Location: France
Posts: 7
@DamienD
Ok thanks.

@JudasEZT
Thanks for the advice. If I have some perf problem, I will test a version with manual square collision.

Regards,
Aghnar
alain.treesong is offline  
Old 16 August 2019, 11:13   #7
alain.treesong
Aghnar
 
Join Date: Jan 2019
Location: France
Posts: 7
Passionate Amiguys hello,

Here is a slight update of the shmup engine.
An enemy fire routine has been added to the player's ship.

In the attached demo, 2 shots are set up (fixed on two enemy ships at random each time the code is launched).
I didn't specifically adjust the speed and playability because the player is always invulnerable.
The purpose is just to test the routine. Simple, actually.

Click image for larger version

Name:	geoBlast3_001.png
Views:	38
Size:	13.8 KB
ID:	64122

The demo can be downloaded
here

There are currently 15 potential objects on the screen at the same time and normally always at 50 fps.
But obviously this remains to be proven on real hardware (the target is the basic Amiga 500) although we can trust the extraordinary Winuae.

As always, any kind of feedback, remarks, ideas, thoughts and other intellectual elucubrations are welcome. :-)


"A la prochaine"
Aghnar
alain.treesong is offline  
Old 16 August 2019, 16:34   #8
zzbylu
Saberman

zzbylu's Avatar
 
Join Date: Dec 2016
Location: Kielce/Poland
Posts: 95
Gameplay - demo preview
[ Show youtube player ]

Last edited by zzbylu; 16 August 2019 at 19:32.
zzbylu is offline  
Old 16 August 2019, 17:45   #9
ppill
CON: artist
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 38
Posts: 1,202
Quote:
Originally Posted by zzbylu View Post
Gameplay - demo preview
[ Show youtube player ]
Looking good. The video says Commodore 64 for some reason.
ppill is offline  
Old 16 August 2019, 19:33   #10
zzbylu
Saberman

zzbylu's Avatar
 
Join Date: Dec 2016
Location: Kielce/Poland
Posts: 95
Quote:
Originally Posted by ppill View Post
Looking good. The video says Commodore 64 for some reason.

My mistake - I've already corrected it.
zzbylu is offline  
Old 16 August 2019, 21:06   #11
alain.treesong
Aghnar
 
Join Date: Jan 2019
Location: France
Posts: 7
@zzbylu
Thanks a lot for the nice video :-)
alain.treesong is offline  
Old 17 August 2019, 01:22   #12
xboxown
Registered User
 
Join Date: Dec 2012
Location: Vancouver/Canada
Posts: 478
Quote:
Originally Posted by alain.treesong View Post
Hi,

At the beginning of the year I had fun coding in Amos a small engine "like a shadow of the beast".
This little code is reported in the Amiga France forum (in French) : https://www.amigafrance.com/forums/t...-beast-engine/

The idea was mainly to show that Amos was not that bad.
I would even say that this "basic" language for creating games on Amiga is excellent.

Of course, you can't redevelop a "Shadow of the beast" with all its scrollings and colors in pure Amos, not without redefining the copper list (possible in Amos but not in the spirit of the language) or the use of a home-made language extension (coded in 68000).
But we can make good quality Amiga games, smooth (I mean 50fps or a mix 25/50 fps) including games with fixed screen or light scrolling. So Barbarian+ for example could have been fluid on Amiga 500 vanilla if the authors, deserving by the way, had
really targeted this configuration.

I have a little time during this summer and an "amigaïte" takes me back so I thought to myself: why not code a shoot'em'up in Amos for Amiga 500 (512kp Chip / 512ko fast).
As it is not a fixed screen game, it contradicts what I just said before about scrollings and Amos. ;-)

The idea is to use this entry in the forum to make a kind of dev log and see if it can be of interest to the amigaphiles of the site. If some people are interested, I will make a new entry at each significant progress of the project.

So here we go.

The idea is to make a vertical scroll shmup and I would like to use the bitplane display of the Amiga.
Besides, as I appreciate the vectorial drawings, I can manage with only 4 bitplanes, transparency effects and a slightly geometric aesthetic. In addition, the sprites of the Amiga have their own palette (among the colors 16 to 31) and will allow
to add a little color.

Well the idea is already to make a small engine with a ship that shoots at a scrolling scenery.

I will devote for the moment 2 bitplans for the sets.
For the drawing, I could have taken "The Gimp" for example but I took Deluxe paint 4 under winuae: -)
I drew 2 sets in 2 colors, it's not very beautiful but it will be fine for now (besides the shots are not quite centered...).

Attachment 64091

Once the images were loaded in Amos, I didn't use dual playfield mode and scrolling based on the "Screen Offset" command (the amos devs will understand)
because Amos has trouble handling sprites in this mode and sprite and bobs collisions (objects drawn by the blitter) do not take offset (bug ;-)).
I used a command from the Amos turbo extension (1993 so now standard) to move the bitplanes independently ("plane offset" for experts).

For the ship and the shots I use sprites and 3 animations channels managed by the AMOS animation system (called AMAL).
I put two missiles in and I'll add more in the future.
The blitter is not yet used and will be used for enemy waves (but this will be the subject of another ticket).

It gives that:

Attachment 64092

The game is currently played with the mouse. The left button to shoot. I will put the joystick in place later.

I attach an ADF to be tested on a real Amiga 500 preferably:
geo1.adf

All returns are welcome.

By the way, I'm calling the project "Geometrical Blast" for the moment.

Ciao
I am developing a special PacMan for the Amiga using AMOS. First thing I am working on are the graphics and I am also developing PacMan Construction Set. If I need to ask question about AMOS with proper palette loading, scrolling, and other screen effects...would it be OK if I ask you for help?

I would love to see this project completed and better than the previous AMOS project I have written.
xboxown is offline  
Old 17 August 2019, 10:49   #13
alain.treesong
Aghnar
 
Join Date: Jan 2019
Location: France
Posts: 7
"Geometrical blast" project part 4

Hi,

First, @xboxown :
Of course if I can help you, no problem (I invite you to make a new thread for this).

Now, here is a new update of the shmup engine.

Until now, I had quickly drawn small objects to be able to set up scrolling, movement and collision routines.

As I mentioned in the first post, the goal is a rendering with a geometric aspect, which will allow a good animation coupled with nice transparency/lighting effects.

So we'll test the idea. For this purpose, the wave of enemies of the previous adfs is replaced by a "boss" with a "3D" aspect.
The implemented movements and 3D form will be basic for this test.

There are a lot of 3D software but I'm not used to using them. So as in the good old days, I directly coded some simple 3D shapes in Amos. If it is not very productive, it at least allows to have a good control on the size of the object (which will be contained in an area of 96 by 80 pixels).
Besides, it's fun to do. In practice I had 3D routines on hand that I had done last year so frankly it didn't take long

Click image for larger version

Name:	v4_3D.png
Views:	29
Size:	6.5 KB
ID:	64134

The shape obtained is simple and made of lines. It's not super graphically but you could imagine more complex, prettier shapes with filled polygons (and I didn't use all the available colors).

As the good old days are good, but modern times are good too, I took "The gimp" (after a little conversion via Personnal Paint iff->png) and added a contour for a small lighting effect that will allow the Amiga's bitplanes.

Click image for larger version

Name:	gimp.PNG
Views:	30
Size:	85.2 KB
ID:	64135

Once the images were obtained and loaded in Amos, I set up a basic path of the boss (as usual via Amal): when the boss moves and rotates on itself it is invulnerable. When it fires (5 missiles) it can be hit.
The player is invulnerable anyway. There are 40 life points on the boss after which it explodes. The Player can therefore have fun shooting him for a short period of time.

Click image for larger version

Name:	v4_all.png
Views:	31
Size:	23.8 KB
ID:	64136

Normally it's smooth on a standard 500. I think I could even increase the size of the object and the number of shots.


The demo that illustrates this can be downloaded
ADF Geoblast4

As usual, I invite you to test this on a real Amiga and any feedback will be appreciated:-).

A brief assessment:
We have in 320x256, 4 bitplanes a little shmup engine with a small dual playfield (on 2 bitplanes).
The number of competing objects is 15, which offers possibilities compatible with this type of game.
With a certain type of graph mixing 3D and bitmaps drawings, a nice aesthetic seems possible to me.
I haven't set up a bonus routine or collisions with the player yet.
For the moment, everything is at 50 fps on a standard Amiga 500. By the way, congratulations Amos who was very well designed.

I spent a lot of time this week on this code.
I had a good time (but my eyes hurt a little:-))

I'm going to take a little break from dev to think about what I can do with this thing.
Obviously the ideal would be to make a complete game (with an old-fashioned box). To think about it, then.

Bye,
Aghnar

Last edited by alain.treesong; 17 August 2019 at 10:51. Reason: Spelling
alain.treesong is offline  
Old 17 August 2019, 15:41   #14
zzbylu
Saberman

zzbylu's Avatar
 
Join Date: Dec 2016
Location: Kielce/Poland
Posts: 95
and small gameplay
[ Show youtube player ]
zzbylu is offline  
Old 17 August 2019, 17:42   #15
alain.treesong
Aghnar
 
Join Date: Jan 2019
Location: France
Posts: 7
@zzbylu
Thanks again for this new video :-)
alain.treesong is offline  
Old 21 August 2019, 15:39   #16
Clydos
Registered User

 
Join Date: May 2018
Location: Dresden / Germany
Posts: 117
Very nice!

The graphical (style) of the background reminds me of "Skill Grid".
Clydos is offline  
Old 21 August 2019, 16:11   #17
Havie
Registered User
 
Join Date: Mar 2012
Location: UK
Posts: 406
Looking good!
Havie is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
"Voices8" 8 Channel Soundtracker "DemoSongI" song - "This is the Amiga with 8 Voices" DemosongIHunter request.Music 40 13 April 2017 05:06
Can't get "Blast Squad" to run earok support.Games 4 23 February 2015 22:10
HELP NEEDED! New "Amiga-daptor" project to support Analogue controllers! SunChild support.Hardware 10 03 November 2013 07:51
"Reminder "Lincs Amiga User Group aka "LAG" Meet Sat 5th of January 2013" rockape News 4 30 January 2013 00:06
Scanned reviews of "Drop It" & "Project Ikarus" Tim Janssen HOL contributions 1 15 May 2003 09:55

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:23.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.10742 seconds with 15 queries