Pages: 1 2 [3] 4
  Print  
Author Topic: NEW july30th! Spelunky Labyrinth Explorer (A2) Options room!  (Read 29693 times)
TyrOvC
Mossbaby
*
Posts: 424


This text is not random :(


View Profile WWW
« Reply #30 on: July 31, 2010, 11:15:56 AM »

I got a prototype threaded code version of it working smoothly for 20 seconds or so before it crashed in so horrible a fashion that the Dr. Watson debugger was attached to the Dr. Watson debugger that was debugging the game.

It's going to be great once its done!
Logged

kinnik
Bean
*
Posts: 193


View Profile
« Reply #31 on: July 31, 2010, 02:57:28 PM »

hmmm.. the debugger attached to itself?  (don't worry bout explaining.. jus keep it up)

Stoked.  If your not done by the end of the day, maybe post the code for me to take a look at?   Grin
Logged
DialFforFunky
Bean
*
Posts: 129


Revenge of the Burning Yeti


View Profile
« Reply #32 on: July 31, 2010, 04:44:00 PM »

just returned today amd figured I'd play this mod some more before going to bed. Some small things I've found:

- the new room just seems to have a ladder leading up to two signs and two lanterns. there's nothing after that. Is my version wrong?
- Resurrecting gnomes, which stand up again and say 'no' if they leave the screen, but which do not pass though the exit, nor have a star above their head when dropped.
- Dead shopkeeper drops new gun and money. Could possibly be exploited.
- Shopkeepers are too easy to kill without fear of being hurt at that time. Simply get a movable block in the shop and shove it towards the shopkeeper untill you crush him. Free stuff and shotgun. This should probably be changed, as it hardly leaves any incentive to actually buy stuff (shopkeepers are easily dealth with in later levels, as the amount of bombs one can aquire are more than adequate).
- I got as far as lvl 6, but darn, do those levels get crowded by then... I don't suppose you'll intend to keep going like this till lvl 6 though...
- dark bats, especially the 3+ health kind, are seriously hard to spot in x1 format, I occasionally walk straight through them or wonder what is hurting me at the time while getting attacked by a bat. Perhaps keeping brighter eyes would help?

-multi-health monkeys are funny.
- compass edit is good, I like it.

Keep up the terrific work!

« Last Edit: July 31, 2010, 05:11:09 PM by DialFforFunky » Logged

kinnik
Bean
*
Posts: 193


View Profile
« Reply #33 on: July 31, 2010, 05:15:44 PM »

-the girl/gnome and the shoppy problem are the same.  that is it doesn't save 'dead' it just save 'hp'..  fix is easy but abit time consuming.  Might as well do it while i wait for TOC's fixs.. 

-have you tried bombing up from under a shoppy?  it's fun.  any idea's how to make shoppys harder?  maybe he gets pissed if you push a block in his store?  and maybe he'll dodge falling blocks...

-yeah, the game ain't really designed for people to play beyond level 2/3..  I havn't beaten level 3 and so I havn't messed with anything there yet.  I hope to have inventory and expereance systems in place before balencing levels after 3 or so..

-the color to go with level are set by image_blend(red,green,blue) , so I don't have a sprite to actualy change.  I'll take a look at this.

-HA. I didn't know there were > level 1 monkeys!  Awe, what a spoiler.


Thanks! I do keep it up!
Logged
TyrOvC
Mossbaby
*
Posts: 424


This text is not random :(


View Profile WWW
« Reply #34 on: July 31, 2010, 05:51:26 PM »

Well, I've successfully multithreaded the level loading script, but I'm going to have to either completely change the way it's currently called (likely), or have a thread constantly running that calls the level loading threads and terminates them as needed in order to keep things in sync without pausing the main game thread.

You're currently loading two chunks of the level around the chunk of the level the player is in right now, correct?
Logged

kinnik
Bean
*
Posts: 193


View Profile
« Reply #35 on: July 31, 2010, 06:25:40 PM »

That's correct.

The code that loads/saves rooms/chunks at the beginning of the level, therby setting up 2 chunks left right above and below, is in the oLevel create event.  Not to mention those on diagonal... :S so that would be 25 chunks in total open at any one time..   Cry

The code that loads/saves chunks as you move about (based on view port, not player)  is found in oLevel step event.

Id be happy to lay out everywhere that code is used for load/save stuff, if you think it could help.  ??

else, feel free to ask anything else.  I may be out for an hour or so this evening but i'll be back shortly thereafter.
« Last Edit: July 31, 2010, 06:29:22 PM by kinnik » Logged
kinnik
Bean
*
Posts: 193


View Profile
« Reply #36 on: August 01, 2010, 02:55:36 AM »

hey funky.  I missed the 'new room' bit. 
Yeah, if you attack the lamps they change from green to red.
That changes the size of the level and the Line of sight amount.  I will be putting text onscreen to explain all this...   Embarrassed
Logged
kinnik
Bean
*
Posts: 193


View Profile
« Reply #37 on: August 03, 2010, 04:13:25 PM »

Word to TOC?  How did it go with the threading?  Can you please post what you've done so far so I can have a look?
Logged
TyrOvC
Mossbaby
*
Posts: 424


This text is not random :(


View Profile WWW
« Reply #38 on: August 03, 2010, 04:38:25 PM »

I haven't forgotten about this!  I'm still working on it, multithreaded programs are about 999X harder to code then singlethreaded programs.

I actually have a buggy prototype that works somewhat, (as long as if you click ignore and such on any error messages, and don't get a fatal error message right away), in which the game is paused while the level is loaded, though since I haven't buffered it yet you can actually watch the chunk of the level load.  I'll post it up here in a minute if you want it.

Seriously though, this is going to take a while, so go ahead and keep added and doing whatever you want to this mod!  Once I get the code finalized I'll grab the latest source code and implement it inside it.
Logged

kinnik
Bean
*
Posts: 193


View Profile
« Reply #39 on: August 03, 2010, 05:24:16 PM »

cool!   Grin   I was abit worried that you'd bailed on it.  If that had been the case I would have tried to continue on from where you left it or simply tried do a save to ram code again.   

Take your time and don't worry!  I think I'll try and make a better LOS code (again  Cry )...  I've also added a new enemy as of late.  Smiley

It'd be way cool to have a look at what you've got so far, but there's no rush on that.  If you give up or take a break from it, tell me, cuz I'd love to have a try!

Keep it up and good luck/skill!
Logged
TyrOvC
Mossbaby
*
Posts: 424


This text is not random :(


View Profile WWW
« Reply #40 on: August 03, 2010, 10:23:08 PM »

I'd give you a link to the prototype right now, but I'm having issues with my ISP at the moment.  Seems some idiot blocked of access to external ftp servers, so I'm going to have to yell at someone tomorrow before I can upload it.


Angry Angry They better quit that crap before I move to wherever Google announces their internet providing experiments are going to take place. Angry Angry
« Last Edit: August 04, 2010, 05:55:51 PM by TyrannicalOverlordC » Logged

TyrOvC
Mossbaby
*
Posts: 424


This text is not random :(


View Profile WWW
« Reply #41 on: August 04, 2010, 05:56:39 PM »

http://www.gameovergamesproductions.tk/toc/spelunkyExplorer_better_chunk_transition_prototype.zip

Hey, try this out!  It's far from finished, but it gives an example of what it will be like once done. Saving and loading is broken right now, so make sure you delete the explorer folder each time before you start it.
Logged

kinnik
Bean
*
Posts: 193


View Profile
« Reply #42 on: August 04, 2010, 06:37:35 PM »

 Grin Grin Grin

YEah...  Bloody good job!  It runs on my laptop with LOS on and 256 room levels with ZERO slow down.  And thats with my REALLY bad Line of Sight code.  Big props!

I will try and visite my buddy and see how it runs on his computer.  He get ~5fps with LOS on and maybe 15 without (with the code I made).  His will be the test.

Did you end up writing all new code for keeping/loading variables for objects?  I'm just guessing cuz of the error to do with enemy.level and trap.fired....

I'm even more interested in seeing the code than the results.  For me, programming IS the game.  I can wait till your 'more done' or complete... but, I'm pretty excited to see under the hood.  Smiley  The game is allready SOO much better!

I will try playing for along time on a 512 size level and I'll tell you how it runs after it's been running awhile.  I'll also write you about how it runs on my friends slow computer.

BIG PROPS!!! KEEP IT UP!!!
Logged
kinnik
Bean
*
Posts: 193


View Profile
« Reply #43 on: August 05, 2010, 06:14:49 PM »

oook.   I kind spoke too soon in my previous post.  Cry But the point is that it's working!  Just needs a bit of tweaking, yes?

So, strange thing really...  First time I booted it up, it was like I said in the last post, ran AMAZING!  Butt... next time, after about 3-4 rooms over, the lag came.

I'm not sure if it was when you trigger the load/save chunk or something else... but it would slow down to a complete crawl, like 1fps, and stay that way for ~15-20 seconds.  and if you wait, it goes right back to 30 fps.  I would guess that you've already seen this and that is no news to you.  I just write it in case it runs NP on yours.

I tried restarting the computer and optimizing by shutting down all background processes.  Of coarse, I tried without LOS.  And I tried in all level sizes.   It's seems so strange to me that it ran so good the first time.. any idea why?

In my spare time, if I'm not trying again on LOS, I'll try save/load chunk to RAM again, so we can compare how the threaded version runs with the unthreaded RAM.


BTW... does threading only help with multi-core processors?


Anyway.. don't get discouraged!!  Lots of 'FUN' still to be had I'm sure.  Wink
Logged
TyrOvC
Mossbaby
*
Posts: 424


This text is not random :(


View Profile WWW
« Reply #44 on: August 05, 2010, 06:49:11 PM »

That prototype isn't actually threaded. Tongue I still have the work I did on threading it, but I had a "duuuhhhhhhhh why aren't we doing that?" moment.  Since the rooms are loaded into a single string from a file, I did some script rewriting and made all of the rooms be loaded to an array of strings, then saving/loading chunks being done directly on the appropriate string in the array, skipping anything that needs doing to the harddrive.

So basically, handling everything in memory without going to the effort of low level allocation of memory address and reading/writing, by using the variable management that GM already provides.  And hopefully, nearly as fast once all the bugs are ironed out.

And for the theory behind threading it, multi-core processors would get a larger boost because then both the game and the loading thread would be running at a time.  But! A single core will alternate between the two threads, so the player can continue playing with no FPS drop and without having to wait a second for the loading event to finish.
Little text diagram:

Game  Load
   |       |
 core1 core2
   |       |
Game  Load
   |       |
 core1 core2
   |       |

and so on. On a single core without threading:
Game + Loading... (takes a while)
   |
 core1
   |
Game + Loading Done
   |
Game
   |
 core1
   |
Game

The loading event has to completely finish before the rest of the game is processed.

With the loading threaded separately:
Game
   |
Core1
   |
Loading...
   |
Core1
   |
Game
   |
Core1
   |
Loading...

So the rest of the game doesn't have to wait for the loading to be finished, the player can continue playing while the surrounding area is slowly loaded, since the two threads alternate.
« Last Edit: August 05, 2010, 09:08:11 PM by TyrannicalOverlordC » Logged

Pages: 1 2 [3] 4
  Print  
 
Jump to: