PDA

View Full Version : Oh Sh!t - Platform game



Pleng
03-22-2008, 05:07 PM
Oh Sh!t (http://www.strappymusic.com/ohshit.zip)
Beware it's an 8mb download! Mainly due to me being lazy with music compression etc...

One level-WIP, based on the freeware Amiga classic 'Elevation'

Known issues:


Player can 'move' platforms when pushing against them. This should not occur. I think I need to play around with mass and density to fix this.
Player can get stuck beneath platforms. Need to find a way of letting the player jump through platforms onto the top.
Live counting works, as you will get a game over screen after loosing all three lives, but for some reason the gui counter does not get updated
Player 'skips' when going left. Doesn't affect play but looks a bit odd
Only 1 level!

Seth
03-23-2008, 12:58 PM
Excellent work!

Ok, on the skipping left bit, I was able to fix that by reshaping the collision just a bit, see attached pic.

On the dealing with moving platforms, I've modified the treeworld example to deal properly with the 'platform crushing' problem, and also being able to jump 'up' through static platforms which is good for some games.

I have a bug I'm trying to locate right now, but I then I'll put up this new version.

When it's up, please check the move_between_points.lua and the ent_player.lua's OnCollision function. (And note that it enables listening to collision, so OnCollision is called)

Pleng
03-23-2008, 04:59 PM
Thanks for that Seth.

re skipping, I thought it must have been something that I was doing as he didn't do it when running around in the normal TreeWorld environment. I had guessed it might be to do with verts but couldn't quite figure out what I needed to do. Now I've adjusted it as shown by you and it's working brilliantly!

I'm looking forward to playing with the new version when the bugs are ironed out! :D

harrio
04-03-2008, 06:34 PM
hey pleng,

can you post your game to the novashell page. i'd like to see it and i'm sure the few others we have here might also.

by the way seth, thanks again for fixing my collision problem for my pacman clone.

harrio

edit: the reason i ask is because i can't reach your page from work. i use a pc at work and a mac at home.

Pleng
04-05-2008, 08:04 AM
Harrio

I can't urrently upload it to the novashell site as the file is too big (nearly 10 Mb!)

You should be able to download it with a Mac. The link is a direct download link so by clicking it (in firefox at least) a blank tab should open and then shortly after a download box should appear.

I will try and make a smaller version to upload to the site when I get a chance, but I'm pretty busy right now :confused:

Starclopsofish
04-24-2008, 03:19 PM
Nice work, man! The first thing I actually said when entering the first level was "Oh Sh!t!" lol. I love the music, it's retro-rific.

Pleng
04-26-2008, 08:14 AM
:D Glad yo like it. I really should get around to making some more levels. Arghhh time time time...!

harrio
05-03-2008, 03:52 AM
hey seth & pleng,

i tried your game on my mac, mac pro - 10.4.11, it ran the custom start screen, nice job by the way pleng - funny how music improves the gaming 'experience', and started the level, then the command line comes up with error msg's. i have the log output below...


Command line parms received:
-psn_0_751435777
Clanlib Sound System Initialized
Novashell V0.23 and Lua 5.1 Initted.
No mod has overidden script/game_start.lua. Running default, which let's the player choose a world.
Loaded map hidden_Base Startup at tick 0. 2 non-empty chunks, size is 1 by 1.
Restarting engine...
Initializing GameLogic
Clanlib Sound System Initialized
Mounting world path worlds/RT_Elevation.
Novashell V0.23 and Lua 5.1 Initted.
Initting world
Initting intro menu
Loaded map Intro at tick 3901. 16 non-empty chunks, size is 3 by 3.
Resetting!
Clearing all maps
User profile path now /Applications/novashell.app/Contents/Resources/profiles/Player/RT_Elevation
Running our custom tree world game start code.
Setting game defaults
Map Inside not found
Loaded map Main at tick 0. 9 non-empty chunks, size is 7 by 4.
Initting coins..
Found player in Main Inside at X:1905.00 Y: -25.50
Loaded map Main Inside at tick 0. 50 non-empty chunks, size is 9 by 5.
Initializing the player entity.
Setting player to Entity 199 (Player)
Setting camera tracking to player Entity 199 (Player)
Initting interface
Setting up overlays..
Loaded map System Palette at tick 0. 4 non-empty chunks, size is 1 by 1.
Restarting engine...
Saving map header Main - (9 chunks to look at, map size 7 by 4)
Saving map header Main Inside - (403 chunks to look at, map size 23 by 64)
Main player removed
Initializing GameLogic
Clanlib Sound System Initialized
Mounting world path worlds/RT_Elevation.
Novashell V0.23 and Lua 5.1 Initted.
Initting world
Initting intro menu
Loaded map Intro at tick 38770. 16 non-empty chunks, size is 3 by 3.
Resetting!
Clearing all maps
User profile path now /Applications/novashell.app/Contents/Resources/profiles/Player/RT_Elevation
Running our custom tree world game start code.
Setting game defaults
Map Inside not found
Loaded map Main at tick 0. 9 non-empty chunks, size is 7 by 4.
Initting coins..
Found player in Main Inside at X:1905.00 Y: -25.50
Loaded map Main Inside at tick 0. 50 non-empty chunks, size is 9 by 5.
Initializing the player entity.
Setting player to Entity 330 (Player)
Setting camera tracking to player Entity 330 (Player)
Initting interface
Setting up overlays..
Loaded map System Palette at tick 0. 4 non-empty chunks, size is 1 by 1.
Loaded map Elevation - Easy (Level 1) at tick 33393. 64 non-empty chunks, size is 7 by 7.
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 364, function OnInit
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 366, function OnInit
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 368, function OnInit
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 369, function OnInit
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 373, function OnInit
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 378, function OnInit
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 382, function OnInit
Error: ---------------- Lua Error! Stack Dump ----------------

Error: -1: no overload of 'Entity:SetCollisionMode' matched the arguments (Entity, nil). Did you forget a parm?
Entity 386, function OnInit
2
2
Saving map header Elevation - Easy (Level 1) - (64 chunks to look at, map size 7 by 7)
Main player removed
Saving map header Main - (9 chunks to look at, map size 7 by 4)
Saving map header Main Inside - (61 chunks to look at, map size 11 by 5)
Initializing GameLogic


hope this helps seth.

i've got to start putting more time into my own game. pleng makes me feel like a lazy, noob, punk for as long as i've had novashell myself.

Pleng
05-08-2008, 07:48 PM
Thanks for checking it out Harrio.

I occasionally get error mesages at that point to. Pressing 'esc' clears the messages though and allows gameplay to continue.

I don't know where Seth is these days. Perhaps he's on holiday?

Seth
05-08-2008, 11:10 PM
Hey guys, I'm around. I just tried this game on Win and OSX and it worked fine for both with no errors. Harrio, I think you just need to update your novashell version? You were using 0.23, the latest is 0.26 (as of yesterday).

harrio
05-08-2008, 11:12 PM
ugh...it's always the space between the keyboard and the chair...

Pleng
05-09-2008, 04:26 PM
Hey guys, I'm around. I just tried this game on Win and OSX and it worked fine for both with no errors. Harrio, I think you just need to update your novashell version? You were using 0.23, the latest is 0.26 (as of yesterday).

Hi Seth, good to hear from you!

I downloaded the latest version of Novashell but I'm still getting this problem (http://www.rtsoft.com/forums/showthread.php?goto=newpost&t=2169) with Oh Sh1t! on Vista :(

Starclopsofish
05-10-2008, 05:26 AM
Hey Pleng, what have you been using for graphics in Oh Sh!t? I've been dabbling in Blender a bit, so if you'd like I can render some stuff for ya.

Pleng
05-10-2008, 06:59 AM
That would be great if you wouldn't mind!

I've currently just been searching Yahoo for images so what I'm currently using is of questionable legality at best!

All I really need is some girders and a couple of construction site backgrounds, plus something that looks good for the moving platforms. And, of course, a main player sprite - but that's the least important thing at the moment :)

Many thanks

cheers!

Starclopsofish
05-10-2008, 08:52 PM
Ok I'll see what I can cook up. BTW the operative word is 'dabbling' I'm still pretty n00bish at it. I'm going to be spending a lot of time with it this summer though, and this will be good to get me off my ass and finally complete a model or two :P

I haven't looked at the NS scripts that much, how is animation handled? Do you set a fps for the games, or do you specify the amount of time a given sequence is supposed to run? Your game is at 800x600 correct?

Pleng
05-13-2008, 05:32 PM
That's fine. I'm still 'dabbling' in game creation too. :D

What's an NS script? :confused: I don't really know how animation is handled within the game.

The game is 800*600. If it gets ported to Pandora it will be running in 800*400

Interference
05-28-2008, 03:35 PM
That's fine. I'm still 'dabbling' in game creation too. :D

What's an NS script? :confused: I don't really know how animation is handled within the game.

The game is 800*600. If it gets ported to Pandora it will be running in 800*400

NS Script = NovaShell script; the files that end .lua

Animation is handled via configuration files with an .xml extension ("visual profiles"). The one for the crayon sprite, for instance, is in Novashell\worlds\RT_TreeWorldTest\script\char\cray on. Viewing that in a text editor (I use TextPad) should give you an idea of how it works. It would be nice to have some sort of graphical interface for editing and creating these!

Pleng
06-01-2008, 01:04 PM
I I see, thanks for that.

Unfortualtely the project on hold pretty much indefinately, at least until I can sus out why Oh Sh1T crashes my machine :(