Just a minor adjustment to improve how Sonic warps in the screen. You're just checking if Sonic goes < 0 to warp to the other side right? Wouldn't it be better to warp him at something like "< -width/2"? It feels a little weird when he goes around the screen, because you can see him disappear.
Dude, this is awesome! Reminds me of a Mini Mario widget released by Nintendo that walks around your Desktop and stuff, and you control it (flipping it) with your mouse. Can we remove the coins though? I wanted to know how it worked before when he was affected by the insides of the window. I'm really looking forward for Tails, and what do you think about making a Super Sonic mode? That would be cool. Maybe you have to collect 50 rings, or you could have emeralds scatter around your desktop. You just plainly click a button on the options.
It seems like my computer has been fried, so I won't be able to work on this unless my computer makes a miraculous recovery or I get a new computer and transfer it from the old HDD. And I was right in the middle of making Motobug into an enemy too. FlameTheFox: I don't keep old versions of my programs around unless I host them on the wiki.
That's disappointing, hopefully you can get it back up and running soon. Can't wait for possible Tails or Super Sonic mode, and especially placeable badniks!
I have every version of the program you have released thus far if that helps. (I haven't deleted them, lucky me!)
Problem: Code (Text): See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.DirectX.DirectInput, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.DirectX.DirectInput, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' at WindowsZone.Controller.UpdateControllerData() at WindowsZone.Form1.Timer1_Tick(Object sender, EventArgs e) in C:\Users\Mike\Documents\Visual Studio 2008\Projects\WindowsZone\WindowsZone\Form1.vb:line 37 at System.Windows.Forms.Timer.OnTick(EventArgs e) at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. ************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4200 (NetFxQFE.050727-4200) CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- WindowsZone Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Users/Da%20Bratz/Desktop/WindowsZone/WindowsZone.exe ---------------------------------------- Microsoft.VisualBasic Assembly Version: 8.0.0.0 Win32 Version: 8.0.50727.4016 (NetFxQFE.050727-4000) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll ---------------------------------------- System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Runtime.Remoting Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll ---------------------------------------- System.Core Assembly Version: 3.5.0.0 Win32 Version: 3.5.30729.1 built by: SP CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll ---------------------------------------- Rat234 Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Users/Da%20Bratz/Desktop/WindowsZone/Rat234.DLL ---------------------------------------- ManagedWinapi Assembly Version: 0.3.0.0 Win32 Version: 0.3 CodeBase: file:///C:/Users/Da%20Bratz/Desktop/WindowsZone/ManagedWinapi.DLL ---------------------------------------- System.Web Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4016 (NetFxQFE.050727-4000) CodeBase: file:///C:/Windows/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll ---------------------------------------- ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (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 computer rather than be handled by this dialog box. Even downloading the older version doesn't help. I think it's because of where I downloaded the DirectX files. It didn't tell where to download them, so I put the files in a new folder called C:\DirectX. Did I do it wrong?
Runs pretty smoothly over here. Specs: Intel Pentium 4, 2.4GHZ CPU-- ... need I even say more? :v: But yeah, it runs pretty smoothly on both Windows 7 and Windows XP on this computer. (as long as I'm not doing much else, considering I don't have a dual core =<)
It ran okay for me (.05 seconds per frame avg.). I know what the main problem is, it's drawing a bitmap the size of the whole screen every frame, but I don't know how to fix it. I tried giving each object its own form once, but that slowed it down even more because then it ended up creating a form for every open window every frame.
Hm...I'm running an E5200 @ 2.8ghz per core, 6gb PC2-6400, GeForce 9800GT (1gb, 650mhz). Perhaps it's the fact that I'm using 2 monitors (at 1920x1080 and 1280x1024), and the program draws at full screen across both monitors?
Instead of refreshing an entire screen-sized bitmap, you could do something similar to dirty rectangles. For each object you could keep their old X/Y positions (their position in the previous frame) and when it comes time to draw something, you clear a sprite-sized rectangle at the old position, then draw the sprite at the new position. This way, you put a lot less load on the CPU depending on the number of on-screen objects. Either that or there's still WPF, though it is a bit much to learn compared to to WinForms/GDI+. Either way, I'm sure there's an efficient way to go about it.
Been wondering what this topic is about for a while. This sounds really interesting and cool! I couldn't get it to work but I wasn't too fussed about why. Still sounds really fun!
I could do that, however, it would cause the sprites to flicker when I clear the area where they used to be. I tried drawing the images onto the form directly, and it was about twice as fast, but it made everything flicker. Your method might make it less noticable, as it would only affect each sprite immediately before it's drawn, but it would still be there. As for WPF, it seems that I would have to add a control to the canvas for every object I want to draw, and if I'm doing that, I might as well try to give each object a form, or alternatively, a PictureBox. The only problem with that is that I would need to figure out a way to prevent it from making one for all the top level windows every frame. Cracker: I can't figure out why it doesn't work for you if you don't give me any information! :specialed: My first guess would be that you didn't install the directx runtimes. Maybe I could add something to catch that and just disable joypad support instead of crashing.
^ Oh I'm not to fussed about getting it to run that's why ^^ It's a really cool idea but I will rarely use it and it'll just take it space and ram (which I already don't have enough of most times!)
I had... considered offering to make an engine for that, but I would have to completely redo the collision for that to work (which would make it just like the games actually). The collision now does not allow for slopes, only rectangles, as I didn't find a need for slopes in this particular program. I was pretty much planning on making this into a more traditional fangame engine at some point, and if I did, I could probably support that program's level format. And yes, I'm using VB 2008, although it doesn't really matter unless the programs are going to be combined.
I'll tell you one thing you could make slopes for... The Windows Orb. Its weird that it acts like a block...