Demo Eysir: Return of the Dungeon Emperor (80's style CRPG) [+Devlog]

EDIT: This topic is for a previous version of the game. For the current version, please visit https://nacho-chicken.itch.io/eysir-1-eotf or wait for the upcoming forum topic about it.










What is Eysir: Return of the Dungeon Emperor?
It is a CRPG (Computer Role-Playing Game) in the style of classic games in the genre from the 80's on computers like the Commodore 64 and Apple II. While it will pay homage to those classics, Eysir will not be beholden to their mechanics and idiosyncrasies. I plan to bring a fresh take on the genre, with more emphasis on story, exploration, and role-playing than combat. Longtime fans of the genre and newcomers alike will find something to enjoy!

How far along is development?
While it's hard to put an exact number on completion, as of Alpha 0.1, it's around 30% complete. There are still plenty of hurdles to overcome, but I am confident I will be able to deliver an enjoyable experience in a timely manner.

I love this! How can I support it?
Providing your compliments, thoughts, and criticisms on the project in the form of comments is always appreciated! If you wish, you may also follow me on Twitter for more frequent updates, or subscribe to my YouTube channel for more video content.
Twitter: https://twitter.com/nacho_chicken/
YouTube: https://www.youtube.com/user/nacho1zero1/


Is there a playable demo?
Yes! You can download it from the link available below.


Current Demo:
Dungeon & Menu Feedback Demo 0.1.0.0 [outdated demo link removed]
 
Last edited:
Its good looking and clean art style. For that alone it already sets the game apart.
Thank you very much! I'm going for clean, so it's good to hear I've pulled it off well. I've also made sure that the game scales up well to a variety of common 16x9 resolutions. It runs natively at 320x180 and scales 1:1 at 720p, 1080p, 1440p, and 4K. All the fonts were drawn from scratch. The palette is designed to give it a noticeably warm and washed-out look, while also being colorblind-accessible! It will also be easily editable through a config file, so if anyone doesn't like the default colors, they can change them out.


The palette base
 
More work. Most of what I did were rule changes and clarifications. In other words, things that are boring to write about for any significant period of time. Here's a quick and dirty lowdown of what kind of things I was up to, rules-wise:
  • Damage formulas
  • Elemental attack/defense calculations
  • Equipment Weight affecting speed
BUT THAT'S NOT ALL! The most significant thing I got completed is THIS

graphics under construction

Color palettes are now fully customizable! If you don't like my aesthetic decisions, apply your own!

Also, there's an overworld. The code and map design was already done almost a year ago, so I just had to update drawing code for color palettes. I'm working on adding a Field-of-View effect that blocks vision depending on terrain. Very similar to the effect in Ultima 3. In fact, I wanted to learn how that game handled such a feature on underpowered hardware, so I found a disassembly of the Apple II version online and went to town. It's not very efficient, but it works -- and most of the time that's all that matters when you actually need to release a game.

Next time: CREATION
 
F

FROGANUS

Guest
looks kewl! haven't played much of these type of games but i like the fonts and the layout and colors.
i like that there is an 'insanity' ailment.
i've played some dwarf fortress, i like the df vibe top down map.
 
looks kewl! haven't played much of these type of games but i like the fonts and the layout and colors.
i like that there is an 'insanity' ailment.
i've played some dwarf fortress, i like the df vibe top down map.
Thanks! It's funny you mention DF, because the color palettes I was using as examples there were straight up made for that.* Dwarf Fortress is a huge inspiration for me.


*I got them from here
 
@Geoff Jones I'll be sure to have a demo out for you soon!

Development update:
I put in some A+ effort today! Got the entirety of the character creation system completed.

I deliberated on exactly how to do character generation, especially with regards to ability scores. Some games give you a set number of points to allocate (Ultima). Some give you a dice roll to determine how many points you're able to allocate (Wizardry). Others go full tabletop RPG and make your scores entirely based on random rolls (D&D Gold Box games). I decided to go for giving a set number of points since with the other two options, it eventually leads to the player metagaming by constantly rerolling characters to try and "gain an edge".

The base amount of bonus points you can allocate is 10. However, each class has parameter requirements that have to be met. These will subtract from your total bonus points, leaving fewer pointless choices if you decide to go with a more specialized class. Races will also affect parameter bases. I also made sure each parameter is useful in some fashion. I heavily dislike the concept of dump stats. In that regard, the original Fallout's SPECIAL system is a wonderful piece of work. It allows for min-maxing while still leaving the player unable to feel overpowered from the character creation screen. I tried to incorporate as much of that as I could within my game's rules.

Next time: TRAINING
 
B

Beleg

Guest
A very promising game. But you need to find a good and memorable name. Also I wish you would feature automapping in dungeons.
 
Last edited by a moderator:
Name: Ultimate Retro Dungeon: Might of the Pixel Wizard

Seriously, though - looks really awesome! I am a huge fan of the art style and I used to love games like this.

EDIT: The more I read it, I sort of like that name - if you are looking for something sort of tongue in cheek, I guess...
 
Last edited:
A very promising game. But you need to find a good and memorable name. Also I wish you would feature automapping in dungeons.
Thank you very much! I am working on a name for the game right now. You'll be glad to know that the game will have an automapping feature! It's the default option, but there will be a "Classic" mode toggleable in options for anyone who prefers mapping with graph paper.

Name: Ultimate Retro Dungeon: Might of the Pixel Wizard
Seriously, though - looks really awesome! I am a huge fan of the art style and I used to love games like this.
Hahaha! I love the name. I'll go for something a bit less satirical. Emphasis on "a bit". I love how excessive "X of the Y" subtitles are, so you can bet your shorts I'm using one.

Overall, I'm really surprised at all the compliments I've been getting on the art. I never put too much conscious effort into it, so it shocked me when that was the main thing people were praising. Now that I finally have my computer set up again, I can get back to where I left off and push some updates out soon!
 
D

DirectShift

Guest
It looks beautiful. I'm waiting eagerly for the demo.

I'm happy to find another fellow making 8-bity graphics =D, it means that you value gameplay but are still aware enough to make it simple and stylish.
 
Well, I haven't updated this in a while. Sorry about that. Life gets in the way on occasion. Work on the game has been progressing despite chronic illness and the flu. I've pretty much settled on a name for the game: Eysir. Perhaps with a subtitle. I'd been a bit worried that the way I programmed the menu system was going to make work on future menus more difficult to implement, but it's been rather simple so far. I'm also adding an in-game calendar system. No real reason for it at the moment than to make it easier to visualize characters aging. However, in the future...

Focusing on one task at a time feels a bit laborious, but things come together nicely. I'm mostly done with the "Training" menu where you create characters and such. Here's an obligatory screenshot:


Next time: CHANGE
 
It's 2:30 AM here. Ridiculously late. I'm tired, and if it weren't for Bitbucket, I would've talked about things I coded yesterday. On the topic of things that are not delusions from a lethargic mind, changing classes is now programmed in. I didn't have the time or mental fortitude to fully bugtest it, however. Class changing isn't something you do willy-nilly. It has a few severe drawbacks, but smart use of it will let you essentially create your own customized class.​
Funnily enough, the screenshot I posted yesterday got me to catch a bug where the wrong font was displayed for key prompts on the right half of the character roster.​

Normally, those one-word descriptions of what I hope to complete next are just that. This time is a bit different. Historically, I've struggled to find an identity for my games - primarily my RPGs. I've had a backstory that has barely changed in several years and I've always had a vague concept of what I want the game world to feel like. Most of the best games I've played were made by creators with strong visions and involve transformative personal experiences. Today marks a major shift in tone for the game. I know now where I need to take this game.

I need to make it personal.

Myse, the setting of Eysir, is a diseased and doomed world. There is no known cause; there will be no cure. It will not be a violent death, but a passive one. Within the span of one generation, life will cease to exist. There is no hard date. There will be no climactic apocalypse. This is an unwritten rule that all sentient life have come to know. And yet, this is not a story about atrocities and the brink of extinction bringing out the worst in people. It is one about grief and acceptance. A story about those using their limited time and energy to enrich the lives of those they love.

I hope to use my experiences with chronic illness to bring this dying world to life.
 
Last edited:
More work done. Training menu programming is nearly complete. The game is almost to the point where I feel I can post a simple alpha for the purposes of getting some feedback on the menus. I just now realized I haven't talked about or posted any screenshots of the inventory. Here's what it looks like:

Each character has their own inventory of 10 items. Equipment uses up item slots. I want to make sure that usable items don't have negligible effects, aren't a nuisance to carry around, and aren't handed out as if they were candy. There'll be a lot of tweaking when it comes time to work on them in earnest. I added an equip load stat sometime between November '17 and today, but it's not as intrusive as it is in other games that feature it. It is only affected by currently worn equipment; not any other items. A higher equip load lowers your speed in battle, so a tank wearing massive power armor is going to go quite a bit slower than a naked rogue. It also ties into a fairly unique mechanic to standard turn based RPGs: Any character can equip any item. However, certain classes receive heavy equip load penalties for wearing equipment that does not match them.

Also, I'm taking a page from Dark Souls plenty of great video games: items will have unique paragraphs of descriptions that will help spark the imagination and flesh out the game world.
Here's an example of something that will absolutely not be in the final product:


As always, thank you very much for following this project!

Next time: FORCE
 
Haha, I pretty much have to write an update now. Big thank you to everyone who liked my posts!
*cough* @Dylaniza @hamdrax24 @HayManMarc @RichHopelessComposer *cough*
I don't typically like sharing about my health problems, but not being able to eat really drains a person. That load of encouragement is exactly what I needed and I truly appreciate it. Some of your work has inspired me over the years, and I want to leave my mark on the community as well - with this game, and with all the strength I can muster.

And with that, I present to you Force skills!

Force is to Eysir what Magic is to other RPGs. I really dislike comparing it to magic though. It's all atomic-based. It's also not a reference to Star Wars. Rather, Phantasy Star - for reasons that would probably be considered spoilers for both games. I've always had thing for cryptic skill names. It feels almost like having to learn another language. For those that are typically annoyed by this or can't be bothered, there are descriptions and "translated" names for each skill.

As you can tell, it's a "charge" based system like in older RPGs (e.g. Wizardry, FF1) as opposed to "pool" based (Dragon Warrior/Quest, modern Final Fantasies). I hope to balance it well to the point where early-game skills are still viable in certain situations late-game. I always disliked in some RPGs where you'd level up, learn Fire 2, and never again use Fire 1 because it is outclassed in efficiency and power by orders of magnitude.

Well, that's all I can write for now. My hands are killing me.

Next time: SLEEP
 
Was able to finally get back to the game today. Have been feeling awful since Sunday, so resting was primary and getting work done was out of the question.

In most RPGs even down to this day, restoring HP/MP is done in one common way: sleeping off injuries. You find a hotel/inn/whatever, pay some money, sleep, and your health is full once again. This is also true in Eysir with one minor caveat - the game keeps track of time. Characters have their own birth dates and will age over time and can even permanently die past a certain point. This isn't anything to be worried about during a playthrough. In fact, I expect 99.9% players to not even get to the point where characters are affected negatively at all from aging. For the remaining 0.1%, there will be methods of preserving time and effort poured into the game.


Events can occur with the passing of game-time. Cities may fall, governments will change hands, and even your main quest may change over the course of the game. This will not be a punishment for "taking too long to finish", rather a reward for carving your own path throughout your playthrough of the game, as well as a stick-carrot for any who enjoy repeat playthroughs.

Overall, I'm very surprised at how fast things are coming together. The next few updates should be rather major in content and may or may not take longer. Planned features are almost complete, programming-wise. I just need to add them in this project.

Next time: WORLD
 

HayManMarc

Member
That's pretty cool. Any thoughts to keep a journal of events for the player character that the player could read through after the game? Would be a cool feature -- kinda outlining the story of the character.
 
That's pretty cool. Any thoughts to keep a journal of events for the player character that the player could read through after the game? Would be a cool feature -- kinda outlining the story of the character.
That's a really good idea! Thank you. I've added it to my to-do list. It'll definitely add some personality to the game.
As a bit of a minor example of something that could potentially happen, say there's a sidequest to overthrow a harsh dictator. All the player knows is that - "overthrow X for reward from Empire". Emperor A may want to do it because he wants to install his governor, take land, and seize power; while his son and potential successor may want to do it out of honor and goodwill, and the prestige it will bring him. Certain NPCs may have different opinions on the party based on what happens.

I want my sidequests to be things like that. It makes players feel as if they have more input in the story without adding too much effort for me by making too many cascading branches of events.
 
This isn't a full update; I just want to lay my release plans out. If anyone has any suggestions about them, feel free to let me know.

Eysir will be available for free. IDK whether it's "free speech" or "free beer" free, but it will cost $0.00 to obtain the game. It will take at least 20 hours to complete.* I also plan on releasing direct sequels with the same engine to expand on the game world and story.

Again, thank you to everyone who has been keeping up with the game 'till now! I hope to meet your expectations.


*I hate giving gameplay time estimates, but players will want to know.
 
Haha, I can't just retract that now can I? Yeah, I'm sure. I'm not going to blow my entire story in this one game, so this will end up being more of a teaser for what's to come, and an easy way to get people into my future series.

I'll definitely have some method available to donate for those who enjoy the game enough or feel like supporting me monetarily.
 
D

DirectShift

Guest
I understand about making it free, I plan to do the same.

I also think that you should make the "donation" option available, you never know.

Selling games today is tough, it's possible of course, but making a decent income is... hard and too time consuming. You have to do A LOT of marketing and your game must appeal a broad niche enough to make money.

Anyways, what about making a small video showing the gameplay?
 
@DirectShift Being an indie dev is certainly not a gold mine unless you manage to strike gold. I was thinking about being active on YouTube/Twitter again and then starting a Patreon, but I'll see how things go. It's hard to keep track of all these social media accounts when simply getting out of bed can be an event.

Onto the actual update.

I don't technically have a gameplay video, but I DO have this:

Sorry for the small GIF size.

I was finally able to get the overworld implemented. It took me two days despite being about 98% coded already. Exhaustion always finds a way to work its dark and cruel magic on a brain. Besides missing the Field of View effect, it's essentially complete. There's a few things I want to do visually, but making the game playable is more important at the moment than polish. I'm finally at the point where things feel as if they are starting to fall into place. Working on near-intangible menus for a few months in a row with what feels like little progress destroys any semblance of sanity.

I think I'm done with the design of the world map. I've had the general shape of the landmasses done for years, and all I've had to to is translate that into a world that will be enjoyable to explore. I'll share more of that process at a later time. I'll just say one thing: surface_getpixel is UNBELIEVABLY SLOW and you should never use it.

I'll be taking a much needed break on development this coming week. I need to put my mind back into order. Thankfully, I'm ahead of schedule, so alpha demo is still set for this month. I'm so tired.

Next time: i dunno, something maybe
 
D

DirectShift

Guest
Hey! it looks great!

"Working on near-intangible menus for a few months in a row with what feels like little progress destroys any semblance of sanity"

To avoid that I recommend switching tasks. In my case, I switch between:

+ composing music
+ drawing sprites
+ designing levels
+ fixing bugs
+ making enemies
 
G

Guest User

Guest
ayy, abs fantastic looking m8. there's a lot i could compliment, but it'd go on forever and probably sound obsessive. :oops:

i hope to see this series you have planned become a success, and look forward to seeing more updates ~
 
Back home, back to work.

@DirectShift Thank you! Those are normally good productivity tips, but unfortunately for me, switching tasks just disrupts my workflow and I wouldn't be able to finish anything. Don't worry, though. Mental shutdown is just how my brain deals with getting work done.

@Toque Thank you very much. Love the name, by the way! Brings back good memories of visiting friends in Canada.

@hipstercapitalist Glad to hear it. There are plenty more updates to come!
 
I was finally able to get the FOV in the overworld implemented!


I would make a Simon and Garfunkel reference, but that song got meme'd to death

It's not the same FOV system as Ultima 3 like I alluded to previously. It's a sort of reverse-raycasting that goes to every tile in the grid rather than only the outer edges. It checks each tile, travels to the center while checking for any blocking tiles, then makes any tiles in its path visible as needed. It skips any already-lit tiles. That way there's less redundancy. It also provides a decent framerate boost. All in all, it's not the best algorithm I could've used, but it works great with plenty of overhead.

Next time: WALL
 
D

DirectShift

Guest
I like that FOV! I always wanted to implement something like that in my previous game.
How long you think this game is going to take to complete? as a developer...
 
I like that FOV! I always wanted to implement something like that in my previous game.
How long you think this game is going to take to complete? as a developer...
It's far too early to put any specific date for a final release, but I'm hoping for something by Winter '18. This is not a hard date, however. I fully expect it to take longer than that. RPGs aren't exactly known for being quick to develop.

I was about to write a post about how the beta was going to be delayed since the latest version of my dungeon crawl engine mysteriously vanished -- until I realized it was in my project this whole time. So I just spent a whole day looking for and beginning to rewrite something that already existed. *sigh*

In other news, I'm completely rethinking my release plans. Almost every single RPG I can think of that I enjoy was released as a standalone game, without any plans for sequels. Right now, I'd rather make one large game than many smaller ones. As far as it being free, I think it will end up being a paid release. I still do want to release something for free. I'll have to see how things go. Most of this "devlog" is very stream-of-consciousness, which I'm sure will bite me in the butt later on.
 
@nacho_chicken: I'm glad you're thinking of a paid release now. I was going to say it was a shame to give it away for free earlier, but I didn't want to be a preachy *******, haha. I think adding a bit more to it and selling it is the right idea, though!
Thanks! Don't worry, I have the "feedback" tag on this thread for a reason. Feel free to point it out if I'm making a stupid decision.

I am open to criticism.
 
@nacho_chicken: I wouldn't go so far as to call it stupid to release for free, haha! I just thought it'd be a shame not to monetize it somehow. If you're going to release it for free anyway, you might as well sell it for a few dollars at least, because I think anyone who would play it for free would be happy to pay a couple of bucks for it, too. I think dungeon crawler fans are on the "core" side of the gaming crowd. =)
 
D

DirectShift

Guest
It's far too early to put any specific date for a final release, but I'm hoping for something by Winter '18. This is not a hard date, however. I fully expect it to take longer than that. RPGs aren't exactly known for being quick to develop.

I was about to write a post about how the beta was going to be delayed since the latest version of my dungeon crawl engine mysteriously vanished -- until I realized it was in my project this whole time. So I just spent a whole day looking for and beginning to rewrite something that already existed. *sigh*

In other news, I'm completely rethinking my release plans. Almost every single RPG I can think of that I enjoy was released as a standalone game, without any plans for sequels. Right now, I'd rather make one large game than many smaller ones. As far as it being free, I think it will end up being a paid release. I still do want to release something for free. I'll have to see how things go. Most of this "devlog" is very stream-of-consciousness, which I'm sure will bite me in the butt later on.
They real problem is marketing. I mean, yes, you can make the game paid.... but the real difficulty resides on getting the players.

It takes a loooooong time and a lot of work to do good marketing.

That's one of the reasons I'm hesitating of selling my game...!

I wonder how will you face this
 
@DirectShift I'll work on marketing when I have something to market. Right now sharing screenshots/gifs would mean a lot of same-y menus, dungeon walls, and maps. I could do devlog videos, but my health is currently too volatile to have a consistent schedule. I do have plans in mind for the future, but right now I'm keeping my presence with this game on the GMC, because people here have a higher probability of caring about the kind of stuff I'm posting as opposed to people on Reddit, Twitter, etc.

@drowned Thank you so much! Getting compared to beloved 80's RPGs and not getting compared to The Bard's Tale '04 is one of the greatest compliments I could ask for. I look forward to being able to deliver a memorable entry in a once-prolific genre.
 
Work on dungeon crawling engine is essentially complete. I've used an updated and highly optimized version of my previous dungeon crawl engine. It has a smooth-ish look when turning. If you've ever played or seen video of the NES port of Might and Magic: Secret of the Inner Sanctum, that's what I based the effect off of. You can see a video here:
I accomplish this by using three surfaces. Surface[1] holds the view of where the player is currently facing. Surface[2] holds the view of where the player will be facing. And Surface[0] has Surface[1] and [2] drawn to itself, both offset so it gives the illusion of movement. There's no smooth movement for moving forward, because I tried that before and it's too much work for my pathetic art skills.

I am also happy to announce that Eysir will be completely framerate-independent! Movement is not tied to framerate, but rather works with the use of Delta time. I've tested the game at 30, 60, and 144 FPS, and movement speed is unchanged. When the demo is released, you'll be able to see this in action! I'm including an INI file with the demo, so you can increase or decrease FPS to mess around with it.

Next time: DEMO
 
Last edited:
D

DirectShift

Guest
Nice!

It's strange, that dungeon crawl gives me a bit of claustrophobia lol, is it just me?? It's like too narrow! haha

Looks cool, waiting for the demo.

I sent you a PM too
 
D

DirectShift

Guest
Heyy!

I played the game yesterday. Please have in mind that I never played this genre before.

+ The graphics are beautiful! I like them

+ Please, make it so I don't have to repeteadly press the keys to move! I mean, if I hold up I want to char go up. If not, too exhausting.

+ When I entered the dungeon... I couldn't find a way to go back, I mean... as soon as I was inside, there wasn't any entrance.

+ The dungeon engine is nice, however... it's extremely puzzly at least for me, I mean, it felt more like a maze instead of a dungeon. Maybe more colors or some signals to indicate I'm... progressing.

+ I'm not sure what I'm suppossed to do in the game, I don't get what the initial menues are for, maybe a short explanation inside the game or something??

+ As far as I see the game is still too young right? I mean, there's only dungeon and the map is tiny tiny.

+ Overall looks good, no bugs and the mechanics are tight.

What do you plan to have for the next demo?
 
Heyy!

I played the game yesterday. Please have in mind that I never played this genre before.


+ The graphics are beautiful! I like them

+ Please, make it so I don't have to repeteadly press the keys to move! I mean, if I hold up I want to char go up. If not, too exhausting.

+ When I entered the dungeon... I couldn't find a way to go back, I mean... as soon as I was inside, there wasn't any entrance.

+ The dungeon engine is nice, however... it's extremely puzzly at least for me, I mean, it felt more like a maze instead of a dungeon. Maybe more colors or some signals to indicate I'm... progressing.

+ I'm not sure what I'm suppossed to do in the game, I don't get what the initial menues are for, maybe a short explanation inside the game or something??

+ As far as I see the game is still too young right? I mean, there's only dungeon and the map is tiny tiny.

+ Overall looks good, no bugs and the mechanics are tight.

What do you plan to have for the next demo?
First off, thank you so much for trying out my demo! Always good to get a fresh viewpoint on something that I look at often.

(graphics)
Thank you! I'm glad that what I had planned as "programmer art" is more than adequate.

(held keys)
I didn't have time to add this in the demo, but I am definitely working on this.

(both dungeon issues)
The dungeon is temporary, and there will be actual exits and a sense of progression through dungeons in the final game. A dungeon without encounters/battles feels empty, and there will be plenty of those later.

(purpose)

This demo is just for the basic mechanics. The progression in the demo is Town Menu -> Overworld -> Dungeon. Once you get to the dungeon, that's all. Thank you for your feedback on the menus, though! It was especially helpful as someone new to the genre. I will add a tutorial to the final game.

(tiny map)
I actually blocked off large portions of the world map with mountains, and deleted other parts from the demo completely. No point in spoiling the whole game world in one demo.

(tight mechanics and no bugs)
Perfect! That was exactly what I was testing out with this demo.

The next demo will have these features:
  • Battle system
  • One completed dungeon
  • More locations to visit
  • Town maps
My personal deadline for Demo 0.2 is May 31st.
 
I can't sleep right now and my joints aren't aching, so I got some stuff done.
Added coast tiles to the overworld tileset. Really happy with how I did it and how it turned out, so I'll elaborate a bit. First off, world map data is stored in a 2D array. In fact, nothing in my game so far is done in the room editor besides placing objects. I strongly dislike GMS' room editor, so I made my own. But that's a story for another post.

I chose an array over a ds_grid because I think it produces cleaner code, and because I like as much control over my game as is reasonable. I'm also pretty sure ds_grids have some sort of overhead, and I have no need for any fancy functions, so I didn't bother with them.

The first thing I did was figure out how I wanted the coast to look. I wanted landmasses to look lifted up from the water a bit. Similar to how the coastline looks in this screenshot from Lufia & the Fortress of Doom:


I figured out that I wouldn't need to check any tiles below any tile being checked because of the projection angle. I started going through and drawing every tile I would need. I needed corner tiles, so I made those. I needed tiles for 1-tile-wide water sources, so I made those. It was then that I reached an epiphany: If there was a land tile above the coast tile being checked, any tiles on the corners didn't matter. Once done drawing, it was time to program it in with my newfound discovery.

I create another 2D array which holds tile data for potential coast tiles. This array is 15x15, since that is the size of the overworld view, and those are all the tiles that need to be checked. I use some bitwise trickery, so I'll post the script since that'll make things easier to conceptualize:
Code:
while (yy != yf) {
  while (xx != xf) {
    oCoastData[xx, yy] =  ((oMapData[px-1,  py]    != oTileID.water)
                        | ((oMapData[px+1,  py]    != oTileID.water) << 1)
                        | ((oMapData[px-1,  py-1]  != oTileID.water) << 2)
                        | ((oMapData[px+1,  py-1]  != oTileID.water) << 3)
                        | ((oMapData[px,    py-1]  != oTileID.water) << 4));
    ++xx;
    ++px;
  }
  xx = 0;
  px = pxStart;
  ++yy;
  ++py;
}
The loop checks tiles like this:
Code:
[2][4][3]
[0][@][1]
** @ = Tile at xx, yy **
And encodes that data into binary thusly:
Code:
%[4][3][2][1][0]
So, for example, if this is the tile being checked, this would be the output:
Code:
[W][L][L]
[L][@][W]
** W = water; L = Land **

oCoastData[xx, yy] = 25; //25 = %11001
Now comes time to draw the tiles! It's fairly simple and has very little overhead since it's being drawn INSTEAD of the water rather than on top of it. My water sprite consists of 19 subimages - 4 for any coast pieces with land directly above it, and 15 for those without. I arrange them so that essentially all I have to do is directly plug in the coast data.
Code:
var coast = oCoastData[i, j];
if (coast & $10)
  tileSubimg = coast & $13; //$13 = %10011
else
  tileSubimg = coast;
"coast & $13" ignores diagonal land tiles while there is land is to the north. As mentioned probably several times previously, diagonals are ignored when land is north.

Along with a "small" graphics update, that is how this comes to be!



Now is typically the point where I would add "Next time: [x]", but I'm not going to be doing that anymore. My devlog posts here will me more infrequent and more substantial. For more frequent updates similar to how I've previously been doing them, you can follow me on Twitter.
 
Last edited:
D

DirectShift

Guest
Looks beautiful. When you talk about your map editor you remind me of a couple years when I started an RTS game in java. I managed to get to a measly 15% hahaha with all the graphics included. But lost interest and stopped working on it. However, I had to create a map editor to make the levels. So when you talk about the placement of water and all of that... you reminded me of it!!

Due to the fact that I never completed the game, I released the graphics for free: https://opengameart.org/content/complete-set-of-graphics-for-rts

The water had animation an everything, it looked nice =P.

When I found that you could mod Starcraft and place your own graphics on it, I restarted my project there. I only had to add the units, make the maps... and "code" some of the units and abilities, but it was 100x easier and faster compared to making it in java from ZERO.

It was nice to see it in action, I mean.. I had the possibility to see my units, buildings and graphics interacting with already all of the hard lifting (AI, coding, etc) done for me.

I also haven't completed this project hahaha (lost interest too), but I managed to get to... 80% maybe? Here's a video:

Sorry to hijack your thread with my rantings =P, it's just that you gave me strong memories.


BTW, have you thought about launching your game for Android or IOS? I mean... I think it would look cool. You don't have to recode anything, as far as I know, and the graphics and size look good on mobile. I don't know, just a thought, the other day I tried my game on Android and found great that I didn't have to change ANYTHING, just add some in game keys.
 
Well, that was a bit of a long tangent, lol. I haven't put any real consideration to releasing on mobiles.

No iOS because the cost of developing for it is much too high vs. how much I think I would make. Costs would include me getting a Mac (~$500 - $1200), getting an iOS testing device (~$200), and publishing to the app store ($99/year). I could publish on Xbox for cheaper than that. I could probably publish to Switch or even PS4 for cheaper than that. Those platforms would be much more likely to be home to my target audience.

No Android because... the cost of developing for it is much too high vs. how much I think I would make. Not in actual price, but in development time. I'm not on my computer all the time, and sometimes, I physically can't program because my joints hurt too much. I'd have to spend some of my limited development time to deal with Android-specific issues and mobile controls, and I don't think enough people would buy it to be worth my while. Once I get closer to release I might consider it, but - from what I've heard - it's significantly harder to make it on the Play store compared to Apple's App store.
 
Last edited:

SanchezNI

Member
@nacho_chicken - stellar work so far, sir. As a life long fan of the Ultima series, playing the demo gave me some feels :) I'm also in the midst of developing an Arthurian Legends based old school western CRPG in the style of the Magic Candle or the Ultima series and I have a quick question if you don't mind...

It seems a lil simple maybe but I can't figure out the best approach for this, but how are you restraining the world view to the top left hand corner of the full window? Are you doing some kind of surface magic or only rendering a certain number of tiles and drawing the rest on the GUI layer?

I've played around with a few ways of achieving this effect and none I've found to be overly efficient.

In any case, keep up the excellent work - following this project fo'sho.
 
@nacho_chicken - stellar work so far, sir. As a life long fan of the Ultima series, playing the demo gave me some feels :) I'm also in the midst of developing an Arthurian Legends based old school western CRPG in the style of the Magic Candle or the Ultima series and I have a quick question if you don't mind...

It seems a lil simple maybe but I can't figure out the best approach for this, but how are you restraining the world view to the top left hand corner of the full window? Are you doing some kind of surface magic or only rendering a certain number of tiles and drawing the rest on the GUI layer?

I've played around with a few ways of achieving this effect and none I've found to be overly efficient.

In any case, keep up the excellent work - following this project fo'sho.
Well, The Magic Candle is not a name I expected to hear around these parts. Thank you very much! I really appreciate the nostalgic praise; it really gets me motivated. As far as how I draw the world view...

I am using surfaces, but they're not involved with how the world display looks. I only use them to keep draw calls at a minimum. I'm only drawing the tiles visible on the screen at any given time. There's nothing in the room I'm working in. Completely empty, sans control objects. I create the map file using a script that takes a PNG file and turns it into a data file usable for the game. When drawing, the game takes only the tiles that are within the view and draws them on the same surface as the overlay.

Although I'd say the easiest way to do it is just to use the room editor, make the camera follow the player so that it's placed in the corner you want, then draw an opaque overlay on top of any parts of the screen you don't want the world visible in.
 

SanchezNI

Member
Well, The Magic Candle is not a name I expected to hear around these parts. Thank you very much! I really appreciate the nostalgic praise; it really gets me motivated. As far as how I draw the world view...

I am using surfaces, but they're not involved with how the world display looks. I only use them to keep draw calls at a minimum. I'm only drawing the tiles visible on the screen at any given time. There's nothing in the room I'm working in. Completely empty, sans control objects. I create the map file using a script that takes a PNG file and turns it into a data file usable for the game. When drawing, the game takes only the tiles that are within the view and draws them on the same surface as the overlay.

Although I'd say the easiest way to do it is just to use the room editor, make the camera follow the player so that it's placed in the corner you want, then draw an opaque overlay on top of any parts of the screen you don't want the world visible in.
Ha, yeah, The Magic Candle was the second computer game I ever played, though I was only five years old so memory's hazy.

Thanks for the information - I'm also not using the game's room editor other than control objects etc. - instead I build the maps in Tiled and read them into a grid of 'tile' objects that are currently deemed in the view. The only thing I didn't consider was limiting that grid that I display and instead of moving the player object around a world, move the world around the player object :) Simple now that I think it through, of course.

Thanks for the advice and good luck - I look forward to playing Eysir :)
 
Top