Scrolling Game Development Kit Forum

SGDK Version 2 => General Discussion => Topic started by: durnurd on 2007-03-29, 12:45:37 PM

Title: A sample project
Post by: durnurd on 2007-03-29, 12:45:37 PM
I've been working on this project for the past few days.  Just to see if SGDK really does what it set out to do in the beginning.  Answer?  Yes ;D

http://www.beardedchild.com/files/project.zip
Title: Re: A sample project
Post by: bluemonkmn on 2007-03-29, 05:48:43 PM
 :o ... my mouth is literally hanging open ... I can't believe you actually managed this without me even knowing about it ahead of time!  I suspected you were up to something with all the shortcomings in SGDK2 that you were finding and reporting, but I never would have guessed it was this.  What can I say?  You are the man! :)  How many more problems did you find and hide away to report later while working on this project and waiting for me to finish the documentation?  Did you find a lot of issues while working on this project?  Were there particularly difficult parts?  Is it hard to make new levels or are most of the rules set up so that adding new levels would be easy now?

So did I say at one point that it should be possible to recreate TechnoVenture using SGDK?  Or maybe TechnoVenture is just representative of an average home-brew platform game, and the goal is to make those do-able?  I'm so glad it lived up to that goal if that was "what I set out to do".  I don't even remember that.  This is remarkable considering I didn't even remember or think about this being a goal.

I mean how did you even... you got the beams and the recursive explosions and everything! Look at me, I'm giddy, and almost speechless!

Wow
Title: Re: A sample project
Post by: Jam0864 on 2007-03-29, 09:28:02 PM
WOW!  ;D  Nice work!  :)  This game is really good! So far I just opened the black lock inside the tunnel. I'll get farthur when I try again.
Title: Re: A sample project
Post by: durnurd on 2007-03-29, 10:21:01 PM
I can't take all the credit.  BlueMonkMN did make the graphics, most of the sound effects, the music, and the idea behind the game.  I just made it all work in SGDK2.  (Also, I did some reworking of the graphic sheet, so that there are fewer actual graphics, and I just reuse them, as that's what the framesets are meant for.)

Specifically, the beams and the recursive explosions were, in fact, the two hardest parts.  Thank goodness for custom objects for the beams, that's all I can say.

I just figured that, since SGDK1 was originally based on TechnoVenture, it should be possible to recreate it thus.  In SGDK1, I don't see an easy way of doing so, but as I looked through what SGDK2 had to offer, I became more and more aware that it seems like the perfect engine for just that kind of thing, just what SGDK1 was originally based off of.

Mostly, I have minor complaints, some of which I expanded on in my other thread just now.  Many of these are the need for more built-in functions to work with, which I know you're still working on.  The other big thing was dynamic sprites (10 bullets per level, 5 bombs, 10 explosions, 5 beam handlers, it gets annoying).

I downloaded the latest Alpha to finish the project, and I noticed that the Undo was still acting funny in the code editor.

A few other suggestions:  Add some tools in the map editor: Fill, Rectangle, Line.  (Specifically, for filling in large areas).
Make placing plans easier: Add an option to turn on grid-snapping to the tile size, and an option to draw straight lines.
Add  options to copy: rules within a plan or sprite, plans within a layer, plans between layers (and maps).
Add (optional) default values to sprite parameters so you don't have to remember to set them for each sprite you place.  Can this be extended to choosing default built-in parameters like Solidity, and initial DX/DY as well?

Along the lines of more functions to add: When displaying counters as numbers (i.e. in inventory), make it possible to choose the font, or something so that it can fit in a smaller box (i.e. 16px), or some other method of counter display.  I'm sure this is on its way eventually, but it's noticeable specifically when you have 100 fuel cells, it cuts off the right half of the second zero.

Also along these lines: A function to tell when the player lands down on a solid (i.e. so I could play a step sound effect).  I'm not sure what's wrong with it, but my code for figuring out when to play the step sound effect is kludgy and doesn't work well.  It looks like it's supposed to work, to me, but it sounds funny when I play the game.

Would it be possible to add code to either sprites or maps or plans that only runs once upon creation/activation, without having to use extra flags/parameters?  For things like initialization, it's odd to have to check each frame if it's initialized.  Why not just put the code in the (layer/map) constructor (for a layer/map/plan), or in a public bool isActive {set{}} scheme for a SpriteBase?

Oh, and one more:  Copying code objects.  (I had a lot of sound effects to import).  I know, I could just copy/paste, which is what I did, but it would be just that more convenient.
Title: Re: A sample project
Post by: Jam0864 on 2007-03-30, 03:29:24 AM
well kudos to both of you then!  ;D
Title: Re: A sample project
Post by: sam on 2007-03-30, 03:48:55 PM
...I can't unzip it for some reason...
It says, "File skipped unknown compression method."
Title: Re: A sample project
Post by: Jam0864 on 2007-03-30, 05:37:46 PM
That happened to me also. But I happened to have a second zip-program on my computer that unzipped it. It must have been a different type of zip. (rar, lzh, 7z.) If you want UltimateZip, (It will unzip all these and more.) go to http://www.gamehippo.com/free_util/ultimatezip.shtml (http://www.gamehippo.com/free_util/ultimatezip.shtml)
Title: Re: A sample project
Post by: sam on 2007-03-30, 06:37:06 PM
I downloaded the program...Wouldn't unzip. I got another error...
Title: Re: A sample project
Post by: Jam0864 on 2007-03-30, 07:37:29 PM
After installing UltimateZip, don't click extract all. That will just use your old program again. Instead click extract to... if you do that, it will use ultimatezip to extract and not your older program.
Title: Re: A sample project
Post by: sam on 2007-03-31, 08:30:25 AM
I know. I was using UltimateZip to extract and the error was from UltimateZip.
Title: Re: A sample project
Post by: bat on 2007-03-31, 04:23:42 PM
Hey Durnurd, what did you use to compress the file? I can't get either unzipper on my PC to unzip it right...
Title: Re: A sample project
Post by: bat on 2007-03-31, 04:32:51 PM
Maybe it has something to do with dial-up, Sam...
Title: Re: A sample project
Post by: sam on 2007-03-31, 04:46:26 PM
I'm on high speed now...Besides, can't you see I'm having the same problem as you.
Title: Re: A sample project
Post by: Jam0864 on 2007-03-31, 04:56:04 PM
Well it worked for me. I used ultimate zip and I was on dial-up at the time. (I got capped on my broadband connection) So I don't know why it won't work for you.  :(
Title: Re: A sample project
Post by: cbass on 2007-03-31, 06:35:59 PM
I tried to unzip it with winwip, winrar, ultimate zip, and windows xp unzipped.  None worked, finally 7zip worked.

Cool, I didn't know 2.0 was so far along, I always assumed it was years off.
Title: Re: A sample project
Post by: bluemonkmn on 2007-04-01, 08:34:33 AM
Strange, I wonder why that zip file is so particular.  But 7-zip really is a good program.  I think everyone should use it because it's open source and free and also supports better compressions (7z).
Title: Re: A sample project
Post by: durnurd on 2007-04-01, 10:39:01 AM
I used 7z to compress it, but I compressed it (or thought I did) using a regular ZIP compression.
Title: Re: A sample project
Post by: eric22222 on 2007-04-01, 10:49:23 AM
Not sure if this will bring me any closer to getting it to work, but here's what I'm getting when I go to Run Project (and also run with debug):

Code: [Select]
warning CS2002: Source file 'C:\Program Files\GameDev\project\project\Project.cs' specified multiple times
project\TestMap_Map.cs(123,14) : error CS1501: No overload for method 'ByteLayer' takes '11' arguments
project\TestMap_Map.cs(288,14) : error CS1501: No overload for method 'ByteLayer' takes '11' arguments
project\InventoryMap_Map.cs(139,14) : error CS1501: No overload for method 'ByteLayer' takes '11' arguments
project\fmodbase.cs(81,10) : warning CS0168: The variable 'ex' is declared but never used
Title: Re: A sample project
Post by: Jam0864 on 2007-04-01, 06:08:53 PM
Do you have alpha 3? That could fix it.
Title: Re: A sample project
Post by: eric22222 on 2007-04-01, 09:12:59 PM
O_O
It works! GameDev2 is alive! It's ALIVE!!!

Guess I've been out of the loop for a while, not keeping up with all these updates. Nonetheless, time to see what this baby can do! And then... get back to work on the game I've been working on for the past 9 months...
^_^;

Don't worry, we're still working on it!
Title: Re: A sample project
Post by: Mic on 2007-05-24, 12:19:40 PM
Do I need to download all Alpha builds and install in order? I only have Alpha4 and here is the errror I am getting:
Code: [Select]
project\TestMap_Map.cs(116,17) : error CS0534: 'TestMap_Map.BackgroundLayer_Lyr' does not implement inherited abstract member 'LayerBase.InjectSprites()'
project\TestMap_Map.cs(187,17) : error CS0534: 'TestMap_Map.Foreground_Layer_Lyr' does not implement inherited abstract member 'LayerBase.InjectSprites()'
project\InventoryMap_Map.cs(100,17) : error CS0534: 'InventoryMap_Map.InventoryLayer_Lyr' does not implement inherited abstract member 'LayerBase.InjectSprites()'
project\Sprites\Beam_Handler.cs(62,28) : error CS0115: 'Sprites.Beam_Handler.RemoveFromCategories()': no suitable method found to override
project\Sprites\Blob.cs(62,28) : error CS0115: 'Sprites.Blob.RemoveFromCategories()': no suitable method found to override
project\Sprites\Bomb.cs(58,28) : error CS0115: 'Sprites.Bomb.RemoveFromCategories()': no suitable method found to override
project\Sprites\Explosion.cs(70,28) : error CS0115: 'Sprites.Explosion.RemoveFromCategories()': no suitable method found to override
project\Sprites\Eyeball.cs(59,28) : error CS0115: 'Sprites.Eyeball.RemoveFromCategories()': no suitable method found to override
project\Sprites\Gunshot.cs(62,28) : error CS0115: 'Sprites.Gunshot.RemoveFromCategories()': no suitable method found to override
project\Sprites\MetalMan.cs(98,28) : error CS0115: 'Sprites.MetalMan.RemoveFromCategories()': no suitable method found to override
project\Sprites\Plasma_Ball.cs(66,28) : error CS0115: 'Sprites.Plasma_Ball.RemoveFromCategories()': no suitable method found to override
project\Sprites\Platform.cs(70,28) : error CS0115: 'Sprites.Platform.RemoveFromCategories()': no suitable method found to override
project\Sprites\Speed_Demon.cs(58,28) : error CS0115: 'Sprites.Speed_Demon.RemoveFromCategories()': no suitable method found to override
Title: Re: A sample project
Post by: durnurd on 2007-05-24, 05:42:15 PM
No, they're not updates, they are full builds in themselves.  I'm not sure what version the project here requires.  I'm pretty sure the latest version of the project will run on the latest alpha.  Here's the link:

http://www.findmyed.com/files/TVSGDK2.zip
Title: Re: A sample project
Post by: egofree on 2007-07-29, 05:37:45 AM
No, they're not updates, they are full builds in themselves.  I'm not sure what version the project here requires.  I'm pretty sure the latest version of the project will run on the latest alpha.  Here's the link:

http://www.findmyed.com/files/TVSGDK2.zip

I have a 'file not found' error. Can you give again a new link? Your project seems to be very interesting. The first version of the project doesn't seem to work with the current alpha version.
If durnud is not reading the forum, can someone else upload the project and give a new link?. Thanks.
Title: Re: A sample project
Post by: SmartBoy16 on 2007-07-30, 01:45:44 PM
From what i'm hearing it's sound great. only problem is though is my computer is outdated and my graphics dirver doesn't support SGDK2. so any games that are from there won't work on my computer. :'(
Title: Re: A sample project
Post by: bluemonkmn on 2007-07-31, 05:32:07 AM
From what i'm hearing it's sound great. only problem is though is my computer is outdated and my graphics dirver doesn't support SGDK2. so any games that are from there won't work on my computer. :'(

What does the actual error message say?
Title: Re: A sample project
Post by: SmartBoy16 on 2007-07-31, 12:07:25 PM
I get alot when i use the program. (attatchments below)

The first one comes up when i open SGDK2, the second one appears if i don't click anything.
if i click continue on the first one it opens normally. the third one appears when i try to use the map editor and the last one appears when i run a program made using SGDK2.

the same message also appears:

Code: [Select]
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.EntryPointNotFoundException: Unable to find an entry point named UpdateLayeredWindow in DLL user32.dll.
   at SGDK2.frmSplashForm.UpdateLayeredWindow(IntPtr hwnd, IntPtr hdcDst, Point& ptTopLeft, Size& pSize, IntPtr hdcSrc, Point& ptSrcRef, Int32 crKey, BLENDFUNCTION& pblend, Int32 dwFlags)
   at SGDK2.frmSplashForm.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.573
    CodeBase: file:///c:/win98/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
SGDK2IDE
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.0
    CodeBase: file:///C:/PROGRAM%20FILES/SGDK2/SGDK2IDE.EXE
----------------------------------------
System.Windows.Forms
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.573
    CodeBase: file:///c:/win98/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.573
    CodeBase: file:///c:/win98/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.573
    CodeBase: file:///c:/win98/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.


Title: Re: A sample project
Post by: durnurd on 2007-07-31, 12:31:42 PM
It looks like you're using Windows Vista there.  I don't know if that makes any difference.  Also, what version of DirectX do you have installed?  To find out, Press the windows key+R, type dxdiag in the box, and press enter (I hope this works in Vista).  Near the bottom of the dialog box, it says (or should say): "DirectX Version:" followed by the version you have installed.
Title: Re: A sample project
Post by: bluemonkmn on 2007-07-31, 05:01:39 PM
SGDK2 has been tested with Windows XP and DirectX 9, but not with Vista nor DirectX 10, I think.
Title: Re: A sample project
Post by: Jam0864 on 2007-08-01, 02:23:52 AM
it works for me with Direct x10 so i dunno if that's considered tested, as its only 1 person, but it works for me.
Title: Re: A sample project
Post by: bluemonkmn on 2007-08-01, 06:10:05 AM
And correct me if I'm wrong, but the fact that you have DirectX 10 also means you have Vista, right?
Title: Re: A sample project
Post by: SmartBoy16 on 2007-08-01, 06:11:16 PM
It's not vista. :o I'm using Windows 98 SE with Revolutions Pack 7 to simulate a "vista" enviroment.

http://www.majorgeeks.com/Windows_98_Revolutions_Pack_d4643.html
Title: Re: A sample project
Post by: durnurd on 2007-08-01, 08:23:47 PM
So what version of DirectX do you have?
Title: Re: A sample project
Post by: SmartBoy16 on 2007-08-03, 10:38:28 PM
DirectX 9.0c. Probably the latest i can get for Win98. My graphics driver is not supported for this version. i think if i upgrade to XP there's a newer driver for it. I think my graphics card is a Intel 810e.
Title: Re: A sample project
Post by: daemmon on 2007-08-10, 03:07:59 PM
i'm encountering the same identical error as Mic when i try to run the project...