Figured I’d just go ahead and make my own thread for this.
I know I really need to break away from the weapons and introduce something that will add more to it, but haven’t gotten the urge to do so yet. I really want to start working on something else like the mobs or interiors, though.
Changelog is included in the zip now but:
–> v0.3.7
Bomb coded. This includes explosions as well.
Shovel code has been introduced. Can dig, no effects yet.
Had to code a delayed method invoking system. This is used to invoke a
method after a delay, which was used for the shovel(hole appears half-way
through the animation) and bomb(doesn’t destroy all objects at once, but
randomly).
Magic powder added.
Pushing/stuck animation bug has been resolved. Your animation no longer
gets stuck when pushing against a wall.
I’m really happy with the delayed invoking system. It’s easy to take stuff for granted in Graal, like being able to just type sleep(.5) and having a delay… but nothing like that is available here
[QUOTE=Noob709;73279]
Question; can anyone edit this?
[Whoops, I mean the LoZ clone there.]
[/QUOTE]
Most you can do now is edit the maps with Tiled, however the only data the maps hold now is the tiles and mob data. Will probably eventually include NPC’s… and that’s probably it. Chests, links and such will probably be stored externally, and since there’s no scripts you won’t be able to make new monsters/bosses or weapons, anything like that unless I release the source.
Had to code a delayed method invoking system. This is used to invoke a
method after a delay, which was used for the shovel(hole appears half-way
through the animation) and bomb(doesn’t destroy all objects at once, but
randomly).
[/QUOTE]
You could do what I did for Dungeons. Create your own custom animation scripting system and expose everything to it. I did a simple command-based scripting system that executed the list of commands each frame. It could do stuff like generate particle effects, send out attack events, change animation, and other various things.
[QUOTE=Nalin;73288]You could do what I did for Dungeons. Create your own custom animation scripting system and expose everything to it. I did a simple command-based scripting system that executed the list of commands each frame. It could do stuff like generate particle effects, send out attack events, change animation, and other various things.[/QUOTE]
I’m literally fairly new to Java and to coding(aside from my experience with Gscript). I’ve thought about being able to parse commands and such but I honestly wouldn’t know how to go about it.
Merged doublepost_______________
[QUOTE=kalzor;73403]ive been watching the videos you put up on youtube. I think I’m the only “like”.[/QUOTE]
Probably, I don’t have many subscribers(most of them came from my Minecraft texture pack) and I don’t really have any place to share the videos lol. The only place I’ve posted this elsewhere was ZFGC and it’s gotten literally zero attention there, while the 500th crappy Gamemaker fangame with horrible controls and mechanics gets all the response
[QUOTE=Shiny;73409]
I’m literally fairly new to Java and to coding(aside from my experience with Gscript). I’ve thought about being able to parse commands and such but I honestly wouldn’t know how to go about it.
[/QUOTE]
My system is as simple as you can get really. It is a command based system. Basically, each line is a command. It is as simple as this:
On the zero-th frame (before we even start the animation), apply a force of 3 in the x direction, 0 in the y and z directions, and true says that this is relative to the direction the player is facing. (in Dungeons, they are left or right facing).
On the 3rd frame, generate an attack of 5 damage and generate a dust particle at position (0, 0) relative to the scene object.
You just break up the script into an array of lines, then tokenize each line. I first go through and separate the commands into frames. Each number: line creates a new frame and all subsequent commands go into that frame.
// Split commands into individual frames.
frame = new dictionary<int, list<string>>
current_frame = new list<string>
foreach string s in lines:
if s contains ':'
current_frame = new list<string>
frame[s.grab_frame_number] = current_frame
else
current_frame.add(s)
...
// Later on, execute all the commands for the frame.
f = frame[animation_index]
command = f.token(0)
switch command
case "generateattack":
damage = s.token(1)
...
case "generateparticle":
type = s.token(1)
...
The first token is the command and all subsequent tokens are the parameters. I throw it into a giant switch() statement (in C#, you can use switch with strings) and go from there. Super simple.
I have thought about making my own actual system, though, with a recursive-descent parser. Maybe some other time.
[QUOTE=tricxta;76634]Easy way to get over it:use a character editor,get the best items, find out how lame they are and finally get tired of it :)[/QUOTE]
Marumasa is awesome, wtf are you talking about? Also, of course getting the best items via cheating will make the game boring, you’re skipping the entire purpose of the game.
[QUOTE=Zartox;93703]
Just a note that this project is now on GitHub: https://github.com/dustyshouri/LinksAwakening
(dustyshouri authored 2 months ago)
I should take some time to study it a bit.
[/QUOTE]
Maybe one day I’ll revisit it. There were a few things I noticed that I’d probably have to do like caching all the sounds(because apparently whatever I was doing had to load them on the fly when they were called so there were hickups in the framerate the first time a .wav was played) and the MIDI method I was using was apparently broken somehow. It worked fine being run from Eclipse but running standalone it had no volume adjustments.
Besides that there were the obvious things, like me not properly utilizing entities and such.