Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Lt. Smash

#1
Engine Development / Re: Porting to Allegro 5
Fri 20/02/2015 10:35:19
That's exactly my opinion. Nothing entirely new, just make the same only better.
Look in really basic terms, the AGS engine in it's current state is something like this:

Code: ags

A1C1B2A2
B1D3A3C3
D1C2
...

(every letter + number stands for a feature/sub-feature of AGS)

while at best (with a rewrite) it should be like this:
Code: ags

A
    A1, A2, A3
B
    B1, B2
C
    C1, C2, C3, C4
...


You see, the old and the new engine all have the same features. The outputted game and the editor will stay the same. However, if you want to add a new feature or fix a bug in the current version, you have to take into account lots of actually unrelated features and be very cautious to not break anything else.
The new more modular (interfaces + implementations) approach, clearly has all features separated (as far as possible). And then the implementations/sub-features only know about their parent feature. If you know there's a bug in B, you can be sure that nothing in A or C breaks if you fix it. The same applies to adding a new feature to C. Features A and B will be totally untouched.

An example of a feature could be the renderer, the scripting language, the interpreter, the audio part etc.

Allegro 5 would fit perfectly as an implementation of the core-feature layer.
#2
Engine Development / Re: Porting to Allegro 5
Thu 19/02/2015 14:30:15
Sorry, for barging in but I have to give my +1 for starting from a fresh code base and reimplementing existing core features.
People often seem to misunderstand to meaning of a fresh restart. Look at starbound. They started with a totally different codebase (not that efficient, moderate expansion capabilities...), then the game became a huge success and they reimplemented the wheel. For them it is now far more easier to implement new features and fix bugs, but for the player the game is still the very same (just better).

The same goes for AGS. Reimplementing core features in a more efficient, modular and cross-platform way will in no way change the games that will be produced, as well as the developing process for the game developers. But the games will probably get more performant, can have tons of new great features (for example: GL shaders), the scripting language will get many new capabilities and so on.

Clearly, this should be the way for AGS to go. The only true way to make AGS survive the future.

BTW Basing it on generic interface with Allegro 5.1 as a base implementation seems to be a good idea. Allegro 5.1 even supports Android.
#3
Very great art indeed! I like how you use perspective to make the scenes more dynamic and interesting.
#4
Quote from: AnasAbdin on Mon 25/08/2014 07:27:59
Quote from: Lt. Smash on Mon 25/08/2014 00:58:58Oh, I meant the grey squares behind the inventory icons with the arrows and the ok button. Certainly a UI from a space ship would look good ;)

This is not the inventory, these are dialog topics.
How cool! I always liked these graphical dialog systems :)
#5
Oh, I meant the grey squares behind the inventory icons with the arrows and the ok button. Certainly a UI from a space ship would look good ;)

BTW the trailers are really cool :) So much detail! I like how the lips fit very well to the spoken words!
#6
This is looking really AMAZING! :shocked: Those cutscenes are really well done and the characters animations couldn't be better!
Kinda reminds me of The Dig, especially the first part where you move around that asteroid.

Can't wait to try this out!


Just one thing that could be improved: Select a more space-y font that fits better to the theme and get rid of the default buttons for the inventory.
#7
Quote from: Crimson Wizard on Sat 08/03/2014 14:50:05
- What kind of system/engine do you want to get done?
- What kind of users is it aimed for?
- What kind of general features should it have?
- Do you want it to be extensible, and which way?
For me it's clear that AGS should stay AGS. Even though the new AGS is completely rewritten in a different language, it should still have the same features, target the same people and have the primary purpose on developing adventure games.

What I'm proposing is a AGS that is totally differently implemented than the original AGS to conform to todays development standards but still be substantially similar to the original AGS for the end developer and player.
#8
As I see that there is a little bit of interest in an AGS built with Java and maybe LibGDX, I have just crafted out this raw todo list that would be involved in creating the new AGS when taking this route:

Quote
1. Milestone:
   Developing the base classes to create a standard adventure game with rooms and walking/talking characters.
1.1. Creating a model for an expandable class hierarchy that will be exposed to the end developer.
   AGS.rooms
   AGS.characters
   AGS.objects
   â€¦
1.2. Implementing rooms.
   At this state the developer will be able to only create new rooms via code. Like:
   Room rIntro = new Room(„intro“);
   rIntro.setBackground(„intro_background“);
   rIntro.setWalkableAreas(„intro_walkables“);
   rIntro.setWalkbehindAreas(„intro_walkbehinds“);
   AGS.rooms.add(rIntro);
   AGS.rooms.fadeTo(„intro“, FadeType.SLIDE_LEFT, 0.5f);
1.3. Implementing characters.
   At this state the developer will be able to only create new characters via code. Like:
   Character cEgo = new Character(„ego“);
   Animation aWalk = new Animation(„ego_walk“, 10);
   cEgo.setWalkingAnimation(aWalk);
   Animation aIdle = new Animation(„ego_idle“, 5);
   cEgo.setIdleAnimation(aIdle);
   Animation aSpecial = new Animation(„ego_special“, 7);
   cEgo.addCustomAnimation(„special_1“, aSpecial);
   AGS.characters.add(cEgo);
1.4. Implementing walkable areas and walk behind areas.
   Areas can be defined as SVG or pixel graphic files. SVG allowing overlapping areas, pixel graphics will work like in the AGS editor.
1.5. Implementing a search path algorithm like A*.
1.6. Implementing different fullscreen modes.
   The developer will be able to use any resolution they want. He should be able to choose a fullscreen mode and if he wants to allow the player to change that. Like „stretch to fit“, „black bars“, „scale up with non-nearest-neighbor filter“.

2. Milestone:
   Extending the features with an Action system, objects and inventory items.
2.1. Creating a model for a class hierarchy that allows to make actions like PICKUP or USE.
2.2. Implementing Actions.
2.3. Implementing Objects.
2.4. Implementing Inventory Items.

3. Milestone:
   Adding a customizable UI system that is build on top of scene2d, adding a dialog system with custom dialog script files and adding a translation file system.

4. Milestone:
   Games should be bundle-able into a installer which automatically installs the JRE if necessary. Also add the remaining features from the old AGS engine, like MIDI and PCX support.

5. Milestone:
   Creating the editor to allow for room, character, object... creation via editors. These editors will create xml files for all game elements. These xml files will be read by AGS at launch and then the elements will be automatically created.

        Implementing a resource linking system similar to Android. This allows for code auto-completion of game resources and elements.

6. Milestone:
        Creating code templates that the developer can use for easier development without much developing knowledge.
#9
Quote from: Snarky on Sat 08/03/2014 12:56:08
You realize that AGS is already on Github? https://github.com/adventuregamestudio/ags/
Ah my bad! Must have overslept that ;) Thanks for the update!
#10
Regarding development and hiring a coder.
I would propose to first create a new public Github project for AGS. This way everyone can contribute and help (via pull requests and issue posting). It's also motivating for others to see how it is coming along.
For those who don't know github, check the libgdx project out here:  https://github.com/libgdx/libgdx
Especially take a look at the commits page, as you can see how it is actively developed: https://github.com/libgdx/libgdx/commits/master
I think that this would be a first step in thriving more motivation onto the AGS project.
Then we should form a team of willing developers, who would have the time and interest in developing AGS. One coder won't be able to do all the work. Though it could be motivating if the ones would get a little wage for their work.
#11
The reason why I was proposing libgdx was because it is a low-end backend. Meaning we can build solutions to certain parts of AGS (room hierarchy, dialog engine, template system or the editor, just to name a few) just the way we want. On the other hand Unity is a high-level event based 3d development tool which has already lots of features and editors for things that probably no adventure game creator ever needs. LibGDX is not bloated, it's really light-weight. One of the great things I like that much about libgdx, is that it's targeted towards 2D development (still it also allows for 2.5D or 3D) and has an excellent expandable UI system.

Also Java already has a solution to almost anything, like javax.sound.midi for Midi sound support. And we can use JNI to add certain C or C++ modules, like PCX support.

We could even use a Java JavaScript interpreter and then allow people to develop in JavaScript, though I don't think that there is any benefit in using JavaScript over Java for developing. The syntax of both really much is the same and both are object oriented (JavaScript having the DOM).

But that's really much just an idea. In the end it is the decision of the community on how we go about AGS 4.0. One thing I have to say though, AGS has now reached the end of it's glory times in Antiquity. Now we must decide if we let AGS drift into the Middle Ages and everyone forgets about it or we directly lead it into Modern times. And a rewrite is the only option for this to happen.
#12
Creating retro style games will still be possible with AGS 4.0, I hope ;)
Frankly, it shouldn't be any problem to create a retro game and a super high resolution adventure game with the same language and framework. If you can create something super fancy, you can also create something not so fancy, low-res. (I imagine 8-bit color mod, implemented via custom OpenGL shaders which also allow for color cycling, just like in those old days)
And regarding developing without scripting knowledge. I think that code templates would be a good substitute for that feature. There could be an editor plugin which automatically adds code templates to the game code. The developer just has to select a template and fill in the correct data, the plugin does the rest.
#13
Just my 2 cents. The primary purpose of AGS is that it makes it easy to develop Adventure Games and other similar types of games. No need for super hardcore 3d games and other special tasks. So my question is, why not using a low-end open-source backend, like LibGdx or other similar frameworks? No need to reinvent the wheel (developing an engine from scratch), especially for games that don't need much resources.

My proposal is this:
AGS 3.3 is working pretty well as it is. So games will continue to work as they are and game developers can stick to this version to complete or enhance their games.
AGS 4 will be completely new on top of a framework like libGDX.

Why LibGDX you ask?
+ Ok, that's maybe just my personal preference but I think that Java and C# are some of the most readable and understandable programming languages. At least one has an easier time learning Java (or C#) than C or C++ or Obj-C. LibGDX is developed in C, C++ and Java. AGS script is similar to Java and C#, so it wouldn't be too difficult for AGS developers to switch to Java language.
+ It is easily extendible and works well with IDEs like Eclipse and IntelliJ IDEA.
+ It is portable across Windows, Linux, Mac, Solaris, iOS, Android, Blackberry, all major browsers (as applet or HTML5 app).
+ It is extremely performant (using OpenGL 2+) and can run even 3d games on Android without lacks.
+ It is constantly enhanced by a large community which will help with all problems that the AGS development team could come across.
+ Super fancy OpenGL Shaders!
+ Unlimited sprites, animations, rooms, characters, everything! The only limitation is the hardware.
+ The developer can use any code (like the AGS "plugins" and modules) that is available for Java. For example: Facebook integration, in-app purchases, server connection ...
+ Today Java is pre-installed on almost any supported OS and we could also create a default game installer, which automatically installs the JRE if necessary.
+ Super high motivation, because we could have a working full-featured sample of the framework in a matter of months.

First step would be to create the AGS framework on top of LibGDX. We can create similar named classes and methods so AGS developers have an easier time to get into the new framework.
Second step would be to create the AGS editor. This could be done by creating Eclipse/IntelliJ plugins and a custom AGS View. Or a separate application.

The end developer would then develop using the Java language. For example:
Code: java

public class MyAGSGame extends AdventureGame {
  public void start() {
    // Game start

    Cutscene.begin();
    Character cEgo = Character.get("ego");
    cEgo.say("This is the beginning...");
    cEgo.walkTo(15, 30);
    cEgo.wait(2);
    cEgo.say("...of something great!");
    cEgo.playAnimation("raise arms");
    Cutscene.end();
  }
  public void pause() {
    // Game in background.
  }
  public void resume() {
    // Game back from background.
  }
  public void update(float delta) {
    // The old repeatedly execute
  }
  public void quit() {
    // Game quits.
  }
}


http://libgdx.badlogicgames.com
https://github.com/libgdx/libgdx/wiki
#14
You could try http://tinypng.org/ to reduce the size of your png images. If you use lots of pngs this can reduce your game size more than the half ;)

Anyhow, really interesting game you are creating. I'm looking forward to it :)
#15
If you are really willing to do it, then the fastest and most convenient way will be to rewrite the engine from scratch. Completely forget about backwards compatibility. This way you can write it like you are used to it and there are no limitations. Most of the features you will be able to easily convert from the old engine code, others may be more difficult.
If people want to upgrade to this new engine version, they may will have to alter some bits of their code to establish the same look and feel. If the project / folder structure changes, someone could write a simple project updater. I don't think this is asking too much from the users.

For the time now, you should just release what you have. Maybe just make limits to be changeable instead of entirely removing them, if this is easier.

Just my 2 cents.
#16
You would never believe it, but we just DID IT!
$900,000 to create a wonderful spiritual successor of the Neverhood.

Armikrog. Seize the Clay!
#17
Five days left to back this nice adventure game but still a lot of money left to make it real:
http://www.kickstarter.com/projects/1949537745/armikrog

They have added some nice add-ons and tiers for all who would like to pledge some money.

It would be lovely to see this game come alive :) (it was one of the first games I remember playing...)
#18
The process of building a bomb can be considered good or bad depending on the purpose it serves. If you build a bomb to use it to blast rocks in order to build a street or a tunnel, it may be considered good. If you use it to be able to defend your country, it can also be considered good. But of course you can use every bomb to destroy enemy cities or kill innocent people, which the average person would call bad.

Someone may consider this ethically neutral, as it can serve the good and the bad.
#19
Quote from: miguel on Sat 15/06/2013 14:23:56
Well, kings, emperors, popes did justify many wars with religion, this is a fact. If there was no religion back then I believe the kings and emperors would have had to become much better politicians. Your idea that all the wars ended during the monarchy era is wrong. People still fight as we speak. And sorry to tell you but land and resource is still the main prize.

Just wanted to mention this, so I'm not that boring, but this was an excellent example of how differently atheists and theists think (it could actually be just you and me but who knows). I did always just argument on the things that you actually posted, in oppose to you automatically assuming that I'm talking of every war. I also did never say that all wars ended during the monarchy. You are twisting my words so they fit your beliefs.

People are in fact still fighting for their freedom just look at Syria, Turkey, Tunesia, Libya,... Suppressed because of politics and power, many of these Islamic countries (ab-)use their religion to justify the cruelties against freethinkers and people of different religion and culture.
#20
Quote from: miguel on Sat 15/06/2013 11:52:06
QuoteWhy do you keep making science responsible for Nagasaki and Hiroshima? Did science decide to kill hundreds of thousand civilists to decide war in favor of the Allies? Or where it the USA who finally dropped the bombs?
Well, science is indeed responsible for Nagasaki and Hiroshima. There was a joint effort of top leading scientist and a powerful nation to build a bomb that would and did kill a large amount of humans. Because most of us were on the allies field, the bomb may be seen as the "right" way to end the war.
The USA did drop the bomb, because they had the leading technology and the funds to do it.
It's senseless to talk further on this topic as you obviously abolish your old arguments and just invent new ones so you can keep your opposition. [EDIT] Your new posts have just proven that.

Quote from: miguel on Sat 15/06/2013 11:52:06
QuoteDo you agree that god and religion are responsible for hundreds of wars where millions of people died because of their different beliefs? If not, then stop pissing on things that you obviously will never understand.
As long as I don't piss at your door, I'll piss everywhere I want, dude. Lot's of people have died in wars. Land and resources are what drives people to fight. Then they use "excuses" to justify it. Religions was/is one of them.
I'm sure you obviously will never understand that there are other "justifications" to attack a nation.
You are totally right and actually you have just agreed on my opinion. The kings, emperors, the popes and the clerks they did justify war because of god and their religion. People wouldn't have killed to millions if the only reason would be land. Because religion exists, the emperors could abuse it to make people believe war is good. So if there were no religion many wars wouldn't have existed and many wars wouldn't be so disastrous. I also did never say that all wars are because of religion. There were thousands of wars but a few hundreds mostly because of religious belief/abuse.
[EDIT] Just wanted to mention this, so I'm not that boring, but this was an excellent example of how differently atheists and theists think. I did always just argument on the things that you actually posted, in oppose to you automatically assuming that I'm talking of every war and every killing.

Quote from: miguel on Sat 15/06/2013 11:52:06
QuoteCould you come up with an example of why atheists are boring? People who are open for new ideas, new inventions, new experiences do you call boring? Just my opinion but people who live like they used to live 2000 years before and not trying new things are boring.
I'm sorry but your point of view on this debate is neither new or inventive or whatever. It's just boring to answer you.
I'm sorry that I bore you but what do you want? If you like I can invent a new definition of atheism and/or theism but I don't think this would make this debate more clever.
SMF spam blocked by CleanTalk