GLBasic forum

Main forum => Announcements => Topic started by: erico on 2017-Jun-10

Title: Burguer stuff
Post by: erico on 2017-Jun-10
Hello chaps.

I have been working on a food game. Here the (last version) beta project for you to try and a screen shot to wet appetites.

CONTROL:
Arrows for movement
Z for jump
X for pepper

DEBUGG:
F1 for info and grid
Q W E A S D for simulating different hits
R F for simulating hard stomp
I O P to open doors

LOG:
2d  layout
3d  player mechanics + player gfx
1d  level mechanics + burguers gfx
1d  burguer mechanics
...

Title: Re: Burguer stuff
Post by: bigsofty on 2017-Jun-11
I like it. From the little bob of his head to the way his eyes rotate around the body.

The walking is fine but there is a pause after each jump, stopping you walking which feels very awkward.
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-11
hmmm, I will look into it.
If you fall a small distance, there is no stop. If the distance is a bit big, you stop a little and if the distance is big, you stop for quite a while.
I think I will take the pause off a normal jump. Thanks bigsofty.
Title: Re: Burguer stuff
Post by: dreamerman on 2017-Jun-11
I have similar thoughts as bigsofty, if you are jumping and you land on same level platform there shouldn't be that stop / crouching. But overall movement is good.
btw. how you check for collisions? grabbing pixels from map or something hard-coded into game?
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-11
I thought that making a little stop on a normal jump would make the player jump only when necessary, the idea was to prevent constant jump walking when chased. I will make it with no stop on the same level though.

The map (while an image) has an equivalent array under it.
I´m converting player´s sprite coords to the array and there checking whether it is ground or not. I´m doing that only when the player is falling.

Here is an .exe with that said in visuals, you can see the map array, the black block is the player´s position converted.
The Y coordinate has a twist, it converts to the array but then it fits into an 8 slot variable(size of the titles), the player is only at ground if the array has a ground value and the Y coord is at slot 7.

If you are interested, I may share the code.
Thanks for the feedback.
Title: Re: Burguer stuff
Post by: dreamerman on 2017-Jun-11
In such case, it all depends how fast enemies will move and so on, but thats good point, it's not Quake to do jump runs :D
That collisions are nice and efficient for gravity, with second layer (for bonuses / enemies) would be interesting approach in opossite to classic rect-based collision checking. This version and your description is sufficient, it could serve as solid tutorial on player movement. :)
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-11
yep, but I will still use rect collision for the player to player to enemy ones, and also for the burguers walk over.
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-12
Updated the project on the first post to reflect many changes to the player´s control.
Apart from fixing the jump as you guys recommended (yeah, muuuch better now), I also fixed some tweaks on the movements and its animations and added the pepper throw, you can do so by pressing X.
The movement should be much better now, it must be butter smooth!

Leave the player facing left or right for a while and a random looking around anim kicks in, kind makes it a bit more alive.
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-15
Re updated the project, now you can walk over the burguers and they will fall and stack.
Updated first post too so it feels more organized.
Title: Re: Burguer stuff
Post by: Ian Price on 2017-Jun-15
That's working really well now erico :)
Title: Re: Burguer stuff
Post by: bigsofty on 2017-Jun-15
Yup much more fluid and natural now. I like the jiggly of the burgers when they hit the ground, it's a nice touch.

This may be a feature of the original game but should the character be facing away from the ladder when descending?
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-15
I´d like the ladder to actually be a stair, not sure yet how to depict it visually.
The background is probably going to be pixel drawn. Would be nice to have some further background movement too.

On the code,
I suspect I´m going to have trouble sorting the z part on displaying the players/enemies above each other.
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-16
Another thing on the player movement...

Some friends of mine complained one could just fall through a "ladder" to death on the water while going down.
My original thought was to have a very movable player, no constrains any where.

I don´t what to do with such without complicating the movement.
Ya, start constraining movements based on the last vertical/horizontal input.

The build that is up running has a temp fix:
.If the player is going down and it hits an end of ladder that has nothing under it, it stays in place.
But that also plays weird, if you have to escape down on such places, you won´t be able.

Any thoughts about that?
Title: Re: Burguer stuff
Post by: dreamerman on 2017-Jun-16
hm.. everyone may have  some preferences about such situations.. Some solutions:
1. Player can only climb up on ladders, every time he will press down key he will fall normally to lower platform, but if he is falling on ladder then there is no that stop/crouch after falling. So down key is like 'drop from current platform'.
2. Same movement as in current verision + if player is on a ladder that has nothing beneath it, he needs to press down again to fall from it - even if he is climbing down - something like double tap with key.

btw. nice effect with that falling burgers :)
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-17
Your second suggestion is good, but it would also make the controls more complex.
Since it is going to be a crowded screen full of action, I´d want the controls to be extremely simple.
I might revert to the fall-through that I had before, I will leave this issue for later.

Added an enemy (just the action now) that will freeze a burger piece on contact.
The player will have to slooowly walk to its center to unfreeze it, stomps are reseted.
If something falls over a frozen piece, it shatters and you loose the piece.

Pretty much everything player, map and burger related is coded and working.
The idea is that a level has a time and if you run out or finish with the burgers, the whole thing colapses.

I want to award points for complete burgers (ye, at least 2 breads+meat) of the final platform a player is standing.
Should you not make at least a single one, the game is over.

Here a collapsing video...
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-20
...and a sausage appears! :D

Title: Re: Burguer stuff
Post by: bigsofty on 2017-Jun-20
 :D ha, that's more like it. It looks great Erico!   :good:
Title: Re: Burguer stuff
Post by: dreamerman on 2017-Jun-26
Artwork style is final - are you aiming at something like 16 color graphic for retro fans? With TV overlay, maybe scanline effect that would be game for them :-)
I like that bounce effect if hamburger falls down, and water splash sprite/animation.
Title: Re: Burguer stuff
Post by: erico on 2017-Jun-27
The style is final but some of the images will still change. 16 colors. Will also look into those post fxs.

I think I now have the core game working codewise: 3 players, level starts and ends, enemy, score counts.
The player itself, again, took a lot of work, specially adding the pepper while jumping...
...as the player lands while animating the throwing of the pepper, it cancels the action and it feels the control is unresponsive.
So now the player continues with landing pepper animation but if you fell from a higher ground that the player does a stop, then it cancels the pepper.
Similar had to be added while throwing pepper of a ledge and then falling out of it, the player switches to mid air pepper animation.

Looks like a small problem but makes a huge difference while playing.

Title: Re: Burguer stuff
Post by: erico on 2017-Jul-12
Here everyone on the scene.
The pickles will fast spin towards you if on the same level, a hit sends you spinning away with a good chance to hit the water.
The popsicle, as said before, will freeze burger pieces, you have to defreeze it by walking through its center (very slow). If a burger falls over a frozen one or the levels colapses, everything frozen will crash and be destroyed.

There are 9 designed levels with increased difficulty.
If you can keep your score above level*100, your are presented a more difficult modified version of the level.

You score the points of the burger you are standing on the platform at the level end + 5pts for each enemy thrown to water.
There is a very nice system to keep track of it because sometimes some action might dominó its way to thrown an enemy overboard on the other side of the screen...If your action was responsible for such, you score it. :)
Your life is your score, you loose 20pts if you fall on water.
You reincarnate as long as you have score and a door is above water.

That is pretty much it. Sound is missing and I still have to work on the player´s control to make it even better.
I also suspect making the android control for a single player version (which I intend to try sell it locally as merchandise) is going to be a challenge.

On the video, a couple friends are playing on the keyboard and joypad...I´m playing the green guy by my phone using a wifi joypad app.
Expect the green player to be constantly falling off platforms amongst other dumb stuff.

http://youtu.be/SaqsGcT1BEk


EDIT: You tube not previwing again? My last post works but I can´t append to this one, even if I copy the same code from the working post before.
EDIT2: I thought it could be because of the copyR music I used, but removing it and it still does not display. I tried previewing another random youtube video and it worked...heck, what is up with this.
EDIT3: Works fine now...
Title: Re: Burguer stuff
Post by: r0ber7 on 2017-Jul-17
Your characters are awesome!

:D
Title: Re: Burguer stuff
Post by: dreamerman on 2017-Jul-17
That's green thing is a cucumber slice? Only that somehow doesn't fit, no legs, different animation.. sausage is the best :D
When player is climbing on ladder collision with pickles is disabled, or just collision rectangle is smaller?
As for one-screen game looks really good, and in my opinion there is no much things that could be added to keep style / simplicity of the game (power-ups like temporary immunity, longer range for attacks). With menu's in same retro style, some kind of like NES it will be interesting to check.
Only pc or also mobiles, with wifi multiplayer?
Title: Re: Burguer stuff
Post by: erico on 2017-Jul-21
Yep, it is a mighty cucumber slice or picles. The ice cream is a bit weird too for similar reasons.
The objects are within a 16x16 size and they all share the same block collision size. If you can stand on a very end of a platform or side of a star, you can avoid an enemy. I have tried adding more enemy types but have failed more than a couple times already so I think I will close the extras up at for a while. Hopefully PC hotseat multiplayer and mobile single player.
I´m still having trouble figuring out a good control, will upload a test soon so anyone can try.
Title: Re: Burguer stuff
Post by: Ian Price on 2017-Jul-21
Looks like a lot of fun :)
Title: Re: Burguer stuff
Post by: erico on 2017-Jul-22
Id love to have the ninja brocolli but it is just not working out :( strive on)
Title: Re: Burguer stuff
Post by: nabz32 on 2017-Jul-23
Very nice,

great work erico :good:
Title: Re: Burguer stuff
Post by: MrPlow on 2017-Jul-28
Hi Guys
Been busy with other stuff for a while, but back now....
This is super!

Love the graphics and the multi player version looks great fun!

Title: Re: Burguer stuff
Post by: erico on 2017-Oct-10
Here is a one level try,
3 players, one at arrows +ZX, seconf with joypad and third with wasd+er (which I map on another controller or by virtual pad on android).

I´m particularly interested on win 10 performance as on one super laptop server it worked really bad, about 40 fps.
I´d like to know your opinions on the gameplay.

f1 toggles debug info
f2 toggles array display
f3 restart the game on easy/hard mode
f12 sets level to fall

Sound fx, while some are ok, are just place holders and the splash is out of sync.

There might be more stuff, but that is it for now.
What do you guys think? :)

PS: I´m not sure I said it before, but because of your prime feedback and everyone´s else here, the player is not stuck on landing, he flows "normally" as in mario.
I really think it would be nice to have fall penalties(like on the early videos), but everyone else seems pissed by it, including every single person that lively tried it.
I decided to go with the flow against my will. :(  Let´s see.
Title: Re: Burguer stuff
Post by: MrPlow on 2017-Oct-11
Great stuff!

I think the other chefs need coloured hats to tell them apart and maybe also a player number above head when re-generating...

Otherwise you can easily run off the platform into water without knowing.

Also, I thought I made my two burgers but nothing seemed to happen?
Title: Re: Burguer stuff
Post by: erico on 2017-Oct-11
Yep, colored hat is something on the way.
Regenerating is a chaos and lots of time you regen over an enemy, I thought to control this a bit like holding button and regen only after release or possibly color flash the door according to the player.
This is just one level, one advances level by making a burger and standing on its platform on level end.

The two issues you stated are the most common complained ones, would you think they detract the game too much?

Did you play with a joypad? I had the ability of dropping from the platform turned off for a while because it was too easy to drop off by mistake...later decided to have it back again.

Thanks for reviewing, playing with friends is actually (like anything else) more fun. 
Title: Re: Burguer stuff
Post by: dreamerman on 2017-Oct-23
As already mentioned player number above chefs at start/respawn would be nice.
Joypad steering is fluent, but you should add support for steering with dpad, as it feel more retro (at least on my x360 controller only analog stick was working).
Whats the difference between easy/hard mode? On easy 'stuck on landing' shouldn't appear, but on hardest mode this could give additional challenge, all depends on difficulty balance and how it would fit into it.
Game really has a chance to attract users, single screen co-op/competitive games are rare those days and on one side it's strength, but on other it's weakness as real fun comes with playing with friends, and ideal target for this game would be Nintendo Switch or eventually other consoles, Steam might be hard to conquer.
I hope that it will do well after release as it's really good ;-)
Title: Re: Burguer stuff
Post by: erico on 2017-Oct-23
The difficult mode is now gone. The only difference was enemy set up per level and their speed.
I got it all into one mode.

It works on the pad and analog here on my logitech joystick, maybe I have to make them both available since on my pad I can switch each to use by pressing a button. Well thought, will add that.

I will STEAM it this end of month I hope. It has one campaign of 9 levels which will present themselves randomly.
I will add a couple more campaigns if people are interested and possibly a random campaign generator if lot´s of people enjoy it.
Title: Re: Burguer stuff
Post by: MrPlow on 2017-Oct-24
Cool Erico! Look forward to seeing it on Steam!  :good:
Title: Re: Burguer stuff
Post by: erico on 2017-Nov-11
It has a title and general sounds, some more bugfixes and now to fix controls and level generation...

This probably happens with other people but as soon as the game is playable, my will to finish it goes down considerably.
I´m thinking to build up a framework that will easy up the last bits on future games, stuff with controls, scaling, openings, endings, game controls and all the boring stuff I usually crawl to get done. :)
Title: Re: Burguer stuff
Post by: Ian Price on 2017-Nov-15
Yeah, I often get the same feelings towards the end of development. They do say that the last 20% takes 80% of the time - that's because you can't be arsed! :P

Looking great though :)
Title: Re: Burguer stuff
Post by: erico on 2017-Nov-17
Thanks Ian, this one must go out soon...

But, like @Dreamerman said, it seems the current config of pad didn´t work for him, only on the analog.
This is supposed to work natively on the cross pad of any joypad...but there are so many...:)

x360 and the likes of controllers are quite standard to a lot of people.
On my logitech, I can switch pad/analog by pressing  [MODE], but it starts on the correct one.

I can try to read both pad and analog to fix that, but is that really necessary? I wonder.

Title: Re: Burguer stuff
Post by: bigsofty on 2017-Nov-18
Looks great Erico, looking forward to seeing this on Steam.
Title: Re: Burguer stuff
Post by: MrPlow on 2017-Nov-19
Hi Erico,
My standard gamepad config seems to work fine and Steam accepted it fine. I am using Dual analog sticks for my controls.
Tested with Xbox 360 and Logitech Xbox type controller.


Quote from: erico on 2017-Nov-17
Thanks Ian, this one must go out soon...

But, like @Dreamerman said, it seems the current config of pad didn´t work for him, only on the analog.
This is supposed to work natively on the cross pad of any joypad...but there are so many...:)

x360 and the likes of controllers are quite standard to a lot of people.
On my logitech, I can switch pad/analog by pressing  [MODE], but it starts on the correct one.

I can try to read both pad and analog to fix that, but is that really necessary? I wonder.

Title: Re: Burguer stuff
Post by: erico on 2017-Nov-19
Did you try the demo?
If it works on the x360 pad (not the analog but the pad) then it will be great. :good:
Title: Re: Burguer stuff
Post by: dreamerman on 2017-Nov-21
Remember that many people are using joypads from consoles, you just need usb cable to connect them to pc / or bluetooth, and they don't have switching analog stick to dpad like pc dedicated joypads. And in my opinion for such games it's just better to use dpad (directional pad / cross pad), same goes for arcade games from older systems - emulators and others.
I have checked and GETJOYX() is for analog stick, GETDIGIX() gets info from dpad, so you can read both, shouldn't be problem.
Title: Re: Burguer stuff
Post by: erico on 2017-Nov-21
Yep I´m originally pooling joys with the likes of:   jx[0]=GETJOYX(0); jy[0]=GETJOYY(0)
I guess I will have to add the others too for the reasons you stated.

Playing this game with the analog causes the players to keep dropping from a platform all the time, even if using low sensitivity.
Title: Re: Burguer stuff
Post by: erico on 2018-Jun-29
I´m just putting some final touches on the controls now where I want to have support for psx and xbox controllers like @dreamerman said.
Psx is all working fine now but Xbox not yet. Could someone with an xbox controller tell me what is its button mappings if it is easy to check?
I´m particularly interested on the DPAD responses and the normal 4 buttons.

I´m looking around the internet somehow without success and also can´t find anything like an xbox controller emulator.
Title: Re: Burguer stuff
Post by: spacefractal on 2018-Jun-30
its the best practical to read BOTH the analoge stick with a some deadzone (like 0.4) as well the dpad. The dPad in most this kind of controllers is often used as a flight hat seen in Windows.

On windows Xbox and PS3 is quite similar mappings as im remember, but they are very different on Android throught and some buttons conflics.

You can eventuelly uses the GameInput API, if you want to use it.

Just to make sure you reading the HAT and the Analoge sticks, if they exists.



Title: Re: Burguer stuff
Post by: dreamerman on 2018-Jul-20
hm.. XBox game pad should be same as others joupads to check.
but if it will help you here it goes, Xbox 360 Wireless controler checked with joystick2.gbas from 'samples'
GETDIGIX() GETDIGIY() -> DPad / directional digital pad -> left x=-1, right=1, up y=-1, down y=1
GETJOYX() GETJOYY() -> left/main analog stick -> same stuff, max left value =-1, max right value =1...
GETJOYRX() GETJOYRY() -> same as above for right analog stick
GETJOYBUTTON(jpad, but) -> buttons: 0-A, 1-B, 2-X, 3-Y, 4-left bumper, 5-right bumper, 6-back, 7-start, 8-left stick click, 9-right stick click,
GETDIGIZ() -> 0-neutral, -1 -> left trigger pressed, 1 -> right trigger pressed
I've checked also JOYSTATE command and must say that using it isn't good idea.
If you need any futher info fell free to ask ;]
Title: Re: Burguer stuff
Post by: erico on 2018-Jul-31
Thanks Dreamerman, that is what I was looking for.
I´m currently using JOYSTATE though and yeah, doesn´t feel like a good idea but you know those games you code and they suddenly grow into something without planning? :D

I will try to work with those and try to implement an xbox pad support that way.

I will upload a newer demo soon.
I already got the Steam license for this and hoped to have it released in a months time.

Meanwhile, I did a trailer and a gameplay video, here is the later:
Title: Re: Burguer stuff
Post by: erico on 2018-Jul-31
Oh heck, why not post the trailer too?? :-[
It needs some fixes and I will probably get rid of that fast sequence a bit after the start, but it is pretty much a fast cut, I don´t want people to understand the game by this trailer (use the gameplay video instead), but it "should" be nicy enough to raise interest.



PS. Was edited for me, no sure why youtube not working anymore. API is property changed.
Title: Re: Burguer stuff
Post by: r0ber7 on 2018-Aug-01
Nice! I like the ending where it falls into the water.  8)
Title: Re: Burguer stuff
Post by: MrPlow on 2018-Aug-02
Looks great!!!

Should get a lot of arcade co-op fans!  :good:
Title: Re: Burguer stuff
Post by: bigsofty on 2018-Aug-02
Videos are missing for me, anyone else have the same problem?
Title: Re: Burguer stuff
Post by: erico on 2018-Aug-03
That is very strange, they show up fine here. They are unlisted though, could that be a reason?
Title: Re: Burguer stuff
Post by: dreamerman on 2018-Aug-03
There is some issue with Youtube videos here on forum, no idea why but you need to disable ad blocking / allow 'dangerous' content to be shown :D (at least in Opera)
Title: Re: Burguer stuff
Post by: bigsofty on 2018-Aug-03
That worked, thanks DM.

Looks great Eric, frantic and fun. Love the retro look, SFX, palette and the low res GFX all have a very familiar nostalgic feel. 
Title: Re: Burguer stuff
Post by: erico on 2018-Oct-12
Thank you all for the help! :good:

I added a total of 64 stages and added an extra enemy, a sushi.
All in hope to be able to charge 9.99 while offering more content to boot.

I ended up forking for a xbox one controller, which in brazil, comes as cheap as 100 dollars :(
All working on this front but... it all conflicts a bit with the code-read I did to use psx3 and psx4 joypads.

I´m not in a position to remake the control system and I´m willing to drop psx pads support altogether.
It seems by the latest steam pool not many people use their psx pads to play on PC.

What do you guys think about it?
Title: Re: Burguer stuff
Post by: dreamerman on 2018-Oct-12
I though that basic joypad input should be same for all gamepads. Does button numbers (are mapped differently) on PS3/4 pads differs from those on Xbox pads or its something else?
Or maybe this are issues with JoyState only?
As Xbox controllers have more than 60% of Steam market it still would be good to support the rest of possible gamepads, specially in such kind of game. On other hand GetJoy should also work with those pads without problems hm..
Title: Re: Burguer stuff
Post by: erico on 2018-Oct-13
If you plug a psx pad on a win 7, it downloads sony drivers and its button mappings conflict a bit with xbox/pc pads.
So if you play with an xbox controller, the intended pad/joy and buttons work fine, but if I press other non-used buttons, it responds as actions mapped towards the psx.

I could get the joy name and work from there, but how about the millions of joy clones? would they get same system name?

I could leave the control code as it is since it works, but it might get confusing for the less computer neard.

On another subject, I think the game is pretty much done.
Since it is a multiplayer game, it is hard to test for everything, so, should one go for early access to iron possible deal breaker bugs?
Or just release the game normally and patch should something arise?

EDIT: I think I got the controls all fine now.

Title: Re: Burguer stuff
Post by: erico on 2018-Oct-17
Everything is at Steam´s hands now, hopefully the game is online by 30th this month. :bed:
Title: Re: Burguer stuff
Post by: spacefractal on 2018-Oct-17
:-D