Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Chat / Any "Master"/"FULL" App/Game Frameworks available ? (Explained inside)

Author
Message
spaceName
User Offline
Joined: 27th May 2017
Location:
Posted: 10th Oct 2017 20:43
Hi, I think we can all agree that apps and games have general similar frameworks..
-------------------------
I am seeking frameworks for AGK2, that can be used for projects of mine. Games, Apps.
- I can program this stuff on my own.. but I'm also a businessman..so if I can save time, as well as learn MUCH FASTER.. I am all for it.

Example of a very basic game framework
• SplashScreen
• A Menu that loads after optional splash ► Start, options, continue, exit (optionally: load, sign up/login) ..
• (Maybe a lvl selection screen with lockout progression)
• 2 (one with sphere, one with box)example levels to demonstrate the framework
• Basic Game Huds ► [ score, lives, health] [inventories, class adjustments..etc]
• Pause screen, with logic to pause engine outside of user specific commands
• Maybe a "configure user controls" HUD
• etc..
• If possible, some "working" ad systems that are basically completed and ready to use.

-> It would be nice if this auto-handled resolutions..for the device..and if the user wanted it changed.
-> ..and had other things completed .. things that are redundant to re-make ev.er.y.time..

THX !
I look forward to the massive amounts of wisdom you guys can lay down for those of us who are new to AGK2 yet not new to development.
'& Don't be worried about skill-level based communication...lay it down thick..I'd expect nothing less. ..and if you think I am being silly because you want to see me suffer through learning AGK2 like you did...then call me out on that. I'm ok with it! ..there just has to be a better way..and I see there's many of us seeking a "better way".

Why do I ask ?
Well, I see that many others think the same things that I have been thinking..
That this engine MAY be killer and fun....BUT.. there's hella nothing to get going on without spending hours and hours and hours sifting novice level materials.


Dybing
6
Years of Service
User Offline
Joined: 12th Sep 2011
Location: Bergen, Norway
Posted: 11th Oct 2017 00:32
Quote: "there's hella nothing to get going on without spending hours and hours and hours sifting novice level materials"


As with any programming language - and that is what AppGameKit is - you have to learn the basics before doing anything more interesting. If already experienced in one or more other languages, it won't take you long to map your previous experience onto the AppGameKit way of doing things. And if not, well, better put the coffee on - you'll need it
Mobiius
Valued Member
14
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 11th Oct 2017 08:56
Check out the [STICKY] Small Game Templates... thread.
For Physics examples, see the OFFICIAL 3D PHYSICS DEMOS TIER 1 thread.

There are already many many samples, and examples for you to pick through!
Click here for VR Legend of Zelda stuff
Markus
Valued Member
13
Years of Service
User Offline
Joined: 10th Apr 2004
Location: Germany
Posted: 11th Oct 2017 11:23 Edited at: 11th Oct 2017 11:27
each game is so much different, in the end you have or need your own framework.
myself using source code from other projects or creating the needed new.
if you using one framework at different projects you will have a problem if you will change it, it affects all projects.
a starter template for you will be one ore more game project(s) that fir your requirements.
i wish that source code is more modular / independent for sharing, but its not, it have so much dependencies.
AGK (Steam) V2017.09.25 : Windows 10 Pro 64 Bit : AMD (17.9.3) Radeon R7 265 : Mac mini OS High Sierra (10.13)
Conjured Entertainment
AGK Developer
12
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 11th Oct 2017 13:40 Edited at: 11th Oct 2017 13:44
Quote: "myself using source code from other projects or creating the needed new."


That is what I do too, just copy/paste code from other projects and then modify it to suit the new one.

Not exactly modular, but reuse is close and after awhile you will have a lot of useful code to borrow from other projects.

And as Mobiius said, examples are great places to start, and a great source when needing to borrow/modify code chunks.

Sometimes wrapping my head around other people's framework takes more time for me than figuring it out my own way.

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
GarBenjamin
User Offline
Joined: 30th Nov 2016
Location: USA
Posted: 11th Oct 2017 18:59 Edited at: 12th Oct 2017 01:11
Good idea.

Why is it we cannot delete our own posts if we choose to do so? Don't much like that but anyway.
TI/994a (BASIC) -> C64 (BASIC/PASCAL/ASM/Others) -> Amiga (AMOS/BLITZ/ASM/C/Gamesmith) -> DOS (C/C++/Allegro) -> Windows (C++/C#/Monkey X/GL Basic/Unity/Others)
tmu
User Offline
Joined: 2nd Feb 2017
Location:
Posted: 11th Oct 2017 21:33
I think spaceName has a good point there. I believe these are good examples of something that could be made close to 100% reusable and easy to set up:

-main menu: achievements, start, high score list, help, credits. just change the icons or so.
-high score lists saved and loaded, maintained and linked to menu screen list
-level select screen with locked/unlocked levels
-a hud with basics: score, items with icon and count,
-menu button setup and management to make it easy to do pause, exit, etc.
-configurable settings screen with sound, music, ...

This would make lots of things so much easier and faster.

Getting to the end (nicely working and polished framework) with this would just require writing 10 games first and iteratively refining it all while making those..
GarBenjamin
User Offline
Joined: 30th Nov 2016
Location: USA
Posted: 11th Oct 2017 22:34
Ah sorry about that you guys are talking about all of the extras so to speak. I guess I don't really see that kind of stuff taking much time to begin with compared to the time it would take to customize a generic solution the way each game needs it?

Some very basic framework for high scores, showing icons from an array of populated images and allowing user to select and return the index selected.. stuff like that could be useful sure. But again this stuff wouldn't take more than 15 minutes or so to write? Well all together I guess it could add up to a couple of hours for that kind of stuff. Yeah I see your point 2 hours saved is 2 hours saved.
TI/994a (BASIC) -> C64 (BASIC/PASCAL/ASM/Others) -> Amiga (AMOS/BLITZ/ASM/C/Gamesmith) -> DOS (C/C++/Allegro) -> Windows (C++/C#/Monkey X/GL Basic/Unity/Others)
Rick Nasher
User Offline
Joined: 25th Jul 2017
Location:
Posted: 12th Oct 2017 08:23
Hi,

I'm actually trying to build a 'Universal 1st/3rd person AppGameKit framwork(without physics) ' for newbies, with all gfx procedurally generated in code, so no media required.


Which I will release when time comes, not there yet though: need to add features, document and clean up code.

When I'm done, I'm moving on to a full blown media and physics using version, but for now this is great to find out the do's and don'ts in AGK.

Grtz,

Rick Nasher
-Ex-Blitzer-



Richard_6
User Offline
Joined: 3rd Feb 2017
Location:
Posted: 12th Oct 2017 09:29
If we take the example of what happened on the web/mobile side, maybe having a framework (or even a library) could be helpful. Take jquery as an example. In some cases you might take days or weeks to develop a complex javascript slider or a more elabrorated auto-complete field.

I agree that some stuffs we like to build by ourselves, but personallly I dont like to waste time making bouncing popups, cards sliders / carousels or animated menus. If we find ourselves wasting more time with these things than the core game itself then maybe a framework could be a nice addittion.
Scraggle
Valued Member
14
Years of Service
User Offline
Joined: 10th Jul 2003
Location: Yorkshire
Posted: 12th Oct 2017 09:51
Quote: "I think spaceName has a good point there. I believe these are good examples of something that could be made close to 100% reusable and easy to set up:"

That's pretty much what you should be aiming for when you write any project. Think about the code and how it could be utilised in another project. Then write that code as a self-contained library that you can #include in any time you need something similar.

I currently have 78 files in my library folder that I can #include whenever I need them. A small selection of them is available in my signature. If I need to use XML, I #include the XML.agc from the library. If I need to use AI, I will include the AI.agc file which itself then includes other sub-files from the library (follow, seek, flock etc.)
There are also files that I have in my library which other people have written such as Clonex's Bezier Curves. There's no point in me writing my own when I can simply #include that one.

Rewriting these files each time I need them would be crazy!
Kevin Cross
13
Years of Service
Recently Online
Joined: 15th Nov 2003
Location: London, UK
Posted: 12th Oct 2017 10:27
What would be great (not actually tested) is to have the include files in one central location outside of the project folders that can be pointed to with the #include line, which would also export to the final file for release without having to copy the central files into each project. I have several functions that I will use in every project but when you make a change to one you've got to make the change in each project folder which can be quite hard to manage. I've completely replaced CreateSprite and CreateText with my own CreateNewSprite and CreateNewText functions as I can get 30 odd lines of different SetSprite* and SetText* function into one line which is a massive timesaver and makes the code a lot tidier.

Admittedly I haven't actually tested whether or not this works, and whether or not the include files would be packaged in the final files.
Mobiius
Valued Member
14
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 12th Oct 2017 11:58
Quote: "What would be great (not actually tested) is to have the include files in one central location outside of the project folders that can be pointed to with the #include line, which would also export to the final file for release without having to copy the central files into each project"

You already can.

My AppGameKit folder is setup like this..

EngineCode
ACAN
Game1
Game2
Game3

and each game will #include files like this...
#include ../EngineCode/Engine.agc
#include ../ACAN/acan.agc
#include main.agc
#include ui.agc

and so on.
Click here for VR Legend of Zelda stuff
Conjured Entertainment
AGK Developer
12
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 12th Oct 2017 13:26 Edited at: 12th Oct 2017 13:32
Quote: "I'm actually trying to build a 'Universal 1st/3rd person AppGameKit framwork(without physics) ' for newbies, with all gfx procedurally generated in code, so no media required."

I have experimented with procedurally generating graphics, and it was a lot of fun.

There is no better way for an expansive map/world/universe while keeping your app size small.

I have only experimented in 2d not 3d, so your generated results are looking a lot better than mine ever did.

I would love to eventually use real map data and a lod system to create a virtual earth, mars, the moon etc. in 3D.

Quote: "When I'm done, I'm moving on to a full blown media and physics using version, but for now this is great to find out the do's and don'ts in AGK."

Maybe custom media for the characters later, but I would think that the generated stuff should stay, especially for trees and other heavily populated objects.

Quote: "I'm actually trying to build a 'Universal 1st/3rd person AppGameKit framework..."

lol
You're not trying dude, you're building it!

Your project is looking great so far Rick, so keep up the good work!

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
Scraggle
Valued Member
14
Years of Service
User Offline
Joined: 10th Jul 2003
Location: Yorkshire
Posted: 12th Oct 2017 14:03
Quote: "Admittedly I haven't actually tested whether or not this works"

It does work.
That is exactly what I described in my post above and exactly what I currently do.
Although I generally just #include a single file called "ScraggleEngine.agc" which hold a list of some of my more common includes and a few constants. If I need to include any others I include them separately.
Here is my "ScraggleEngine.agc" in it's entirety:
+ Code Snippet
Kevin Cross
13
Years of Service
Recently Online
Joined: 15th Nov 2003
Location: London, UK
Posted: 12th Oct 2017 22:19
Thank you @Mobius and @Scraggle. I'll start doing that going forwards if those include files are included in the final package. That'll stop me from having different versions in dozens of projects. Thanks.
Mobiius
Valued Member
14
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 13th Oct 2017 09:12
It does, that why I do it. When I update my core engine files, every single game which uses them also get updated, yet keeps things nice and separate so anything can be swapped out at any time.

(Gotta enforce the principles of OOP design as well as I can, even though AppGameKit isn't OOP! )
Click here for VR Legend of Zelda stuff

Login to post a reply

Server time is: 2017-10-24 12:14:24
Your offset time is: 2017-10-24 12:14:24