Page 3 of 4

Posted: Fri Nov 03, 2006 3:44 am
by MusicallyInspired
I've gone ahead and got some brand new forums just for the KQ2SCI website so it's not on my music website forums anymore! Update your bookmarks!

http://users.boardnation.com/~musicallyinspired

Also, stay tuned for a preview of the next new background scene! I've started working on it today and it's about 25% complete.

Posted: Sun Nov 12, 2006 9:30 pm
by MusicallyInspired
There are a couple brand new backgrounds over at the KQ2SCI site. Run on over and check it out if you're interested!

Posted: Thu Nov 16, 2006 12:36 pm
by MusicallyInspired
This one is pretty much complete now. Just gotta add a couple more things, but otherwise this is done.

Image

Posted: Mon Nov 27, 2006 2:38 pm
by MusicallyInspired
I've got my first heckler! :D

http://users.boardnation.com/~musically ... hreadid=12

Now I KNOW this will go far! He even mentions Muzlack in the role call of people with "no lives".

Posted: Mon Nov 27, 2006 6:17 pm
by Kurdt
Okay, I've done my part to make myself feel better. We can all go back to life as normal, heheh.

Posted: Mon Nov 27, 2006 7:45 pm
by MusicallyInspired
Was a good reply, too, Kurdt :).

Posted: Mon Nov 27, 2006 9:35 pm
by Erpy
I still believe the best way to deal with hecklers is to just silence them completely. Most of these types of people are attention junks and like to post crap to get just that. Flaming back means he's getting the attention he's failing to get through other means. Immediately deleting such a topic tends to piss them off more than any comeback, since it means he truly wasted time collecting bait.

Image

Posted: Mon Nov 27, 2006 11:29 pm
by Kurdt
Yeah, but sometimes it's funny to watch the troll skulk around. I think it's funny sometimes, at least.

Posted: Fri Jun 08, 2007 3:40 am
by MusicallyInspired
Here's a little demo of my project so far. It's just of the title screen. Any button you push will just quit the game. But it took forever to get this exactly like KQ1SCI's menu. See if you can spot any differences! (Other than what the buttons do, of course)

http://brandonblume.commerceculture.co. ... 2title.zip

EDIT: Just to give you guys an idea of what all goes into scripting in SCI, here's the source script from the title screen for those who are curious as to how SCI works:

Code: Select all

(include "sci.sh")
(include "game.sh")
(include "keys.sh")
/******************************************************************************/
(script TITLESCREEN_SCRIPT)
/******************************************************************************/
(use "main")
(use "game")
(use "menubar")
(use "obj")
(use "cycle")
(use "user")
(use "controls")
(use "feature")

(local

    title1 = 0
	title2 = 0
	sIntro = 1
	sBegin = 0
	sCred = 0
	sCont = 0
	sMenuStart = 0
)
/******************************************************************************/
(instance public TitleScreen of Rm
	(properties
		picture scriptNumber
	)
	(method (init)
        // Set up the title screen
		ProgramControl()
		= gProgramControl FALSE
		(send gGame:setSpeed(1))
		(SL:disable())
		(TheMenuBar:hide())

		(super:init())
		(self:setScript(RoomScript))

		(send gEgo:init()hide())
		(send gTheMusic:prevSignal(0)stop()number(1)loop(-1)play())
	)
)
/******************************************************************************/
(instance RoomScript of Script
	(properties)

	(method (changeState newState)
        = state newState
	  	(switch(state)
            (case 0 = cycles 1
            )(case 1 = seconds 10
                (send gGame:setCursor(999 0))
                (theRomance:init())
                (theThrone:init())
                = title1 Display( "SCI Pre-Alpha Version 1.0"
                    dsCOORD 98 170
                    dsCOLOUR clMAROON
                    dsBACKGROUND clTRANSPARENT
                    dsFONT 4
                    dsSAVEPIXELS
                )
                = title2 Display(	"By: Brandon Blume"
                    dsFONT 4
                    dsCOORD 115 180
                    dsCOLOUR clMAROON
                    dsBACKGROUND clTRANSPARENT
                    dsSAVEPIXELS
                )
                (theSpark1:init()setCycle(Fwd))
       	        (theSpark2:init()setCycle(Fwd))
                (theSpark3:init()setCycle(Fwd))
                (theSpark4:init()setCycle(Fwd))
                (theSpark5:init()setCycle(Fwd))
                (theSpark6:init()setCycle(Fwd))
                (theSpark7:init()setCycle(Fwd))
                (theSpark8:init()setCycle(Fwd))
            )(case 2 = seconds 2
                (theRomance:dispose())
                (theThrone:dispose())
                = title1 Display( "" dsRESTOREPIXELS title1)
                = title2 Display( "" dsRESTOREPIXELS title2)
    	    )(case 3
                (send gGame:setCursor(999 1))
                = sMenuStart 1
            
                (buttonIntro:init()loop(1)setScript(pressIntro))
                (buttonBegin:init()loop(2)setScript(pressBegin))
                (buttonCred:init()loop(3)setScript(pressCred))
                (buttonCont:init()loop(4)setScript(pressCont))
                (if (sIntro)
                	(buttonSelect:init()loop(5)x(58)y(146))
				)(else
					(if (sBegin)
						(buttonSelect:init()loop(5)x(161)y(146))
					)(else
						(if (sCred)
							(buttonSelect:init()loop(5)x(58)y(165))
						)(else
							(if (sCont)
								(buttonSelect:init()loop(5)x(161)y(165))
							)
						 )
					 )
				 )
			 )
        )
	)

	(method (handleEvent pEvent)
        (super:handleEvent(pEvent))
        (if (==(send pEvent:type)evKEYBOARD)
           	(if(==(send pEvent:message)KEY_RETURN)
           		(if(sMenuStart)
           			(if(sBegin)
               	   		(send gTheMusic:fade())
               			(send gRoom:newRoom(INITROOMS_SCRIPT))
               		)(else
		                (if(sCont)
    	                   	(send gGame:restore())
                   		)(else
		                   	(if(sIntro)
    	                   		= gIntro 1
                           		(send gTheMusic:fade())
           	               		(send gRoom:newRoom(INITROOMS_SCRIPT))
               	       		)(else
	                   	       	(if(sCred)
                               		= gCred 1
                       	    		(send gTheMusic:fade())
                           			(send gRoom:newRoom(INITROOMS_SCRIPT))
								)
							 )
						 )
					 )
				)(else
					(RoomScript:cue())
					(RoomScript:cue())
				 )				 
			)
		)
		(if(==(send pEvent:type) evJOYSTICK)
            (if(==(send pEvent:message) 1)  // UP
                selectorCheckUp()
            )
        )
        (if(==(send pEvent:type) evJOYSTICK)
            (if(==(send pEvent:message) 5)  // Down
                selectorCheckDown()
            )
        )		
        (if(==(send pEvent:type) evJOYSTICK)
            (if(==(send pEvent:message) 7)  // Left
                selectorCheckLeft()
            )
        )
        (if(==(send pEvent:type) evJOYSTICK)
            (if(==(send pEvent:message) 3)  // Right
                selectorCheckRight()
            )
        )        
		(if(==(send pEvent:type())evMOUSEBUTTON)
            (if(sMenuStart)
                (if((> (send pEvent:x) (buttonBegin:nsLeft))and
                    (< (send pEvent:x) (buttonBegin:nsRight))and
                    (> (send pEvent:y) (buttonBegin:nsTop))and
                    (< (send pEvent:y) (buttonBegin:nsBottom)))
                    (if(sBegin)
                    	selectorZero()
                    	= sBegin 1
                        (send gTheMusic:fade())
                        (send gRoom:newRoom(INITROOMS_SCRIPT))
                    )(else
						(pressBegin:changeState(2))
                	)

        	    )(else
                    (if((> (send pEvent:x) (buttonCont:nsLeft))and
                        (< (send pEvent:x) (buttonCont:nsRight))and
                	    (> (send pEvent:y) (buttonCont:nsTop))and
                	    (< (send pEvent:y) (buttonCont:nsBottom)))
                	    (if(sCont)
                	    	selectorZero()
                	    	= sCont 1
                    	    (send gGame:restore())
                	    )(else
                            (pressCont:changeState(2))
                	    )
            	    )(else
                        (if((> (send pEvent:x) (buttonCred:nsLeft))and
                            (< (send pEvent:x) (buttonCred:nsRight))and
                            (> (send pEvent:y) (buttonCred:nsTop))and
                            (< (send pEvent:y) (buttonCred:nsBottom)))
                            (if(sCred)
                            	selectorZero()
                                = gCred 1
                        	   (send gTheMusic:fade())
                        	   (send gRoom:newRoom(INITROOMS_SCRIPT))
                    	    )(else
                        	    (pressCred:changeState(2))
                    	    )
                	    )(else
                            (if((> (send pEvent:x) (buttonIntro:nsLeft))and
                                (< (send pEvent:x) (buttonIntro:nsRight))and
                                (> (send pEvent:y) (buttonIntro:nsTop))and
                        	    (< (send pEvent:y) (buttonIntro:nsBottom)))
                        	    (if(sIntro)
                        	    	selectorZero()
                                    = gIntro 1
                            	    (send gTheMusic:fade())
                            	    (send gRoom:newRoom(INITROOMS_SCRIPT))
                        	    )(else
                            	    (pressIntro:changeState(2))
				                )
                            )
                        )
                    )
				)
			)(else
                (RoomScript:cue())
                (RoomScript:cue())
            )
        )
	)
)
/******************************************************************************/

/**********Menu Selector Procedures*************/

//Menu select UP
(procedure (selectorCheckUp)
    (if(sBegin)
        selectorZero()
        = sCred 1
        (buttonSelect:posn(58 165))
    )(else
        (if(sCont)
            selectorZero()
            = sBegin 1
            (buttonSelect:posn(161 146))
        )(else
            (if(sCred)
                selectorZero()
                = sIntro 1
                (buttonSelect:posn(58 146))
            )(else
                (if(sIntro)
                    selectorZero()
                    =sCont 1
                    (buttonSelect:posn(161 165))
                )
            )
        )
    )
)
//Menu select DOWN
(procedure (selectorCheckDown)
    (if(sBegin)
        selectorZero()
        = sCont 1
        (buttonSelect:posn(161 165))
    )(else
        (if(sCont)
            selectorZero()
            = sIntro 1
            (buttonSelect:posn(58 146))
        )(else
            (if(sCred)
                selectorZero()
                = sBegin 1
                (buttonSelect:posn(161 146))
            )(else
                (if(sIntro)
                    selectorZero()
                    = sCred 1
                    (buttonSelect:posn(58 165))
                )
            )
        )
    )
)
//Menu select LEFT
(procedure (selectorCheckLeft)
    (if(sBegin)
        selectorZero()
        = sIntro 1
        (buttonSelect:posn(58 146))
    )(else
        (if(sCont)
            selectorZero()
            = sCred 1
            (buttonSelect:posn(58 165))
        )(else
            (if(sCred)
                selectorZero()
                = sBegin 1
                (buttonSelect:posn(161 146))
            )(else
                (if(sIntro)
                    selectorZero()
                    = sCont 1
                    (buttonSelect:posn(161 165))
                )
            )
        )
    )
)
//Menu select RIGHT
(procedure (selectorCheckRight)
    (if(sBegin)
        selectorZero()
        = sCred 1
        (buttonSelect:posn(58 165))
    )(else
        (if(sCont)
            selectorZero()
            = sIntro 1
            (buttonSelect:posn(58 146))
        )(else
            (if(sCred)
                selectorZero()
                = sCont 1
                (buttonSelect:posn(161 165))
            )(else
                (if(sIntro)
                    selectorZero()
                    = sBegin 1
                    (buttonSelect:posn(161 146))
                )
            )
        )
    )
)
//Reset all menu buttons (for use when enabling a buttons variable)
(procedure (selectorZero)
	= sBegin 0
	= sCont 0
	= sCred 0
	= sIntro 0
)

/*************Mouse click on new button instances**************/
/************when selector is not currently on them************/

//Mouse click on Begin Game button
(instance pressBegin of Script
    (properties)
    (method (changeState newState)
        = state newState
        (switch (state)
            (case 2 = cycles 1
                  selectorZero()
                  = sBegin 1
				  (buttonSelect:posn(161 146))
			)
            (case 3
                  (send gTheMusic:fade())
                  (send gRoom:newRoom(INITROOMS_SCRIPT))
			)
		)
	)
)
//Mouse click on Introduction button
(instance pressIntro of Script
    (properties)
    (method (changeState newState)
        = state newState
        (switch (state)
            (case 2 = cycles 1
				selectorZero()
				= sIntro 1
				(buttonSelect:posn(58 146))
			)
            (case 3
            	(send gTheMusic:fade())
            	(send gRoom:newRoom(INITROOMS_SCRIPT))
			)
		)
	)
)
//Mouse click on Credits button
(instance pressCred of Script
    (properties)
    (method (changeState newState)
        = state newState
        (switch (state)
            (case 2 = cycles 1
				selectorZero()
				= sCred 1
				(buttonSelect:posn(58 165))
			)
            (case 3
                  (send gTheMusic:fade())
                  (send gRoom:newRoom(INITROOMS_SCRIPT))
			)
		)
	)
)
//Mouse click on Continue Game button
(instance pressCont of Script
    (properties)
    (method (changeState newState)
        = state newState
        (switch (state)
            (case 2 = cycles 3
				selectorZero()
				= sCont 1
				(buttonSelect:posn(161 165))
			)
            (case 3
				(send gGame:restore())
			)
		)
	)
)

/***********Prop Instances***********/
(instance theRomance of Prop
    (properties
        x 86
        y 163
        view 913
        cel 0
    )
)
(instance theThrone of Prop
    (properties
        x 236
        y 159
        view 913
        cel 1
    )
)
(instance theSpark1 of Prop
    (properties
        x 61
        y 27
        view 950
        cycleSpeed 10
    )
)
(instance theSpark2 of Prop
    (properties
        x 97
        y 59
        view 950
        cycleSpeed 11
        cel 2
    )
)
(instance theSpark3 of Prop
    (properties
        x 130
        y 21
        view 950
        cycleSpeed 12
        cel 4
    )
)
(instance theSpark4 of Prop
    (properties
        x 182
        y 21
        view 950
        cycleSpeed 11
    )
)
(instance theSpark5 of Prop
    (properties
        x 208
        y 54
        view 950
        cycleSpeed 9
        cel 1
    )
)
(instance theSpark6 of Prop
    (properties
        x 264
        y 32
        view 950
        cycleSpeed 12
    )
)
(instance theSpark7 of Prop
    (properties
        x 143
        y 89
        view 950
        cycleSpeed 8
        cel 3
    )
)
(instance theSpark8 of Prop
    (properties
        x 174
        y 117
        view 950
        cycleSpeed 10
    )
)
(instance buttonIntro of Prop
    (properties
        x 58
        y 146
        view 950
    )
)
(instance buttonBegin of Prop
    (properties
        x 161
        y 146
        view 950
    )
)
(instance buttonCred of Prop
    (properties
        x 58
        y 165
        view 950
    )
)
(instance buttonCont of Prop
    (properties
        x 161
        y 165
        view 950
    )
)
(instance buttonSelect of Prop
    (properties
//      x 58
//      y 146
        view 950
    )
)

Posted: Sat Jun 09, 2007 1:15 am
by Schloss Ritter
And that's partly why programming went from individuals to teams with the move from AGI to SCI, all the extra details.

Posted: Sat Jun 09, 2007 1:45 am
by navynuke04
Yipes! If I ever make a game, I might ask you to be on the programming team! :)

Posted: Mon Jun 11, 2007 6:19 pm
by Lambonius
Aww...what a tease!  Title screen looks great though.  I truly hope that this little project makes it to completion.  Hopefully I'll still be around here when it does, too. :)  Keep of the good work, MI!

Posted: Tue Jun 12, 2007 1:56 pm
by Music Head
:) sweet. I sat there and listened to the music all the way through, wanted to get as much out of it as possible ;). I really hope this is seen through to completion too, those background pictures you've done look really good. Have you had a go at drawing sprites and such yet?

Schloss Ritter you should resize your avatar is wonkying up the column  :p .

Posted: Tue Jun 12, 2007 3:26 pm
by MusicallyInspired
I've made one sprite as of yet. The mailbox for Grandma's House. Still have to program it in, though. I'm gonna program most of it and do all the backgrounds, I think, before I do sprites. Or at least for a while, anyway. I'd welcome any help with sprites in the future, however.

Posted: Tue Jun 12, 2007 9:43 pm
by Schloss Ritter
Music Head wrote: Schloss Ritter you should resize your avatar is wonkying up the column  :p .
Better?  8o

Posted: Mon Nov 12, 2007 1:50 am
by MusicallyInspired
Here's a slightly big update for KQ2SCI. I've got a handful of more backgrounds and a couple gameplay movies recorded with DOSBox (though they are fairly large).

Take a gander:

Image Image
Image Image
Image Image
Image Image

And the videos. The gameplay video is a video of some of the things that have been programmed thus far so you can get a feel for how the game will look and act. The intro video is a video of the current introduction sequence, obviously, with just a couple KQ1SCI placeholder songs. No original music has been completed yet but all KQ1SCI themes (excluding the title screen fanfare. That will stay intact and a new title KQ2 theme will play after it) will be replaced with brand new music.

Gameplay Video (41.7 MB)

Introduction Video (15.7 MB)

Posted: Mon Nov 12, 2007 2:15 am
by greensenshi
I don't suppose you'd be willing to upload those videos to youtube?  I'd have to download software just to watch them, and I have enough crap on my comp as it is.  The screenshots look very nice though.

Posted: Mon Nov 12, 2007 2:20 am
by MusicallyInspired
Unforunately I haven't the time at the moment. But next time I'm at a place that has internet I'll transfer them to youtube.

Posted: Fri Nov 16, 2007 3:54 am
by Johnathon
This is all looking just excellent, Brandon. I wish you the very best, and hope sincerely that this great effort of yours will in fact become a complete new fangame someday. I personally look foreward to playing it. Glad to see more people around the place with a taste for the classic sci style.

Two thumbs way up!

Posted: Sat Nov 17, 2007 10:00 pm
by MusicallyInspired
Thanks for the words, Jonathan.

And I will be getting those videos on YouTube today. I'll post the links once they're up.

Posted: Sun Nov 18, 2007 11:08 pm
by MusicallyInspired
For those who don't have the codec to view these videos or don't want to bother downloading them, here are the youtube links.

Introduction

Gameplay Video

Posted: Mon Nov 19, 2007 2:38 am
by Lambonius
Those look really awesome so far!  The Kolyma screens in particular look especially good.  I would venture to say that many of your SCI screens look even BETTER than some of the actual Sierra games that use that style.  The shadowing in several of them and the reflections of the trees on the water in particular are done to really nice effect.  Keep up the great work!  I'd truly love to see this project one day completed.

Posted: Mon Nov 19, 2007 3:49 pm
by Johnathon
I especially think you've done a great job depicting the rocks below the water when entering the ocean. Gives the whole scene more life/realisticness.

Keep up the good quality. I can't wait to play this game.

And as a matter of fact, I never did get very far in Kq2 before moving onto other games. I'm feeling tempted not to try and beat any other version, until this one comes out. Make the first time experience worth it for me. :p

Posted: Mon Nov 19, 2007 4:07 pm
by MusicallyInspired
Ya, I really like those reflections as well. The only problem with them is that if they are to stay that way they have to all be animated or else it won't look good at all in-game. Just a static picture of wavy water that....isn't...moving. So that'll be a challenge. But I'm sure I'll get it all done.

I fully intend to make this game a worthy experience for any KQ player. I intent to make the soundtrack especially immersive.

Posted: Tue Nov 20, 2007 1:15 am
by Music Head
will you make Graham also reflect?