DizzyAGE New Features Board

Need help with using DizzyAGE then look here
Post Reply
xelanoimis
Team Yolkfolk
Team Yolkfolk
Posts: 1014
Joined: Sun Jan 21, 2007 6:34 pm
Contact:

DizzyAGE New Features Board

Post by xelanoimis » Sun Feb 24, 2019 6:18 pm

Hey,
I'm starting this thread to give people a chance to submit NEW ENGINE FEATURES to be included in the official DizzyAGE version.

First of all, this does NOT mean I plan to put time to extend DizzyAGE.
It worked fine for more than 10 years and for more than 140 games.
But, since the sources are free, people may come up with really good new features or even solve possible bugs.
Since my time is very limited, I'd like to make sure these new features or changes are really needed by a lot of people and that they make sense for DizzyAGE and its original intentions.

Also a BIG concern is PORTABILITY. I want to be able to bring all the existing games to any future platform or OS just by porting the engine. Any games using custom versions of the engine or doing platform specific things may not be portable.

All developers should use the official DizzyAGE version if they want to assure a long life for their games. Keep it clean and simple!

Here are a few ideas about how this could work.

- Who can submit changes?
- active DizzyAGE developers who changed the engine and feel these changes are useful for others too
- if changes are in engine code experience in C++ is needed and strong understanding of DizzyAGE engine
- if changes are in the official script templates, experience with these is needed

- Who should review changes?
- active DizzyAGE developers who have one or more games finished
- if changes are in engine code experience in C++ is needed
- if changes are in the official script templates, experience with these is needed

- Who should vote changes?
- developers making games with DizzyAGE engine, if these changes are really useful for their games too

- What can be proposed?
- bug fixes, as soon as you spot them :)
- new editor accessibility features or extensions for easier use
- new engine (game) features, if they are really useful for everyone

- What is the post format?
- start with the feature title in each post to help people speak about it
- state the type of the change (bugfix, editor extension, game feature, etc.)
- what is it and why is it needed
- where are the changes (link to sources and compiled engine) including only this change (for easy code compare)
- do it one feature at a time

- Before you post
- make sure the change is useful for everybody
- make sure it is aligned to the original intention of DizzyAGE
- make sure it is aligned to the code style and you understand the engine flow very well
- make sure it doesn't break the existing games (test!)
- make sure it doesn't limit future features (like using an important shortcut key for a not so important task)
- make sure it doesn't reduce COMPATIBILITY and PORTABILITY (and is wrapped well in the engine)

- After a post
- active developers who think the feature is useful, please test and review
- if it's an engine change involving C++, people with C++ skills could do a review and point eventual improvements
- developers who are interested (but not sure how to review), vote for the feature
- when enough reviews and votes, please notify me on email so I can have a look as well.

Let's take it slowly and make sure these changes are really needed in the official version.
Again, I don't plan to make DizzyAGE do something different than it was created for, but some updates can be made official if people really need them.

User avatar
Noggin the Nog
Hard Boiled Egg
Posts: 429
Joined: Sun Jul 01, 2012 12:04 am

Re: DizzyAGE New Features Board

Post by Noggin the Nog » Sat Mar 16, 2019 5:55 pm

Wasn't sure where to post this but I've found a small error in the movement.gs file.

The section:

Code: Select all

func CM_CheckJumper()
{
	x1=0;y1=0;x2=0;y2=0;
	PlayerMakeBB(&x1,&y1,&x2,&y2);
	materials = MaterialRead(x1,y2,x2,y2+1); // read materials under the player
should read:

Code: Select all

func CM_CheckJumper()
{
	x1=0;y1=0;x2=0;y2=0;
	PlayerMakeBB(&x1,&y1,&x2,&y2);
	materials = MaterialRead(x1,y2,x2-x1,1); // read materials under the player
The difference is the coordinates in the MaterialRead function, which uses the format (x,y,w,h), unlike all the other materials functions, which use (x1,y1,x2,y2)

Grandad
Hard Boiled Egg
Posts: 1485
Joined: Sat Aug 08, 2009 10:47 am
Location: Balham - gateway to the south

Re: DizzyAGE New Features Board

Post by Grandad » Mon Mar 18, 2019 9:39 am

Noggin, what problems does the error cause? Can't say I've noticed any problems with jumping (fixed or otherwise). Thanks.

User avatar
Noggin the Nog
Hard Boiled Egg
Posts: 429
Joined: Sun Jul 01, 2012 12:04 am

Re: DizzyAGE New Features Board

Post by Noggin the Nog » Mon Mar 18, 2019 10:16 pm

The function's only used if you turn on the custom movement, so most games won't be affected at all. But if you do turn it on, try putting a jumper in the middle of a room somewhere and then jump Dizzy around to the left of it. Make sure the jumper material extends a little way below ground level. You should find Dizzy starts bouncing without touching the jumper - it's because the box that detects the collision extends too far to the right, because the coordinates in MaterialRead are wrong.

Grandad
Hard Boiled Egg
Posts: 1485
Joined: Sat Aug 08, 2009 10:47 am
Location: Balham - gateway to the south

Re: DizzyAGE New Features Board

Post by Grandad » Tue Mar 19, 2019 10:09 am

Agreed, I only use custom movement for climbing up beanstalks etc and running fast ..but I've made a note of your remedy and will add it to both movement files just in case. I don't use the 'basic' scripts as I've always included all the clever little extras people have mentioned over the years (such as Jamie's re-spawning on dry land when killed underwater without a scuba) as my 'template' script folder. You won't believe the size of my 'utility.gs' file. ...or the size of the menus and handlers file in my latest game that deals with 100 costume changes.

PS - would you believe I've only just realised how to utilise the direction Dizzy is moving in when he hits a collider :hitwall:

Lex_Hedley
Hard Boiled Egg
Posts: 241
Joined: Thu Jun 19, 2008 7:09 pm
Contact:

Re: DizzyAGE New Features Board

Post by Lex_Hedley » Sat Jun 29, 2019 7:20 am

What are your thoughts on uploading the source to GitHub,

(If people want to make their own changes that you don’t want to support they can fork and you have visibility of that. Like Scripting Engine)

If they want to propose new features they can raise an ISSUE, discuss the pros/cons like you suggest here, then a PR can be made, reviewed, updated based on feedback then added to the app.
They could help with implementation if willing and able.

There could also be other repos for storing example games, scripts from the forum for specific techniques for game mechanisms, sprites etc

Post Reply