Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411486 Posts in 69371 Topics- by 58427 Members - Latest Member: shelton786

April 24, 2024, 08:57:55 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsVolund - Medieval Fantasy 2D MMORPG
Pages: 1 [2] 3 4
Print
Author Topic: Volund - Medieval Fantasy 2D MMORPG  (Read 11405 times)
ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #20 on: July 26, 2013, 04:04:01 PM »

We entered closed testing in March so that we could work on the actual content, but it seems like I didn't make a post about it in this thread. It actually seems like I didn't keep this devlog updated at all Facepalm Sorry about that!

I started work on expanding the engine by implementing an actual physics engine, Box2D to be specific, and converting the inheritance-based entity system to be component-based.  Unfortunately I also decided that it would be easier to make these changes if I rewrote the engine.

Long story short, development on the new engine was taking forever and it was starting to get depressing, so we looked for another option. Most third-party 2D engines for the PC were XNA based, so that was out of the question due to XNA being dropped. We looked at various web-based 2D game engines, and eventually settled on an Adobe Flash Player compatible engine for a variety of reasons.

I quickly discovered that a web-based engine would not work for what we wanted to build, but I also didn't want to throw away the research we had done, and it is easier to deploy Adobe Flash Player compatible games than PC games. So we have decided to create a small classic arcade-style shoot-em-up and experiment with different techniques we will eventually use in Areum's game engine, such as the entity component system.

This means that Areum is currently on-hold, but do not worry!  We plan to return to it.

I will be creating a devlog for the SHMUP, but we also plan on documenting its development with video diaries!  We are pretty excited about this, and you can checkout the current episodes (12 of them so far) over here: Game Development Vlogs
Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #21 on: July 17, 2014, 09:04:02 AM »

This game is once again live! Smiley  We are currently back in the planning stages for it.  We will be livestreaming today's design work, so if you are interested please drop on by the Twitch.tv channel and say "hi"! Coffee

Areum Livestream - Twitch.tv Channel
Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #22 on: July 20, 2014, 08:15:13 AM »

For anyone that missed the previous livestreams, you can checkout the recordings over here Smiley

I'll be livestreaming more development work today, continuing with defining the game's sub-pillars and adjusting the feature list. The point of this is to get a high level view of what we need to build, and to help keep scope creep in check!  If you're interested in tuning into the live stream, simply follow the link below. I keep up with the chat, so hope to see you there! Gentleman

Areum Livestream - Twitch.tv Channel
Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #23 on: September 01, 2014, 05:05:20 PM »

I've wanted to do this since Friday, so I'm finally writing it up Smiley  I technically don't have any time left for work today, but I'm making an exception just so that this whole thing actually gets started!

Over the past few days, I've been working on the task list for Areum, as well as designing the new movement system.  Specifically, I've been working on the list of tasks that I need to finish before IfThen Software can release version 0.1.0 of the 1st Real Level Prototype of Areum.



Boy, there's more to do than I thought!  D:  Pictured here are the features (index cards), tasks (sticky notes), and the design for the new movement system.  There is also another page of designs under the one shown, for different networking and login related tasks.

To give a quick overview, I have to do the following:
  • New Movement System (designed to reduce the effect of latency)
  • Login Prompt
  • Misc. Informational Screens (for example: "the server is offline", "the game is too crowded", etc.)
  • Walking Animations
  • Security Improvements

In total, there is about 12 hours worth of work to be done.  But that's ideal work hours which means that it will probably take a little longer since it is impossible to work at 100% efficiency.  Currently, I'm looking to have these finished by the end of the week.

Note that these are all things *I* need to complete: Jake, who normally handles content related tasks, has already finished all of the work he needs to do for this first release. So, I am feeling slightly swamped o_o  I'm just recovering from a cold as well, which didn't help productivity at all.  Back in full swing now though!

I also posted this over on the official company blog if anyone wants to check that out as well Smiley http://www.ifthensoftware.net/?p=108
Logged

EdFarage
Level 2
**


I can upload avatars


View Profile
« Reply #24 on: September 01, 2014, 05:09:29 PM »

those graphics looks a lot like seiken densetsu
Logged
ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #25 on: September 01, 2014, 05:13:55 PM »

Those screenshots are a little old: The artwork has been replaced recently.  Here is a more up-to-date screenshot:
Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #26 on: September 02, 2014, 06:38:48 PM »

Areum finally has a Trello board :D


(click to visit the board)


Trello is a free online task management program: I highly recommend it to anyone who needs to do planning for a project.

Today I finished estimating the tasks for the first pre-production demo of the game. So tomorrow, I should be able to actually start working on them Smiley  I actually did this on the livestream, so you can view the recording if you are interested in the process:


This update is also over on the official blog at: http://www.ifthensoftware.net/?p=114
Logged

EdFarage
Level 2
**


I can upload avatars


View Profile
« Reply #27 on: September 02, 2014, 07:09:10 PM »

Man, this looks like its going to be hard to complete.
You're doing this on your own?
What language you're using?
and im also lurking this, need to learn some networking aswell  Coffee
Logged
ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #28 on: September 03, 2014, 05:47:08 AM »

You're doing this on your own?
I'm working on this with my brother and father Smiley  My brother usually handles all of the content related things, such as artwork, sound effects, map design, etc.  Dad generally overviews things.

What language you're using?
The client is being written in ActionScript3 using FlashPunk as a media library.  We want the game to be easy to jump into, which is why I chose a web-based language.  I could have gone with HTML5, but that platform is still a little too green so I decided the risks were too great.

The server uses C#, since it's a powerful but easy to use language.  I have extensive experience using C++ to write servers like this, but the added complexity that comes with using C++ just wouldn't be worth it.

and im also lurking this, need to learn some networking aswell  Coffee
Networking can be a real pain!  Good luck  Coffee
« Last Edit: September 03, 2014, 05:52:27 AM by Michael Grand » Logged

EdFarage
Level 2
**


I can upload avatars


View Profile
« Reply #29 on: September 03, 2014, 06:00:13 AM »

Holy moly, someone that actually uses AS3 too  Shocked
Im reading a book about networking using electro-server right now, its a little outdated but it's still pretty good.
Called: Actionscript for Multiplayer Games and Virtual Worlds.
Alrighty, i'll leave you with your updates now, good luck to you too sir  Gentleman
Logged
ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #30 on: September 05, 2014, 05:17:08 PM »



First off, sorry about no project updates over the past couple days! It's been hectic.

One interesting thing that did happen is that Areum was talked about on a Polish MMORPG news website!
www.mmorpg.org.pl/news/zobacz/Już-przesadzają-z-tymi-retro-MMORPG-ami-Przed-nami-kolejny-z-nich-Areum

It wasn't a glowing review, but it's still super cool that they noticed our project Smiley

On the subject of what today's work looked like, it was something similar to the following:
  • 1 - 2 hours managing Twitter
  • 9 hours fixing unexpected household problems *facepalm*

Needless to say, not much progress was made on Areum >.< I'll have to take part of my day off (Saturday) to plan the next iteration, since I have no time left now. I'll post another project update either tomorrow or Sunday!
Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #31 on: September 08, 2014, 08:21:54 AM »

Improved Web Server

This morning while tinkering around with the Amazon EC2 instance that we use for our website and game server, I noticed that they had a new instance type available. What shocked me was that it was better...  And cheaper!

We have been using their "T1 Micro" instance for a while, which has worked well enough. It has occasionally had its performance issues though.  A performance issue this morning is actually what made me ultimately discover the new instance type: "T2 Micro".

T2 Micro has a better CPU than its T1 cousin, almost twice the amount of RAM, and a better network connection all for a slightly cheaper price!  The only downside appears to be that you have to move  over to their new "VPC" otherwise you get a rather ambiguous error message. I was stuck on this issue until a blog post on Sam Rueby's Findings helped me out of it.


Better Estimations



My brother and I spent the rest of the day working out how long different features of the game will take to complete. We livestreamed the process and recorded it, so you can see exactly how we approached the problem if you are interested (video available above).

I've drastically reduced the scope of the features; they are now estimated in ideal work hours rather than ideal work days. This allows for easier scheduling since more features can be fit into one iteration (one work week), although they are smaller.

When estimating, I'm also listing out all of the tasks that would be needed to complete that feature.  Each task is then given an estimate in ideal work hours no less than 1/4 of an hour, and no more than 1 hour. As before, estimates are powers of two, in order to combat increasing uncertainty as estimates become longer.

A feature's estimate is calculated by adding up the estimates of each of its tasks. This sum is then rounded up to the nearest power of two. If a feature takes longer than 2 hours, there is a good chance that it needs to be split up unto smaller features.

Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #32 on: December 11, 2014, 07:57:22 AM »

Wow, I haven't posted a devlog since September >_<


Twitch.tv Gamedev Livestream

Well, I'm doing a gamedev livestream right now and I plan on being live for most of the day. Feel free to drop on by :D It's always easier to work with people to talk to! I'll be working on adding in the "grabbing" feature.

"Twitch Gamedev Livestream"


Official Blog

This post can be found on our official blog over here:
www.ifthensoftware.net/gamedev-livestream-grabbing
« Last Edit: December 12, 2014, 11:38:01 AM by Michael Grand » Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #33 on: December 24, 2014, 11:21:12 AM »

"Areum" is not as Unique as we Hoped



One of the biggest changes to Areum recently has been a new name.

Choosing a name for a game is always a difficult process, and this one took us a couple of weeks. I consider us fortunate that it didn't take longer!

First off, let me explain the reason why we renamed the 2D MMORPG project. I want to make it clear that everyone on the team loved the name. Unfortunately, it came to my attention that "Areum" is the name of a South Korean idol singer. This might not have been too bad, but when I searched both Twitter and Google, the results were flooded with information about her.


Why Change Names?



Having your brand obscured by another brand of the same name is never a good thing for a business. For one, it makes it difficult to find information about your brand. If your own pages are as deeply buried as they were for us with the name "Areum", people are likely to just give up looking.

Another issue you run into is that your brand name has very likely already been taken on various social media websites. This was certainly the case for Areum, I am sad to say.

A related "problem" is that people who are looking for the other brand may find yours instead. From a publicity standpoint this might not be so bad: Free advertising, right? But it just increases confusion, and there is no guarantee that people will be interested in both brands.


Choosing a new Name



So, on to choosing a new name. The three of us drew up lists and lists of potential names, circling the ones we liked the best. But this was only part of the process: For every potential name, I had to check if it was already taken by another game. I also had to make sure that it was it would show up in search results.

But that wasn't all: I also had to make sure that the name did not translate into anything offensive in another language. On that note, I also had to make sure that the name did not translate into another brand.

All of these checks needed to be "fuzzy", which just made things more complicated. In other words, I needed to make sure that I checked variations of the name and possible misspellings. I also had to check words which were phonetically similar.

That last one actually saved us at the last minute more than once! There were several occasions where we thought we had found a good name. However, we then discovered that it sounded like another word with an unfortunate meaning.


Settling on the name Volund



After two weeks of this, we were no closer to finding a new name for Areum then when we started. That's when someone on the team, I forget who, suggested using the name "Volund".

For those of you who are just joining our community, I need to explain some history real quick. IfThen Software created an MMORPG named "Volund Preview 1" and released it four years ago on April 10th, 2010. After releasing Preview 1, we moved on to other projects. The server was eventually taken down due to limited resources.

A lot of worldbuilding has already been done for the Volund universe, so this would open up a lot of new options. This sealed the deal for us: Volund would be the new name for Areum,  the medieval fantasy 2D MMORPG project.

We are all very excited to revisit the Volund universe! There are a lot of cool ideas that we are itching to try out.

Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #34 on: February 02, 2015, 08:24:11 AM »



Today's game development livestream is starting at 8:30am PST!


Schedule

I will be planning out iteration #40, which starts today. If I have enough time, I will also be fixing an error that I couldn't quite resolve last iteration: The client-side acceptance tests are not running properly.


Watch the Livestream

Click below to watch the game development livestream!




Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #35 on: February 03, 2015, 08:26:31 AM »



Today's game development livestream is starting at 8:30am PST!


Schedule

I will be refactoring the client and adding in a version number. More specifically, I will be separating the user interface from the game logic. This is something I've been working on for the past week, and I believe I am finally close to finishing!

The version number will be displayed on the screen, probably in one of the corners. This will be useful for testers to know which version of the game they are playing. It will also help ensure that there are no problems with a newly deployed version.


Watch the Livestream

Click below to watch the game development livestream!




Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #36 on: February 03, 2015, 10:13:00 PM »

*phew* I just finished a livestream that lasted for just over 8 hours! It's way more fun to work with people to talk to.

This devlog is for both today and yesterday. Yesterday's work was fairly evenly split between project planning and writing automated tests for the client. Today's work was a blur of refactoring with occasional emergency bug fixes.


Very Large Tasks



I started the day yesterday by adding in Jake's tasks for iteration 39 and 40. This consisted of making a few tasks and entering a lot of work logs.

The tasks were very large, consisting of an estimated week+ worth of work. This has been throwing off the iteration charts, but I plan on sitting down with Jake to get it sorted out.

The main issue is that an iteration is only one week long. So a task which is more than one week worth of work will just not fit. These larger tasks should ideally be broken up into bite sized pieces of perhaps no more than a days worth of work.


Mocking Trouble in Mockolate



I had a lot of trouble with mocking methods using Mockolate. I kept getting an Error #1065 when I tried running Cuke4AS3. The error seemed to be caused by any of the "calls..." methods. However, DConsole in the Cuke4AS3 DeveloperUI was not giving up any filenames, line numbers, or stack traces.

Fortunately I found a workaround, albeit a far from perfect one: Stubbing, rather than mocking, worked just fine. I had no idea why, but I was just glad something worked.

But unfortunately, I ran into the error again and this time simply changing the mock to a stub did not fix it. Rather than on a "calls..." method, it was now happening with the "times" method. No matter what I did, the error would not go away.

While looking for a way to get more debugging information, I accidentally found the cause: The DeveloperUI was automatically including a version of FlexUnit in addition to the one I provided. This must have been causing some sort of conflict, because once I removed the redundancy the error disappeared. I hope this helps anyone else who is having the same problem!


Who Owns It? UI or Logic?



One part of the refactoring work stands out in my mind. It is the part that I spent the most time on: Deciding whether moving characters between tiles is the responsibility of the user interface or the logic layer.

This isn't as simple as it might seem. Having the character start moving to a new tile could be seen as a move command. That feels very much like it belongs in the user interface layer.

On the other hand, the code would need to be aware that the character can move. That decision is a game rule, and if so it belongs in the logic layer.

I eventually decided to use a bit of a hybrid method. The UI polls the logic layer to see if the character can move. If he can, the UI issues a move command to the logic layer. The logic layer then handles the rest.


The Bug that Couldn't be Traced



While trying to move a forgotten user interface method into the GameUI class, I discovered that changing directions didn't work anymore. Upon further digging, I also spotted that your character would not stop animating after running into a wall. To make things even stranger, it looked perfectly fine for everyone else: Your character would be continually walking into a wall on your screen, but everyone else saw him standing still!

I first assumed it was an issue with the event listener call order. To test that theory, I placed trace statements in all of the listeners. Oddly, the output window remained empty.

So I looked for a method that I was sure would be called. The class didn't have a constructor, so I decided to use its initialization method instead. Placing a trace statement there, I ran the game again... And the output window was still empty.

The next few minutes consisted of random tests, checking flashlog.txt, checking other windows... Someone watching the stream even jumped in to try and help me figure out where the traces were going.

I eventually tried creating a basic constructor for GameUI. After placing a trace statement in it, I tested the game again.

There was a message in the output window!

This is when I realized what had gone wrong: The class was never being initialized. None of its event listeners were being registered!

After properly initializing the gameUI object, the game worked again. This was a major oversight that may have gone undetected if I had not decided to move that one method. Who knows how confusing it may have been to debug if it had been left alone.

Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #37 on: February 04, 2015, 08:33:37 AM »



Today's game development livestream is starting at 8:30am PST!


Schedule

I have a few things that still need to be cleaned up from yesterday, but that should not take long. I'll then be adding a version number to the GUI.

After that? I'm unsure... I didn't schedule any other user stories for this particular iteration. The previous couple iterations had a zero velocity, so I was apprehensive about adding too many things.

But if I had to guess, I would say that I will be working on the grabbing system after finishing the version number. The grabbing user story is nearly complete as well, so hopefully it will be completed without too many difficulties.

On a different note though, the first half of this stream will last until 11:00am PST. So since it is starting at 8:30am, the first part should last for about two and a half hours. We may be switching over to Jake's workstation at that point, or going on break until 1:00am PST. It's too early to say for certain, but stay tuned!

The second half of the livestream will last until 5:00pm PST. The contents of it will likely involve adding in a new game mechanic!


Watch the Livestream

Click below to watch the game development livestream!




Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #38 on: February 04, 2015, 07:11:02 PM »

Version Number is now Displayed



So, first off: I finished another user story! Within a single day too. Believe it or not, I’ve had a rather bad track record in that department.

While on the livestream, I managed to finish the version number user story. This means that the next release will have a version number in the top-left corner.

This is helpful mainly to developers and testers. If something is acting strangely, you have a way to make sure you are using the latest version. It also helps with tracking bugs, since you can pin them down to an exact build of the game.

I finished the feature in the expected amount of time. Very unexpected, and I was quite happy about it!


Grabbing… Not Quite as Good



I worked on one other user story today: Grabbing. Unlike the version number, this one will require more work. This is mainly because I ran into a problem while writing the acceptance tests for it.

Mockolate apparently calls the constructor for each class you mock, but provides null arguments. This is usually fine…  Unless you try to use one of those arguments in the constructor. That is exactly what happened while I was coding grabbing.

At first I didn’t even know it was a problem with the mocks. I’ve mentioned this before, but trying to debug a problem within a step definition while using Cuke4AS3 is very difficult. I had to gradually comment the relevant code blocks before I could even figure out which source file and line was causing the error.

This particular problem happened with two classes. The first was the Synchronization class which I created. To make things easier, I simply moved the offending calls into the initialization method.

The other was the Character class. Its constructor was creating a Spritemap using the art asset supplied by an argument. FlashPunk did not take kindly to being given a null graphic, and complained. To fix this problem, I decided to simply use the full Character class and not bother trying to create a mock for it.


Logged

ITS_Mike
Level 3
***


Programmer


View Profile WWW
« Reply #39 on: February 05, 2015, 08:22:56 AM »



Today's game development livestream is starting at 8:30am PST!


Schedule

The plan today is to finish the grabbing feature. There are a variety of mechanics involved with the grabbing feature, but what I will be focusing on is the core ability to reach out and potentially interact with something.  Beyond that... Well, we'll just have to see!


Watch the Livestream

Click below to watch the game development livestream!




Logged

Pages: 1 [2] 3 4
Print
Jump to:  

Theme orange-lt created by panic