Friday night,curry,pint,blitzmax

Miscellaneous Forums/General Discussion/Friday night,curry,pint,blitzmax

Madness, I really don't remember the last time I was "in" on friday and programming!

*scratches head for a second*

So Im in, blitzmax open.. drink sipping away and a curry scooting along on some roadway heading towards my house. Suprisingly enough my coding session has been quite productive. Writting a "combo" system for a control class that I have already plugging into an ever increasing in complexity 2d engine.

Whats everyone else doing?

*drinks are on me!*
*milkybars are also on me!*

Oh oh oh, you should get really pissed and write A pong clone, then enter it in the competition

still at work :|

Heh..um, *looks at pint* *looks at curry*

Yup, im doing the same mate!

mmmm what kind of curry ???
I'm hungry - lol

HAHA.. hey perhaps an excuse to use my engine and make a pong clone!!!!

it was a chicken kurma.. nothing spicey.. but the fluckers forgot the rice!!!!

*crosses cafe naz from list of takeaways to goto*

Oooh, I like food too.

However, I haven't got anything exciting to post about - I got some apples, a tin of pilchards and that's about it.

I'd kill for some fast-food - chips, burgers, that sort of thing. I'd settle for a kilo of crisps/Pringles.

I have a bag of lollies. That's probably going to be my breakfast.

Puki, what about a punnet of plums, that's fast food, eventually! ;O)

they forgot the rice ?!!

lol@DeadToby

Curry??? Nope... Friday night, is Beer and taco night down in Texas! Lets see something on this 2D engine... screenies, ideas... don't just tease us!!!

Haha yes I was as shocked as you were!.. Wtf is a curry without rice!


(a swanky logo)

I posted a lil demo of it a while back. Not showing much back then, but here is a screenshot of the latest progress.



Hmm that post seems to have been deleted for some reason.. so here is what i posted back then.

http://skn3.acsv.net/junk/entitydemo.zip


(this giant thing is 1 root entity with lots of child entities attatched to it. All rotation, scale, positions are calculated automatically recursively)

And here is some information about it...

Features are still in development but here are a few key points:

+ Comprehensive entity system.
- scaling
- rotating
- flipping
- animation
- parent/child relationship with other entities (this includes inherited rotation/scale/position)
- collisions (bounding, rect, polygon hull)
- rigid/soft body physics (physics component being worked on by a team member)

+ Game "runtimes"
The engine lets you plug a "runtime" into the engine. One at a time. Your runtime is extended from a root runtime type, 'acruntime'. This runtime acts as a level, menu, screen, bonus screen or whatever your game needs.

There will be (platform runtime currently in creation) pre created runtimes to use or extend. These will allow quick creation of certain types of games. For example the platform game runtime. It will include a selection of entity types extended from the main entity type that make creating a platform game easier.
- Start / End runtime transition effects
- Change game mode by calling engine.setruntime(myruntime)

+ Controller plugin
I have taken all the tedious code out of writting an input template for your game. You create a controller object and add a few buttons. The controller could be keyboard, joypad, mouse or something else if an extended class was created for it.

You can set detailed "tick" rates for each button by passing an array ov time values. Passing this [1000,500,250,125,62,31,15,7,3,1,0] would make the control.buttondown() report at ever increasing intervals if said button was held down. Useful perhaps for an autofire/hold to charge fire power in shooter game ?

Right at this moment I am working on a combo system for the controller object. This lets you create a combo that consists of a command queue...
press button, hold button upto 100 ms, release button, optional delay upto 100ms, press down, release all...
it will watch for this chain of commands in sequence and the game can call a function at anytime to see if the combo was carried out. A good example how to use this, double tap and hold a direction to run instead of walking.

Is that enough information yet ?

From the screenshot you can see I have viewports. Usefull for instant splitscreen. Setting up a viewport takes about 4 lines of code and will render another duplicate of the runtime you add it to. Each viewport can be "scrolled" to different locations and has its own render function if needed.

Basically the engine is going to be a pretty much complete solution for 2d games :)

... at least I hope so anyway!

Cool! Keep it up... is the collision based on PNG graphics or simple primatives?

Currently the collision has 3 options.

Bounding box
- This will test for collisions with a dirty rect that encompases the entire entity.

Rect
- this will will test for collisions with a rect (with rotation). This is shown in the screenshot above on previous post.

Polygon
- Test for collisions with a custom polygon shape.

I don't know if I will add pixel collisions. The polygon method is far better. You can just assign a polygon shape that roughly matches the outline of your sprite and a-voila!

The system now is pretty fast, it will test for collision first using rectsoverlap, using the bounding boxes. Thus skipping any un needed checks. It can do this as it will keep track of the bounding box any time you modify the entity. Very similar as to how you would do collisions on a tile based system. Test the rect collision in a tile, then for pixel collisions after that. Maybe pixel collisions are needed :P..

lol

'Artur'? Is that short for something else, or shouldn't it be 'Arthur'?

No idea, it is not me doing the artwork .. LOL. Im sure its just trying to be cute with the name arthur ::PP

It's short for King Arthur, fit into 5 letters :)
The other character is Lance, for similar reasons :P