OSDM Demo Tutorial – Making of ‘Oh Xee A Moron Demo’
OSDM Demo Tutorial – Making of ‘Oh Xee A Moron Demo’
Hi Folks,
Here is another Oldskool Demomaker Demo Tutorial of my popular production “Oh Xee A Moron, Part 1“.
You can download the final Windows Executable here (Roy-Demo-Oh_Xee_A_Moron.zip)
Also, all elements, such as 3D Objects, Images, Fonts and the Preference .INI Configuration file are also available for download here (OhXeeAMoron.zip)
Watch Video Capture
To get an idea how the final product looks like, without touching OSDM or downloading anything, watch the video capture that I created below.
[vimeo:http://www.vimeo.com/13534545]
Backup Links to Vimeo and YouTube, as well as additional download options (e.G. a Full Screen Version of the Demo) are available at my official demo release page.
OSDM Settings Screen-By-Screen
General
|
|
Export: Default Export, Enabled Effects :
|
Display
|
|
|
Stars Effect
|
|
|
Copper FX (Plasma)
|
|
|
Export Settings
|
|
|
3D Direct
|
|
|

3D Vector
|
|
|
The Objects
| ID=0 (Face) | ID=1 (Skull) | ID=2 (Hand) | ID=3 (Twisty) |
![]() |
|||
| ID=4 (RoySAC Logo) | |||
![]() |
|||
Create Multi-VOBJ Tool |
Included in the package with all the elements of the demo is already the multi-vector object file (.mVOBJ). But for illustration purposes, I also included the 5 individual (and uncompressed) vector objects (.VOBJ). To the left is a screen shot of the OSDM build-in tool to merge and compress the objects. |
3D Ball
|
|
|
||||||||||||||||||||
Amiga Text
|
|
|
Page Text
|
|
|
Logo
|
|
|

Background
|
|
|

Sprites
Initial Sprites Settings
| # | Name | X/Y-Pos | Ang | Eff | Speed | Alpha | Zoom | Anim | Frms | Delay | Start | Num |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | faceeyesopen2_B9.png | 320/240 | Off | – | – | 100 | 100 | True | 9 | 80 | Off | Off |
| 1 | Smoke30b_16c_B23.jpg | 320/240 | Off | – | – | 30 | 710 | True | 23 | 35 | Off | Off |
| 2 | roysacpresents.png | 320/240 | 13 | 1-Rotate_Left | 1 | 100 | 45 | False | – | – | – | – |
| 3 | ANewDemoCalled-Skulls.png | 320/240 | Off | – | – | 100 | 100 | False | – | – | – | – |
| 4 | OhXeeAMoron.png | 320/240 | 340 | 2-Rotate_Right | 1 | 100 | 100 | False | – | – | – | – |
| 5 | visitroysaccom.png | 320/240 | Off | – | – | 1 | 100 | False | – | – | – | – |
| 6 | fuckingvisit.png | 320/240 | 320 | 2-Rotate_Right | 1 | 100 | 100 | False | – | – | – | – |
| 7 | RadialGradientBG.png | 320/240 | Off | – | – | 100 | 100 | False | – | – | – | – |
| 0 – faceeyesopen2_B9.png | 6 – fuckingvisit.png |
|
|
|
| 1 – Smoke30b_16c_B23.jpg | 7 – RadialGradientBG.png |
|
|
|
| 2 – roysacpresents.png | 3 – ANewDemoCalled-Skulls.png |
|
|
|
| 4 – OhXeeAMoron.png | 5 – visitroysaccom.png |
|
|
|
Mask
|
|
Mask Effect: Scratch TV Crumble, Alpha: 70 |
Fonts
|
|
Font 32 Pixelsize: Charset-DNS_Velvenda Cooler Font.png
|
Music
|
|
File: grijalbo by estrayak-modified.mod, Track: 1 |
Script
|
|
Make sure that “include Script! [sort effects by Storyboard only]” is Checked See Script Code below |
Storyboard
|
|
Only Enabled Effects are listed. Initial Effects Order
|
The Script Code
[code]
@INIT3D
LEA = 3DVECTOR
IDN = /0 : BFX = /1 : MVX = -600 : MVY = -400
; MVX = 40 : MVY = -100
MVZ = 500
MAX = 0 : MAY = 0 : MAZ = 0
MRX = 0 : MRY = 0 : MRZ = 0
CPX = 0 : CPY = 0
@END
@INI3DBA
LEA = 3DBALL
; IDN = /0
BFX = /1 : MVX = -500 : MVY = -200
; MVX = 0 : MVY = 0
MVZ = 500
@END
FPS = 60
CAL = MUSIC
JSR = 1
JSR = 10
JSR = 20
JSR = 30
JSR = 40
JSR = 50
JSR = 60
CAL = SPRITE : LEA = SPRITE
IDN = 5 : MVA = 255
CAL = DISPLAY
NOP = 1
REP = 99 : ADV = -1 : LOP
NOP = 1
ESC : END
;———–
LAB = 1
CAL = SPRITE : LEA = SPRITE
IDN = 0 : MVA = 0
IDL = 3DVECTOR
IDN = 2 : MVA = 0
IDN = 3 : MVA = 0
IDN = 4 : MVA = 0
IDN = 5 : MVA = 0
IDN = 6 : MVA = 0
IDN = 7 : MVA = 0
STP = SPRITE
RTS
;—————
LAB = 10
CAL = SPRITE+3DVECTOR
@INIT3D = 0,2
ADX = -50 : ADY = 75 : ADZ = 1000
REP = 135 : ADZ = -10 : LOP
MRY = 6
LEA = SPRITE : IDN = 1
REP = 100 : ADH = 2 : LOP
LEA = 3DVECTOR : IDN = 0
NOP = 1 : MRY = -6
NOP = 4 : MRY = 6
LEA = SPRITE : IDN = 1
REP = 75 : ADY = -1 : ADH = -1 : ADW = -1 : LOP
LEA = 3DVECTOR : IDN = 0
NOP = 1 : MRY = 0
LEA = SPRITE : IDN = 1
REP = 54 : ADA = -4 : LOP
MVA = 0
IDL = 3DVECTOR : IDN = 0
ADX = -15 : ADY = -50 : MVA = 255
NOP = 2
LEA = SPRITE : IDN = 0 : MVA = 0
LEA = 3DVECTOR : IDN = 0
REP = 50 : ADZ = 80 : ADY = 2 : LOP
RGB = $F00 :CLS = 2
STP = 3DVECTOR+SPRITE
RTS
;—————
LAB = 20
CAL = 3DVECTOR
@INIT3D = 1,1
ADZ = 600 : MAX = 90 : MAY = -70 : ADY = 120
REP = 50 : ADZ = -12 : ADY = -2 : LOP
MRY = 3
CAL = MASK : NOP = 3 : STP = MASK
NOP = 3 : MRY = -3
REP = 50 : ADX = -2 : ADZ = -1 : LOP
CAL = MASK
REP = 300 : ADX = 1 : ADZ = 3 : LOP
BFX = 4
STP = MASK
REP = 100 : ADX = -1 : ADZ = -4 : LOP
CAL = SPRITE : LEA = SPRITE : IDN = 2
ADZ = 30 : ADY = 100
REP = 54 : ADA = 4 : LOP
MVA = 255
CAL = MASK : NOP = 1
LEA = 3DVECTOR : IDN = 1
MRY = 3
REP = 75 : ADZ = -5 : LOP
STP = MASK
LEA = SPRITE
REP = 54
IDN = 2 : ADA = -4
IDN = 3 : ADA = 4
LOP
IDN = 2 : MVA = 0
IDN = 3 : MVA = 255
NOP = 2
CAL = MASK : NOP = 2
LEA = 3DVECTOR : IDN = 1
MRY = -3
REP = 100 : ADZ = 20 : ADX = -1 : LOP
STP = MASK : LEA = SPRITE
REP = 54
IDN = 3 : ADA = -4
IDN = 4 : ADA = 4
LOP
IDN = 3 : MVA = 0
IDN = 4 : MVA = 255
NOP = 1
CAL = MASK : NOP = 1
LEA = 3DVECTOR : IDN = 1
REP = 50 : ADZ = 20 : LOP
STP = MASK
LEA = SPRITE : IDN = 4
REP = 54 : ADA = -4 : LOP
MVA = 0 : CLS = 2
RTS
;——————–
LAB = 30
CAL = 3DDIRECT
@INIT3D = 2,2
ADZ = 5900 : ADY = -400
AAY = 90 : AAX = 10 : AAZ = 20
MRY = -6 : MRX = 6 : MRZ = 8
REP = 100
AAX = 1 : ADZ = -20 : ADY = 4 : AAX = -1
LOP
REP = 100
ADZ = -20 : ADY = 2 : AAX = -1
LOP
REP = 100
ADZ = -10 : ADY = 1 : AAX = 1
LOP
NOP = 1
REP = 100
ADZ = 10 : ADY = -1
LOP
NOP = 5
REP = 300 : ADY = -4 : LOP
RGB = $100
STP = 3DVECTOR
LEA = SPRITE : IDN = 4 : MVA = 0
STP = SPRITE
RTS
;—————-
LAB = 40
CAL = BACK
LEA = 3DDIRECT
REP = 150 : ADZ = -8 : LOP
STP = 3DDIRECT : NOP = 1
CLS = 3
CAL = 3DVECTOR
@INIT3D = 3,4
ADZ = 500 : ADX = 100 : MRY = 30
CPH = 320 : CPY = 20
CAL = AMIGATEXT
LEA = 3DVECTOR : IDN = 3
REP = 1500 : ADY = -3 : LOP
REP = 200 : ADX = 3 : LOP
STP = 3DVECTOR+DISPLAY
NOP = 1
STP = AMIGATEXT+BACK
RTS
;—————–
LAB = 50
CAL = PLASMA+3DBALL
@INI3DBA = 0,2
MRX = 15 : MRY = 15 : MRZ = 15
ADZ = 500 : ADX = -400
CAL = DISPLAY+PAGE
REP = 200 : ADX = 2 : LOP
REP = 125 : ADZ = 1 : LOP
CAL = MASK : BFX = 1
REP = 125 : ADZ = 1 : LOP
STP = MASK : BFX = 2
REP = 250 : ADZ = 1 : LOP
CAL = MASK : BFX = 3
REP = 150 : ADZ = -1 : LOP
STP = MASK : BFX = 4
REP = 150 : ADZ = -1 : LOP
REP = 150 : ADZ = -1 : LOP
CAL = MASK : BFX = 1
REP = 150 : ADZ = -1 : LOP
STP = MASK : BFX = 4
REP = 100 : ADX = 2 : LOP
STP = DISPLAY : NOP = 1
STP = PAGE+3DBALL+PLASMA
RTS
;—————–
LAB = 60
CAL = STARS+PLASMA+SPRITE
LEA = SPRITE
IDN = 6 : MVA = 0
IDN = 1
IDL = 3DVECTOR
MVA = 30 : ADZ = 100 : ADS = -100
SFX = 2 : BFX = 2
CAL = 3DVECTOR
@INIT3D = 4,4
ADX = -50 : ADZ = 4400
CAL = DISPLAY+MASK
LEA = MASK
IDL = 3DVECTOR : LEA = 3DVECTOR : IDN = 4
REP = 180
AAX = 2 : ADZ = -10
IFR > 8 : ADY = 1
LOP
AAX = -360
STP = MASK
REP = 184
AAX = 2 : ADZ = -10
IFR > 8 : ADY = 1
LOP
MRX = 0 : MRY = 25 : BFX = 4
CAL = LOGO
LEA = 3DVECTOR : IDN = 4
IDL = SPRITE
REP = 100 : ADY = -1 : LOP
LEA = LOGO
REP = 50
LEA = LOGO
ADY = 1 : ADH = -1
LEA = SPRITE
IDN = 1 : ADZ = 5 : ADA = -1
LOP
LEA = SPRITE : IDN = 1 : MVA = 0
LEA = LOGO
IDL = 3DVECTOR
LEA = SPRITE : IDN = 6 : MVX = 200 : MVY = 150
REP = 54
ADA = 4 : ADZ = -1 : ADY = -1 : ADX = -1
LOP
IDL = TRAINER : IDN = 7
REP = 50 : ADA = 2 : LOP
NOP = 4
LEA = SPRITE : IDN = 6
REP = 40 : ADX = -2 : LOP
REP = 100 : ADX = 2 : ADA = 2 : LOP
REP = 100 : ADX = 2 : ADA = -2 : LOP
MVA = 0
CAL = MASK : LEA = LOGO
REP = 50 : ADX = -2 : ADY = -1 : LOP
STP = MASK
REP = 200 : ADX = 2 : LOP
CAL = MASK
REP = 100 : ADX = -2 : LOP
STP = MASK
REP = 125 : AAX = 1 : ADH = -2 : ADW = 2 : ADA = -2 : ADY = 2
LOP
STP = LOGO
LEA = 3DVECTOR : IDN = 4
REP = 200 : ADY = 2 : LOP
STP = 3DVECTOR+DISPLAY
NOP = 1
STP = STARS
LEA = SPRITE : IDN = 7 : MVA = 0
RTS
[/code]
Related Posts
- OSDM Demo Tutorial ??? New World Order
- OSDM ??? Oldskool Demomaker ??? Scripting Tips and Tricks 1
- Animations for OSDM ??? Oldskool Demomaker (Tutorial)
Finalizing
For all of my OSDM productions, tools by me and others, Oldskool Demomaker resources and communities, check out the OSDM Section of my web site.
Enjoy!
Cheers!
Carsten aka Roy/SAC
Posted on: Monday, September 8th, 2014 14:52



























Permanent URL of this post:
https://www.roysac.com/blog/2014/09/osdm-demo-tutorial-making-of-oh-xee-a-moron-demo/
Add to Browser Favorites
Links to this post on:
You can also trackback from your own site.