Retroremakes.com: Classic Gaming For The Next Generation

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

29133 Posts in 1469 Topics- by 1402 Members - Latest Member: annakeplek

March 11, 2010, 06:29:09 PM
Retro RemakesRetro Remakes : The RemakesRetro RemakesWIP - DDBJ: Double Decker Bus Jumper
Pages: 1 [2] 3   Go Down
Print
Author Topic: WIP - DDBJ: Double Decker Bus Jumper  (Read 4358 times)
0 Members and 1 Guest are viewing this topic.
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #15 on: June 28, 2009, 05:21:38 PM »

Day 24
The ghost of James Doohan watches me code for a bit and then says "You cannae change the laws of physics ya numpty". He was born half an hour down the road and sometimes stops by. Just to hassle me mostly. You'd think ghosts would show more respect to the living, but regardless of the tone I can't fault his statement; I'm useless when it comes to physics.

Moment of inertia, mass, torque, gravity, angular velocity, damping constant,... I have over a dozen different values to play with to try and make something that "feels fun". So far I've got a collection blooper videos that would earn me 250 quid from "You've Been Framed" except they're all buses falling over instead of babies/puppies/kittens.

Still trying not to think about gameplay...I did briefly for about 2mins and came up with about 20 things that I could put in the next game. "Good grief", says Charlie Brown*.

However if I don't get something that "feels fun" soon I may have to take drastic action. Ideas include, but are not limited to
1) A puzzle game - "Guess the values of these 14 numbers that make a fun game"
2) A RPG - "Create you own unique Bus. Click to re-roll"
3) An avatar generator - "Type your name to watch a video of your bus falling down, or up!"
4) A political game - "Public transport sucks!"
5) An art game - "This game sucks!"

Who knows, maybe I'll get lucky and Einstein with stop by.

*No idea. My house seems to be some sort of ghost magnet. Even for fictional characters.
Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #16 on: July 06, 2009, 07:02:05 PM »

Day 27
A couple of days randomly changing numbers forced me to call an impromptu seance. Einstein didn't show, but Reg Varney did and between us we got something that, whilst still a long way from fun, gives me something to play with. But play at what?

Day 29
Two days refactoring, a sure sign of denial. Still at least the chipmunks have a ChipmunkWorld instead of that Level they were in before. And I can sleep better too knowing that any object can have a spring, instead of a single global hack. Of course I only have one object and one spring, but it's the principal that counts...

I think I need to put something out to spur me on. A pre-alpha litter tray release*


*Sort of like a sandbox, but full of crap.
Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #17 on: July 21, 2009, 02:10:09 PM »

Day 31
Pop quiz. What kind of idiot would draw text using their own individual 3D objects instead of some off the shelf library? The same kind of idiot that would then use 3D co-ords to position the letters so that you get perspective problems (move an object closer to make it bigger, but it's screen Y will change as well depending on it's current 3D Y position).

Six hours to get some really crappy menus. More time than on anything else. Oh, and don't start me on wanting to show the current selection in a different color....The same idiot that designed the above also hard linked the 3D models to their materials. So to draw text in a different color I'd have to load two fonts.

Sigh.

In the idiot's defense, the idea was the menus would exist in the 3D world and the user move/fly about they selected options. Text would also be used in game e.g. monsters could shout "OUCH" in big 3D letters which were actual objects in the game. The materials thing? No excuse, it was the first code I wrote and I simply didn't think about it.
Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #18 on: July 21, 2009, 02:18:28 PM »

Day 32
Putting in my one tap input system. This was an idea I had when I saw the Game For Helen category of the 2008 RR Compo. It's a layer between the user input (keyboard, mouse, joystick) and the input to the game. The idea is to separate the user input from the game action so you don't make assumptions about how the user wants to do things e.g. press left to go left.

It defines "switches" which have an associated "screen area". The switch has a "trigger" (mouse, keyboard, dwell, enter/leave screen area) and raises game "events" (pause, fire, explode any alien named Geoff) on different "actions" (press, release, hold press, hold release, enter, leave).

Some simple examples might help.

On trigger=ESCAPE_KEY in screenArea=ANYWHERE event=SHUTDOWN when action=PRESS

On trigger=ENTERLEAVE in screenArea=BOTTOM_MIDDLE event=PAUSE when action=ENTER

On trigger=ENTERLEAVE in screenArea=BOTTOM_MIDDLE event=RESUME when action=LEAVE

Screen Areas are just boxes defined as percentages of the screen size and can have a color, a highlight color and a graphic. Events are game specific, but there are also standard ones for changing the current active screen area (mouse can obviously be used as well) and for switching "trigger group" i.e. the set of triggers can be grouped into a context so they are only active at certain times.

e.g. Press P, event=PAUSE and triggerGroup=MENUS. Can then have a whole bunch of triggers, screen areas and events which are only active when paused.

The point of all this is to have a completely flexible input mechanism making no assumptions about the users requirements. E.g. Space Invaders where putting the mouse on a big "L" or "R" or "S" box sets the left/right/stop movement of the ship, but it only moves when the mouse is in bottom third of the screen (RTS Space Invaders anyone?).

Ok, so that's a silly example, but remember the game can still be normal space invaders, this layer is separate to that. With some additional game options (auto fire when below an enemy, rapid fire, bullet size etc) it should be possible to make the same game accessible to anyone. And by adding creative game events you can completely change the game for almost no cost.

E.g. Split the play area up into grid of screen areas where the dwell trigger is "move to next area" and the press event is "destroy invaders in current area". So the "cursor" automatically moves through the grid of screen areas (which can have a highlight color to show where it is) and pressing (key/mouse/etc) destroys the invaders. You now have a "whack-a-mole" type Space Invaders controllable with a single switch.

Change the dwell event to "destroy invaders in current area" and you have head tracker support where the user can dwell or press to shoot. The number of screen areas and their size can be small or big depending on the accuracy of the player. They could be a complete row or column if the user only has movement in 2 directions.

Remember, other than adding the "destroy invaders in current area" event, the above all comes from free "just" by configuring this mediator layer.

The point was to try not to assume anything and to cater for the minimum input of a "tap" (in my terms a "switch" can be pressed, held and released giving the user 3 inputs. A "tap" can only be pressed so the user has a single input). Again, maybe this is a silly example, but say the user can only "release" the input e.g. "SPACE is pressed" constantly and the user can time when they will release it (but not how long they will release it). This layer allows for that since the input trigger (key=SPACE, action=RELEASE) is separated from what to do (event=WIN GAME).

This is really simple code* and it doesn't change the game logic in any way (checking event=FIRE is no different from checking keypress=SPACE)....so why is there nothing like this in most other games? What's really sad is it's 25 years since Dark Star let you have the flexibility of having the same keys for fire as for movement giving you auto-fire when moving and yet we don't even get re-definable keys in lots of commercial games.

Think about that....TWENTY FIVE YEARS and we still force people to use cursor keys when you could let them define four screen areas that when the mouse is in raise UP/DOWN/LEFT/RIGHT events, automatically giving at least some head-tracker support**

Not saying this is perfect and obviously each game has limits on how much use it can make of it, but it's completely reusable and given the millions spent on game development you'd have thought we'd be have something better than the current state of affairs.


* My configuration of it through text files or a completely unusable set of menus (remember the menus have to be one tap compatible), is horrendous, but at least that's "just" a set up problem, and canned configurations can help.

** Ok, that's not perfect since you may want dynamic screen areas e.g. UP/DOWN/LEFT/RIGHT of the current ship position, not a fixed area.


Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
hatonastick
Supercreep
*

Huggles: 1
Posts: 282

Thank You
-Given: 0
-Receive: 0


Amstrad CPC 6128


View Profile
« Reply #19 on: July 24, 2009, 09:18:07 AM »

Bizarre.  I had a very similar idea about one-switch controls (I still dream of writing a one-switch game oneday..) while playing my usual MMO yesterday (MMO's are typically brain dead easy that it allows the sub conscious to dream away, a bit like watching TV).  Fantastic stuff.  Look forward to your next entry, reading all of this is highly entertaining. Smiley
Logged

'Skippy the Bush Kangaroo' enters the digital age: *tch tch* What's that Skip?  Lassie is bad mouthing you on YouTube again and you need to borrow my laptop and integrated web cam to do a video response?
RobF
Admin-o-tron
Heroes
*****

Huggles: 26
Achievyments:

Posts: 4300

Thank You
-Given: 20
-Receive: 14


Ludofecal Expert


View Profile
« Reply #20 on: July 28, 2009, 05:58:26 AM »

http://news.retroremakes.com/2009/07/double-decker-development-tales/

You're in it now Wink
Logged

Prepare to lose your dignity as I ride to victory,
Down the aisles at Tesco wearing not very much at all.


SYNSO for the Xbox360 Out now! Only 80 Points
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #21 on: August 03, 2009, 04:56:14 PM »

Day 34
The Freedom For Chipmunks activist group barricaded my house for a week, so little progress. It was only when I summoned the ghost of Terry Nutkins* to plead my case that they left.

*Ok, he's not dead, but he really should be.
Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
caffeinekid
Admin-o-tron
Heroes
*****

Huggles: 20
Achievyments:

Posts: 2569

Thank You
-Given: 2
-Receive: 3


Soo sleepy!


View Profile WWW
« Reply #22 on: August 03, 2009, 08:42:12 PM »

*Ok, he's not dead, but he really should be.

Harsh! LOL
Logged

Sweevo
Young Dude
*

Huggles: 1
Posts: 24

Thank You
-Given: 2
-Receive: 1



View Profile
« Reply #23 on: August 05, 2009, 07:59:09 AM »

Day 34
The Freedom For Chipmunks activist group barricaded my house for a week, so little progress. It was only when I summoned the ghost of Terry Nutkins* to plead my case that they left.

*Ok, he's not dead, but he really should be.


Aww don't diss the "Nutkins" he took a full frontal otter assault and survived (minus a few fingers)Which gives me an idea for a game...How about a harvest moon-esque real time otter management sim featuring our Terry?
Logged

Current projects:Moonwalker 2 (on hold)


"Lean,mean,sand in the Vaseline!"
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #24 on: August 09, 2009, 05:22:28 PM »

Day 36
Finished* my Input Controller Layer. Now have menus controllable via OnePress (single key press only), OneSwitch (press or press and hold), HeadTracker (mouse with dwell click) or Standard (keyboard or mouse and button click)....Give yourself a shiny!

Reality is I have several not-very-good control schemes. For instance, menu items scroll with the current item always in the middle. This allows for LARGE font menus (might only have room to show a single option on screen), but most users just want to click on the item they want.

Things like this, plus the fact that I don't have a proper graphics engine (see Day 31) makes it all rather crappy.

Also, fully configurable? Create your own control schemes? Yeah, but no one ever could/would/should, as it's all through horrible text files. Started putting in menus, but the mess of nested options (areas/switches/triggers/events/icons) was like some twisted Steve Jackson book. So currently I don't even have re-definable keys** (other than text files).

It needs is a separate config GUI written using a proper set of widgets, but considering I've yet to actually start the freakin game and this was purely an exercise in showing how "easy"*** it is, I think that's a task best left for another day.

Despite all this, I'm reasonably pleased. I've got 6 different menu input mechanisms****, 2 displays (normal and LARGE) and 1 of my 3 game input schemes done. All without any change to code or game logic (because there ISN'T ANY YET!), just a bunch of config files and it's totally reusable.

Oh, and I just managed to stop myself re-factoring all the hacks currently in the Player class into an EngineManager (changing the functionality ZERO)....Oooo give yourself TWO shinys!


*HAH!
**Burn him!
***Easy like the control scheme for bus speed and pause with only a single keypress.
****Haven't actually written the menu options. Sigh.



Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
SmileyMan
Wonderful Person
Cracked Actor
*

Huggles: 11
Achievyments:

Posts: 682

Thank You
-Given: 8
-Receive: 12


Registered Loser


View Profile
« Reply #25 on: August 10, 2009, 01:25:48 AM »

It needs is a separate config GUI written using a proper set of widgets, but considering I've yet to actually start the freakin game and this was purely an exercise in showing how "easy"*** it is, I think that's a task best left for another day.
I think a seperate config GUI is a better way to go anyway.  I know lots of people think that everything should be contained within the game, but from an accessibility point of view, if you use an OS-compliant configuration applet, then you're leveraging all the accessibility stuff that the player's computer is already set up to use.

It's not being "lazy", because you still have to support everything in the game itself.  Of course, having both would be best of all.  On the same note, of leveraging the OS, try having your config being able to save OS shortcuts, so multiple users of different abilities can use the same installation with ease.

PS - loving your dilemma with using business-style OO to do games.  I have the same problem, which is why I never finish anything.  One of my bugbears is just how badly designed most games libraries are; the utter horror of OGRE or CrystalSpace should carry a health warning.  But your cat's advice is sound.
Logged
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #26 on: August 24, 2009, 08:43:03 AM »

Day 40
Spent 4 hours (2 days) bug hunting. Found it hiding in some 5 year old code. Some of the first I'd written. Not some of the first code I'd written, that was Spectrum BASIC program which eventually had to be abandoned before even being run because I got lost in the mobius strip of goto loops. No, this was just some of the first code from when I started programming at home again.

Five years sitting quietly waiting to steal 4 hours of my life. Patient little bugger. Wonder how many of his friends are still around? Sometimes I marvel that any of this stuff actually works. I did Computer Science at Uni, but programming isn't a science it's an art, and I'm glad it is*.

If a game can be art what of the code below it? What of the craftsmanship that went into creating it? You could call the pyramids "A pile of blocks", just as you could say Forty Niner on the ZX81 "Looks a bit shit"....but you have no soul if you do.

But all art requires it's drudge work. The boring non-creative part. The menus, the titles, the whipping 2000 slaves in the blazing sun. Yet even within that drudgery there is art. A finely crafted loop. A elegantly reused function. Hidden away, unseen and unappreciated except by the coder. Of course without ugly there can be no beauty, and I certainly have my share of ugly. My mutant templated TwoWayMapping class. My inbred, should-have-been-killed-at-birth EventBus that has oozed it's way into every part of my code.

Where was I going with this post? Did I miss the sign for Albuquerque? My writing often goes the way of my programming and I find myself lost in some strange place with only an overloaded ternary operator for company. So where has my programming taken me to these past few days?

- I battled the parameters of glOrtho and won, but it was a Pyrrhic victory since I don't really understand them.
- I sacrificed some of my will to life in exchange for menu options which are saved/loaded.
- I hunted down and slaughtered an innocuous iterator corruption, but there is little joy in fixing your own stupidity.

Who says programming isn't exciting?
 

* Except when I'm sitting in a fly-by-wire Airbus.


Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
deps
Cracked Actor
*

Huggles: 10
Achievyments:
     
Posts: 438

Thank You
-Given: 2
-Receive: 0


OMG LOL BBQ ERT!


View Profile WWW
« Reply #27 on: August 24, 2009, 09:05:36 AM »

Your writing reminds me of Why the Lucky Stiff.
And the videos are great! Smiley

Good luck with it!
Logged

Now with updated page!
And do you read mah blog?
Tam Toucan
Psychedelic Coder Chef
Monitor
Cracked Actor
*****

Huggles: 5
Achievyments:
 
Posts: 711

Thank You
-Given: 4
-Receive: 6


Am I walking backwards or forwards?


View Profile WWW
« Reply #28 on: September 11, 2009, 05:36:05 PM »

Day 43
Drew a box. Woo-HOO!

Day 44
Drew another box. This one scales!

Day 45
Drew a stretched box on it's side. I think I shall call it a Diamond. Yes, that's a good name.

Day 46
Drew a row of little boxes. Some of them were red.

Day 47
Drew a box with lots of sides. Wikipedia calls this a circle.

Day 48
Ever get it that a common word suddenly doesn't look right? Drew...Drew...Drew? Nope word's lost all meaning.

Day 50
Rod Serling stands in the corner, top lip nailed to his front teeth. "This is story of a man. A man like any other except for one curious quirk. An anomaly. A defect in the wiring of his brain that makes him think he is writing a game, but he has nothing more than some menu options, a poorly drawn bus and a delusional tendency to talk in third person..."

Day 53
This week was Grind Week. Did you buy a flag? I bought lots.

You know sometimes a change ripples through a load of code and you'd almost be quicker training a monkey except you'd have to clean up after it, plus there's the cost of bananas to consider...Actually, 3 hours was grinding, 3 hours was fixing a big hack so I could regenerate the config files for the various input control schemes and the final 17 hours* was annoyance fixing.

"Annoyances" because their nothing major, but sometimes when I've been staring at something for so long that's all I can see. For example, OneSwitch input; hold key => SELECT, press+release => NEXT menu item. But if the SELECT chooses a menu page with a new InputController** then when you release the key it moves the next menu item on new page. Annoying, but nothing to lose sleep over.....

But I do.

It's not like anyone but me is going to care. In fact the first things people would say on seeing the menus are
Why don't you...
- draw the current item in a different color?
- give an indication of dwell time?
- show which list item is currently selected?
all good valid points, but if I think about them a small black cloud forms above my head and it begins to rain inside my soul***

Indeed I may have created the most inaccessible "accessible" input system ever. Instead of one reasonably polished, usable scheme, I have 6 fairly crap ones. But in the words of Dr Frank'n'Furter..."I didn't make him for you!". Got to draw a line in the sand somewhere I guess.

Well, on with the grind. Those 4 game control systems won't write themselves....how much are bananas these days?


* It certainly felt like that...

** e.g. A TextPage has a different controller since the hold key => SELECT+REPEAT so it will repeated press the scroll menu option (still with me?)

*** I'm using pathos here. Hoping it it will help when the "Donate Now" button appears.

Logged

35 39 36 66 37 35 32 30 37 33 36 31 36 34 32 30 36 37 36 39 37 34 32 65 32 30 34 37 36 35 37 34 32 30 36 31 32 30 36 63 36 39 36 36 36 35
danjo
Teenage Wildlife
*

Huggles: 3
Achievyments:

Posts: 51

Thank You
-Given: 0
-Receive: 1


View Profile WWW
« Reply #29 on: September 23, 2009, 09:54:33 PM »

welcome to earth tam. enjoy your stay.
Logged
Pages: 1 [2] 3   Go Up
Print
Jump to:  

Theme orange-lt created by panic