Skip to main content

News

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.

Topics - East

1
Sphere Support / Map Editor Alternatives?
Hi everyone! The COVID-19 lockdown has brought me back to my beloved miniSphere after a long hiatus of real life getting in the way! :P

As I'm working from a different computer now, I had to find and download/buy all of my tools again, and I remember there was a third-party program that you could use to create maps in. It wasn't perfect because it had no official integration with Sphere, but you could use it to create basic maps and then import them as images to Sphere maps. It also had a JSON exporter IIRC. I can't remember the name of that program - anyone knows what I'm talking about?

And if we are on the subject, is there a different, maybe better supported alternative to the current map editor?

Thanks and I hope everyone is doing well!
2
Game Development / DragonBall Z: Saiyajin Legend


I've had this game under development for almost a year now, so I guess it's about time I started a topic about it here. :))

DragonBall Z: Saiyajin Legend is an action-RPG, based on the first major arc of the DBZ anime, starting with the Raditz saga and ending with Frieza's.

STORY:
5 Years after our hero, Goku, has defeated his nemesis Piccolo at the World Martial Arts Tournament, it is a time of peace on planet earth. Goku is on his way to a reunion with his friends at Master Roshi's house, when a mysterious and powerful being from outer space lands on Earth and begins searching for a person he calls Kakarot.

Meanwhile, deep in outer space, an elite and ruthless fighter called Vegeta is on a mission to conquer a planet with his loyal companion, Nappa.

Follow the journey of Goku and Vegeta in the original Dragonball Z Series, throughout the Raditz saga and onto the end of the Frieza saga. You will experience all of their major events from the series, and a bunch of fun side-quests in-between.

The story takes place in several locations, but two of them are major: Planet Earth and Planet Namek. In both of those planets the game will feature an open-world map with several locations to visit.

PLAYABLE CHARACTERS:

You get to play as the two main protagonists of the Z series: Goku and Vegeta.

KEY FEATURES:
  • A map based, active battle system, inspired by The Legacy of Goku Gameboy Advance games, and old school DBZ fighting games.
  • Various action-moves to make your playing experience more fun: jump, dash, teleport, sprint, etc.
  • A custom menu system with all the necessities.
  • A power progression system with stat points to increase your character's strength, stamina or speed by your choice, and skill points to improve your special abilities.
  • Z-Cards - sort of a secondary talent system for your character - aquire special cards, learn them, and improve specific skills and battle abilities.
  • All the basic functions of an RPG: a dialogue system, save system, questing system, items system and more!
  • Custom/Edited sprites by pixel artist George_LN, with high attention to details and smooth animations.

THE BATTLE SYSTEM:
This is the main selling point of the game and the main focus I had when I planned it. My goal is to create a fun, high-paced, flowing battle experience, that will make you want to grind before a tough boss-fight, and then enjoy that boss-fight's challenge.

This is easier said than done, and requires a lot of testing and creative thinking (considering my relatively limited scripting knowledge), so we are still not there yet 100%, but with many special abilities, character and enemy stats and battle mechanics that give it some extra depth, it's going in the right direction. It does lack a bit in the enemy AI department at the moment, but I'm sure I can handle this too eventually. :)

The main battle system features are:
  • You get your traditional health bar, and a Ki (energy in the world of Dragonball) bar. You fill your Ki bar by either fighting in melee combat, or by holding down a key to charge it up. You can then spend your Ki on special abilities
  • Melee/Normal Attack: Press a button to punch/kick your enemy in melee combat. Each char has 3 different random melee animations.
  • Defend: You can block melee attacks by holding down a key, and deflect ranged skills by punching their projectile in the right moment.
  • Special Skills: Use iconic DBZ moves, from the simple Ki Blast to Goku's powerful Kamehameha and Vegeta's Big Bang Attack.
     Each char will get a number of these abilities to use (undecided yet, but around 5-6).
  • Movement Skills: Dash forward or backwards, teleport behind your enemy, jump around obstacles, sprint. Most of those abilities also work outside of combat
  • Enemy AI: Beside chasing and fighting you, some enemies can also use special melee and ranged attacks. The goal is to have most of the "regular" map enemies be pretty basic and grind-able, with some interesting skills to spice them up, and then give the bosses some more complex and special abilities.
  • Friend AI: A person that fights besides you and helps you. I actually haven't even used that yet, but I have that functionality in the game from my old battle system and I will probably utilize it in some fights.
  • Z-Cards: Improve and customize your battle abilities using these. More on Z-Cards down below.
  • Several more features are planned, like a beam-struggle system, a combo system to replace the traditional energy/Ki system and more.

The game's menu system currently has the following sections:
  • Stats, from which you can increase your main combat stats by spending your levelup-earned stat points, and view your current character's status with some depth.
  • Skills: Get info on your current character's skills, upgrade them with your skill-points and setup hotkeys for them.
  • Z-Cards: Learn, remove, replace and find out about new unacquired Z-Cards.
  • Items: Beside using the items you acquire, you can choose to hold a specific item/item-stack, to then be able to use it from anywhere on the game's open map by pressing a hotkey.
  • Objectives: get info on your current missions and quests, their rewards and their story.
  • Settings: Several game options like music/se volume, health-bar displays and more.
  • PLANNED - Hotkeys: Change the hotkeys for every action in the game. Not yet implemented (because of laziness); Right now you can only change skill hotkeys.

Z-CARDS:
Special cards that you acquire throughout the game by questing and exploring. Z-Cards have specific ability changes that are meant to either make you more powerful, or just alter your gameplay a bit. They change all kind of battle mechanics, from adding features to your special skills to just spicing up your melee combat.

Z-Cards are characters specific and are also meant to create a different feel of gameplay between Goku and Vegeta. They each have a rank, going from rank 1 for the simplest/weakest cards to rank 7 for the most unique and powerful ones. The rank is indicated by a dragonball in the bottom corner of the card.

You acquire Z-Cards through questing and exploration. Most of the cards are hidden at start, but once you discover them through leveling and completing quests, you will get hints on how to get them. After you get cards, you can learn them from your Z-Cards menu.

Some cards will be exclusive with one another, meaning you cant have both active at a time, some will have a permanent effect, and some will only have a temporary effect with a cooldown / you will be able to acquire them again (undecided yet).

Here are some example of Z-Cards that are already in the game and working:



STATE OF THE GAME:
Right now most of the game engine is ready but as you know, it's hard to resist keep adding features and improving stuff all the time, and of course I also keep finding bugs to fix, systems to rewrite, etc.

I really do want to release this some day so I'm trying to take a realistic approach and leave some stuff not 100% perfect like I want them, while making progress on the actual gameplay/story/mapping elements of the game. This is very hard.  :))

Right now the game has actual gameplay up to the Raditz fight, including some nice side-quest along the way and some hidden items to acquire. That's about 30-35 minutes of gameplay, maybe a bit more if you want to grind and make things easier. That means there's not a lot of actual game right now, but with the help of Link_2112 (main tester and great-idea/planning guy) and George_LN (awesome pixel artist), we are slowly getting there.

There was a demo planned earlier in development but I scrapped that idea for now.

MORE:


SCREENSHOTS:

Title screen


Load game screen


An optional side quest


A power item, newly placed in a location you visited before


Mysterious pal


This is the rank 2 Kamehameha, actually. The first one is a bit smaller and weaker.


Boss fight - Ki Barrage ability


And some Vegeta love too


Menu screens (click)


BACKGROUND:
(Because it's a bit relevant to Spheredev, you can skip to the game below if you want :P )
[edit: I actually moved this to the end of the post now because it's too long hah]
To give a bit of background, this game was actually born from a different game I made in Sphere, about 8-9 years ago. The whole reason I ditched RPG Maker 2003 and moved to Sphere was that I wanted to create a really good active battle system. I felt like I've done everything I could withing the RM limitations, and I wanted something more flexible. I had a little background with php web development, so Sphere's JavaScript felt just right for me.

After a few months of experimenting with Sphere by trial and error, I started to really try and make a system. I had my poor JS knowledge, some idea on how to plan game systems from RM, and this website with it's wiki. The first version of my battle system was actually a slightly modified version of a battle system script/game that I found right here (and can't seem to find anymore - it was a Zelda battle system with around 2 maps and some very basic attack and enemy AI). After playing around with that for a while, I started to make my own system based on that and on the past experience I had from making such systems in RPG Maker. If you're interested, you can see several version of the old battle system in my YouTube channel. The first video is my last RPG Maker battle system, and then I have a few videos from my Sphere battle system, with each one showing a slightly more polished version. Then there's an 8 years break...

So I didn't touch Sphere at all for 8 years because real life happened, and then one day when I was looking through some stuff in my old PC, I found this old project that I loved so much. I had an urge to take it and do something with it, but I didn't want to continue my old game. Then, I thought what could have a potential for a kickass active battle system, and naturally DragonBall came to mind! It started out as just a battle system, but then my love for Sphere and game-making, and DBZ, was reignited and I decided to try and make an actual full game, which meant having to create a lot of extra systems, and a lot more fun.
3
Sphere Support / 32-bit Problem
Hi again!  ;D

I was trying to send my game to someone for testing, and when he tried to open it, he said he got the following error:

Quote
I downloaded your game and applied the 0.4 patch. When I run "DragonBallZ - Saiyajin Legend.exe" the following error shows up and the games doesn't start:

"DragonBallZ - Saiyajin Legend.exe is not a valid Win32 application"

Is the executable a 32-bit version?


I figured that I had the 64-bit version of the miniSphere engine which I distributed along with the game, so I started to look for a 32-bit version, and couldn't find any. In fact, I couldn't find any 64-bit version as well, which made me think the installation program auto-detects your hardware type and installs the right version for you. So I let the guy download miniSphere from the sexy new Spheredev homepage, but then he said that:

Quote
I installed miniSphere (default option list) but got the following error:
Unable to execute file:
C:\Program Files\miniSphere\ide\Sphere Studio.exe

CreateProcess failed; code 3.
The system cannot find the path specified.



I re installed miniSphere, checking all options in the list, and got a different error:
Unable to execute file:
C:\Program Files\miniSphere\ide\Sphere Studio.exe


CreateProcess failed; code 193.
%1 is not a valid Win32 application


He's not the first person that tested the game, but it's the first time anyone is getting this error.

Any idea what to make of this?

4
Sphere Support / Distributing Question
Hey guys!

I feel kinda silly asking this, but I'm just so used to Sphere 1.5 that everything in miniSphere is a struggle for me. So here's the thing:

I'm used to just copying my game's folder into Sphere's (1.5) folder, renaming it "startup", deleting, renaming some stuff and it's pretty much good to go. What's the protocol now with miniSphere for this? I searched the forums for a good hour and didn't find anything, and I can't seem to find the solution myself.

5
Sphere Support / Making the upgrade to miniSphere
Hi guys. So I recently came back to my Sphere game after a pretty long break (~7.5 years). I haven't been coding anything during this time so it takes me a while to get back but I think I'm starting to get the hang of things.

Anyways, I made my game back then in Sphere 1.5, and now when I got back and tried to upgrade it to miniSphere, I ran into some problems.

There are a number of old 1.5 functions which I used a lot in my code, that now don't work. For example, LoadSoundEffect(), which I changed into LoadSound() to not get an error message , but now whenever I use sound.play(), nothing happens I can only play one sound at a time. Another issue is, whenever I exit the engine, I get a crash message from windows telling me "miniSphere engine has stopped working". There are other things in the code that now just don't seems to work but I won't specify them, and instead I'll just ask, what do I need to learn in order to use miniSphere correctly. As someone who is not a coding expert (switched to sphere from RM2k, learned pretty much everything on the fly from the API and online guides), it feels almost like a different programming language.

I looked in the Sphere 2 API but I just don't know how to use most of what's in there. To use the sound example again, I saw in the API something about a mixer, with some dots and some hashtags and all I could think about is this.

TL;DR: after upgrading to miniSphere I'm back to being a complete noob, where can I learn how to Sphere?

Thanks :)
6
Game Development / RPG Events in Sphere
Hi guys! Came back here after a long, long hiatus from Sphere and developing in general and for the past few days I've been scripting and photoshoping like crazy, after I found my Sphere project while cleaning up my old PC.

I came into the Sphere world after a few years of working with RPG Maker 2000, and one of the things that I found most difficult is creating events for a story-driven game. I got used to RM2k's quality of life and the task of scripting every event from scratch in Sphere made me give up on the idea and instead, just focus on creating gameplay elements like a battle system, movement system, etc.

Now that I came back I've tried to come up with a way to create an event system that will allow me to create new events on the fly, that won't feel like some dirty job that will put me off after a while.

At first I had a single "events(switch)" function with a switch inside of it, that I could call whenever I wanted for simple events. The actual event code was right inside the case section that was called. The problem was that I could only make it work with very simple events, such as changing variables or objects, a single box of dialogue, etc. It was nice for a start but I couldn't do anything substantial with it and it actually put me off for a while as I didn't feel like I could script any narrative using it.

Yesterday I had the idea of integrating an events system into the update script of my active battle system. The update script is active almost all the time, even when combat is toggled off, and I figured that if I can use it to create complex skills with multiple phases, I can probably use it with some kind of loop system to create events.

What I came up with was once again, an event(switch) function, but this time each switch case called a secondary function, and inside that function was the actual event script.

The first function is called from inside the update script whenever var event_taking_place says so, and the secondary function is built from sections of if cases, checking a main "event step" variable and a secondary "event loop" one. After each step, the first variable gets +1 and the loop variable gets reset. I tried to mimic what I used to do with RM2k and I look at every "step" section like a line of "code" in RM.

It looks something like this:

In the update script:
Code: [Select]

if (event_taking_place) events(event_title);

So that when I want to call an event, I set the "event title" variable to the one I want to call and then turn on the "event taking place" one.

In event.js:
Code: [Select]
function events(event_title) {
switch (event_title) {

case "RaditzShowsUp":
// Raditz shows up at Master Roshi's House, freaks everyone out, takes Gohan and flies off
event_raditzshowsup();
break;

}
}

(Yep. It's a DBZ game)

And then:
Code: [Select]
function event_raditzshowsup() {
++event_loop;

// Step 1: Raditz shows up and steps forward
//---------------------------------------------------------------------------
if (event_loop == 0) {
DetachInput();
SE_choose.play();
CreateMapPerson({ name: "Raditz", spriteset: "enemies/raditz.rss", x: 19, y: 27, layer: 0 });
QueuePersonCommand("Raditz", COMMAND_FACE_NORTH, true);
MoveNPC({ name: "Raditz", command: COMMAND_MOVE_NORTH, tiles: 1 });
SetPersonScript("Gohan", SCRIPT_COMMAND_GENERATOR, ""); // gohan stop moving
event_step = 1;
}
if (event_loop >= 50 && event_step == 1) {
event_dialogue_done = false;
event_talker = "Raditz";
dialoguelist[0] = new msg(event_talker,"Ah, there you are, Kakarot!",event_talker, true);
convo = true;
event_step = 2;
}

// Step 2: Move 2
//---------------------------------------------------------------------------
if (event_loop >= 100 && event_step == 2) {
if (event_dialogue_done){
if (!convo) {
QueuePersonCommand("Raditz", COMMAND_FACE_NORTH, true);
MoveNPC({ name: "Raditz", command: COMMAND_MOVE_NORTH, tiles: 1 });
event_loop = 0;
event_step = 3;
} else { event_loop = 0; }
}
}

... And so on, when the last step calls an "end_event()" function to reset everything and close things up.

AAAnd... after all that, and considering I'm kind of a coding noob, I just want to ask, is this an OK system to have? What I was worrying about is if the act of calling a function inside a function inside a function, etc. etc., with a loop variable, from an update script, may be too much on the game engine and will cause problems down the road when I have more systems running? Right now it seems fine but I don't wanna find out too late that I broke something beyond repair.

Also, I would love to hear suggestions and ideas for a - maybe - better event system, and feel free to correct me/notify me/tip me about weird things in my code, as I said, I'm pretty much a noob in coding but somehow I do know how to get things to work, using functions from the API (and that's what I'm afraid of  ;D :P).

This turned out to be quite the wall of text so thanks if you've made it this far!  :)
(Attached: screenshot of said event taking place)