New account registration is temporarily disabled.
  • Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Miscellaneous

Items can be seen

Version 0007a; Update 1

In the latest screenshot, you can see the items and a status display of your current group is shown to the left. I'm going to work on the displays and make them much easier to see as well. I've almost completed the initial engine to the point where a demo will be seen. Expect the next version to complete the initial public beta engine, and after that the demo will come. It will be pretty sparse and there won't be much to it, but there is much awkward with the current engine and I want to see what people focus on.

Miscellaneous

Can save, load and continue game

Version 0006a; Update 1

Now you can start a new game, save it and load it next time you start the game. The first option "Continue" will just start the last game that was loaded or saved.

The menus in this game are a little rough, some of the options will freeze the game. Other options that load games, save over old games, and close the engine don't have any confirm dialogs yet. The title of the map is displayed when you enter the map and used for the save game title. It lets you know where you left off.

Miscellaneous

Maps have been fixed

Version 0005a; Update 1

I finally did the first two things in my list. These were very difficult to get working and I think this has got to be the messiest hunk of a program I've ever written. I managed to destroy many many bugs along the way and someday I might clean the engine up much more.

The problem with the Acknex engine is that it wipes all the entities from the last map and loads new ones in the next. I have another image of the game world in terms of events. I use my image to re-attach all the entities back when I reload that same map. This is because you will enter battle encounters, and when you get back, everything should be the way it was when you left.

The second problem was me trying to figure a safe way to store event variables in save files. I added a feature where globals must be declared with a specific number (much like RPG Maker 2003) so that they always are saved/loaded from that spot.

Even though this engine is very weird and has the messiest code ever, it sure is working much smoother than any of Emptybrain's models.

Miscellaneous

Party operations + items added

Version 0004a; Update 1

The compendium has finally been integrated into my engine. Now the player's sprite will reflect the first character in your party every time you enter a new map. Some items have also been added.

In order for me to reach the next milestone, I have to implement the following:
- global variables, entity variables, and entity switches must be included in save data
- map must always reflect current state of entities on reload until wiped manually
- add_item, remove_item, count_item, remove_party_member, add_party_member must be implemented in the script
- browse current party and items in the menu
- start a new game, save a game, open a game

I've still got some ways to go, but I'm not very far. When I reach the next milestone, that means the bare minimum for some sort of idea of what an RPG is can be made.. If you like a game devoid of all battles!

Miscellaneous

Saving Your Game / Cheaters / Linux

Version 0003a; Update 2

I'm spending a great deal of research on how to get the home directory of the user in order to store their game saves there. The common method is to just dump it all right next to the program in its directory (RPG Maker is notorious for this). However, this causes problems on vista/7 and causes UAC faults since it would require Admin rights for my program to do so.

I'm going to make a grand effort in hopes to solve all these problems. My plan is to see if I can tap the program's directory and create a saves directory. If I'm denied that, I'll make a saves directory for my games just like Oblivion does. You'll be able to copy your save games and give them to people. You can even rename the file to move its slot, part of the compendium's start-up routine is to verify the saves and notify the user of any changes. I might even implement a version control for the compendium.

I don't mind if you upload your saved games to people like they would any commercial game, if someone wants to cheat or whatever there's no sense in adding needless DRM to my game. I just made it a job for basic hackers if they want to try and extract secrets or add cheats using an external engine- just don't pass around modified versions of the original binary. You'll get the source code anyway, so just do it that way if you want.

You'll have to make a debugger compiler build (it compiles EVERYTHING every time you start up making it slower, but allows you to develop and modify the game) yourself though, I won't distro more than the end-user release.

This is going all-out on writing a system of saving games, but no one wants their junk deleted due to my fault. Thanks to Windows's confusing idea of "~", this simple Linux task is a project in Windows. Acknex appears to run in Wine, and I'll see if I can test against it so don't worry you Linux fans out there.

Miscellaneous

The Compendium

Version 0003a; Update 1

I've gotten a basic compendium going. The model is simply creating entries and setting fields. In RPG Maker, you create a new anything and then click around, entering all the settings. Setting the fields is known as config in my engine. I'm using a script to do all of this, and unlike RPG Maker, I plan on adding inheritance.

What is "inheritance" in a compendium? Let's say I create a potion. Then I want a potion that is stronger and more expensive. I can inherit the potion and modify only the price and strength. This way, it's quicker to add different versions of the same general item AND to be able to change common properties that effect all the potions at once. There may or may not be problems with implementing this.

Anyway, here's an example of the OUTPUT of the compiler (not the script):

Compiling compendium...
Can now set [level] for Players
Can now set [strength] for Players
Can now set [endurance] for Players
Can now set [power] for Players
Can now set [speed] for Players
Can now set [resistance] for Players
Can now set [skill] for Players
Opening data/players.wds...
ID: tetsumori Name: Tetsumori
Set level = 1
Set strength = 2
Set endurance = 4
Set power = 5
Set speed = 3
Set resistance = 4
Set skill = 3
ID: kitty Name: Kitty
Set level = 1
Set strength = 4
Set endurance = 2
Set power = 3
Set speed = 5
Set resistance = 3
Set skill = 4
Finished compiling.
Compendium Report: (1 sheets)
data/players.wds: 2

-- Players --
0000 tetsumori Tetsumori
0001 kitty Kitty

Binary file written.


I love this. No need to make an overwhelmingly complicated spreadsheet of a GUI.

Miscellaneous

[Story] Movement Finished

Version 0002a; Update 1

I've finally gotten the movement system to more or less work. Now that I'm done with that mess, it's time for me to start working on my "compendium manager". It's just like that really thick book that lists all the RPG elements in a game, I don't feel like calling it just a database. Every entry in each sheet of the compendium will be defined by a script. Every sheet in a compendium is a list of entries that all fit into one category. I also hope to have inheritance to make it easier to revise.

Setting

The strange "Gray Rock" place you start out in will not match the surrounding areas, and it will have lots of different kinds of little ruins in it. It's not at all a spoiler that this game is about walking through dimensional rifts. Later, you will be through many different areas that have parts of these same kinds of ruins in them to suggest the civilization from before somehow exploited a natural weakness in space/time to spread themselves to very remote planets and other galaxies.

From your (Tetsumori's) point of view, you barely notice anything. You were walking and it's as though the distant world you wound up in is right next to the one you were just in. The civilization was a bit basic and nobody probably even understands what is going on, they just kind of live as though it's all one large world.

It is baffling when you can walk into one place, but then try walking back into that place using a different route and you see something completely different.You can only match areas on a same world by the suns and moons you see in the sky. One world could have two moons when another could have none and a differently colored sun. How come the "holes" are lined up with each planet's rotation and orbit? Lots of this isn't even important to the game but they are all faint things a player could notice.

It's a good thing none of these just lead out into space making this constant tempest of air leaking out, sucking everything into some vast empty space to die or float as a vagabond until it falls and hits some celestial body (planet, star, etc.).

Changes
- Fixed edge-blocking and added it back
- Created a compendium manager

Miscellaneous

More Movement

Version 0001a; Update 1

I need to start organizing these log posts a bit better now that this project is getting complicated. The map system is being more of a problem than I expected. I've removed the edge blocking for now, but I need to put it back in later fixed. If I let the user walk off of edges, I would have to handle falling into chasms and off of cliffs. The game would be much more annoying if you kept falling to your doom, so I'm going to refine the edge blocking and then put it back in. The problem with what I got now is that on some angles of ledges, you could still jiggle the controls and slide yourself off of them.

Changes
- The edge checking has been disabled, user can walk off of edges now
- Movement is now oriented to the ground surface angle, allowing slopes to be easily moved over

Miscellaneous

Trigonometry boiler room


This isn't easy.

What's this about Trigonometry?

When you're making a video game, you know you're going to run into some form of math problem. When you walk up stairs, you walk UP stairs. When you walk down stairs, you walk DOWN stairs. You don't do a running jump off the edge and hurt your shins like in Oblivion. If you run fast enough (have a high speed), walking down stairs without looking like you're making a Failblog video is hard in Oblivion. It's annoying to have to slow down and walk down the stairs.

In my game, I'm going to bend the locomotion vector (the direction you WANT to move in, not the direction you end up moving in) to the current surface so you move up and down slopes just fine even if you hit them at 900 miles an hour. See the picture to see what I mean. To do this I have to use trigonometry.

Boiler room?

It's incredibly hot and humid in here. Now I love the heat, but I don't like it when it feels like I'm breathing in pudding. I'm tired, but I can't sleep when I can't breathe. Why I'm trying to do math and software engineering at the same time is beyond me. Anyways, hopefully I'll have more moving down so I can see about some other RPG script functions.

Miscellaneous

Much more movement done

I did much more for the movement system.


// WeaponBirth Test NPCs

// This NPC remembers the player
test_kitty_npc:
1.parallel
// Yell something stupid
show_name("Kitty");
show_message("I'm going to jump off that ledge!");
// Move and wait for done moving
move(0,-380);
move_finish();
show_message("... For some reason I can't move any further.");
// Talk
move_face(#up);
show_message("Hey, do you know what's down there?");
move(0,64);
move_finish();
// Look around
move_face(#right);
wait(5);
move_face(#up);
wait(5);
move_face(#left);
wait(5);
move_face(#up);
show_message("Whatever, I'm out of here.");
delete();


This contains lots of the script functions I wrote all together. It looks like I need to refine the movement system to accommodate slopes and gliding over walls. Because the edges are guarded, I'm going to have to handle the terrain a bit differently than you would for a normal platform system.