As you all know I'm always bored. So I copied DJ Omnimaga's "PokeWalrus" idea and created one for Windows.
In the end the games will be different, but still I just copied his idea (sorry for that), so most of the credit is actually DJ's.
I already had prety much done when I realized the game was too slow, like REALLY slow... <_< So I decided to rewrite everything in Java. (great desicion, I know) ^^
So far I got the following:
The game got a 100x100 map of which a part is rendered (variable screen size, no modifications needed) but multiple maps can be loaded (city, forest, ...)
The map data is created using E37's Map compression (http://codewalr.us/1639/45815) so it supports a front layer and a background layer nativeley.
The player is rendered in a third layer inbetween.
The character is controled using the keyboard (arrow keys).
there's no flickering visible thanks to 10ms breaks each loop.
Todo:
add triggers for interactive objects (signs, chests, ...)
work on the map (add a huge house and some smaller ones, plant a number of trees, flowers, ...)
Known bugs:
Error when trying to leave the map - It tries to get the block id of what's up ahead (nothing) - fixed for top and left edges..
Changelog
[spoiler]0.0.1
- first stable build
0.0.2
- minor bugfixes (rendering)
- rewrote map compresion (2 layers)
- included new tiles
0.0.3
- minor bugfixes (rendering)
0.0.4
- added more map data
0.0.5
- included new tiles (Manison)
- minor bug fixes (map data)
0.0.6
- various bug fixes
0.1.0
- optimized rendering
- implemented key inputs
- implemented movement animation
- minor bug fixes (map data)
0.1.1
- added more map data
- minor bug fixes (map data)
- implemented solid blocks (houses, trees)
- implemented non-scrolling regions
0.1.2
- major graphics rework
- optimized movement animation
0.2.0
- added game menu
- included new tiles (second type of tree)
- added more map data
- major bug fixes (map data)
[/spoiler]
[spoiler=OLD VERSION WIRITTEN IN AUTOIT]
So far I got the following:
The game got a 120x80 map, using 24x24 tiles (PNG quality). The displayed screen is 16x12 tiles.
It supports 2-layer blocks (so Walrii can be partially hidden behind objects) as well as an animated :Walrii:
It's controlled by keyboard (arrow keys).
Improved speed by only displaying updated tiles (but resulting in unstable framerate when running at 100%)
Display flickering avoided by caching entire screen before displaying instead of displaying each updated tile
Since it's written in AutoIt3 it's still pretty slow and unstable but I'm working on that :)
(As AutoIt was never ment for such stuff in the first place... Probably should have given Java a try...)
If anyone wants my source, just ask me :) (but it's commented in German...)
(http://img.ourl.ca/screenshot06.png)
Some screenshots:
[spoiler=screenshots]I'm sorry but I have no software for capturing my screen here... :/ Maybe can provide a good GIF later ^^
[spoiler=Version 1](http://img.ourl.ca/screenshot01.png)(http://img.ourl.ca/screenshot02.png)(http://img.ourl.ca/screenshot03.png)[/spoiler]
[spoiler=Version 2](http://img.ourl.ca/screenshot04.png)[/spoiler]
[spoiler=Version 3](http://img.ourl.ca/screenshot05.png)(http://img.ourl.ca/screenshot06.png)(http://img.ourl.ca/screenshot07.png)(http://img.ourl.ca/screenshot08.png)[/spoiler]
[/spoiler]
Boring Changelog:
19.09.2016:
Edit0: A new game was born...
Edit1: Walrii's back is transparent now and the bad jpeg quality is gone :3
Edit2: Added about 40 sprites and created a little map ^^
Edit3: Thanks to some random windows10 bug (I cING HATE YOU!!) I just lost al progress made in the last 4 hours, yaaaay <_<
Edit4: Redrew all tiles in great quality (PNG now) and added some new ones
20.09.2016:
Edit5: Removed the stupid control buttons (weren't implemented yet anyways) and then doubled the screen size (now 16x12 tiles)
Edit6: Added multi-layer blocks so Walrii can now hide behind trees, statues, grass, ...
21.09.2016:
Edit7: Now have 95 Pictures used in the game.
Edit8: Got half of the city done ^^
22.09.2016:
Edit9: First concept of story written (maybe gonna change something about it)
Edit10: Added friendly hologram that introduces you and tells you about the story :)
Todo:
I either need to make it a multi-layer map or use smaller tiles... Else I'm gonna need multiple hundred tiles...
Make a cool map Working on that
Create an easy map editor
Maybe a smooth scrolling?
Teleportation to separated maps (when entering the forest?)
Add dialogues (signs, statue, ...)
Add Menu and Bag
Add a little friend for Walrii
Known bugs:
The Walrii is always animated, not only while walking
Theres no way to close the game - have to kill the task >.<
The game ALWAYS reacts on keyboard input, even if its in background
Note:
All tiles were drawn by myself. But I should mention that for the houses and the tree I got my inspiration from existing tiles from Pokemon (so I stole their idea, not their tiles since I still drew them myself)[/spoiler]
THose tiles are really cool. :D Also I'm glad to see more Walrii games :3=
What kind of story are you planning, by the way?
Looks very cool, as always. However, I have some recommendations (which you don't have to follow obviously).
1) You might consider to move the walrii up 1/2 tile, so it looks like he's walking in the middle of a way, not on the edge.
2) The Walrii looks a bit too big. However changing that now requires very much work. Maybe little bit bigger doors or something?
3) Maybe make the paths go to the house. We don't know if the houses have entrances on their sides, but it looks a little bit strange
4) If you will be able to go inside the houses, you might want to make the door on a single tile, and not split them up in 2 parts.
The tiles look really awesome ;D
@p2 How about a cross platform version. I'd surely be in :)
Quote from: DJ Omnimaga on September 22, 2016, 05:23:39 AMTHose tiles are really cool. :D Also I'm glad to see more Walrii games :3=
Thanks a lot ^^
Quote from: DJ Omnimaga on September 22, 2016, 05:23:39 AMWhat kind of story are you planning, by the way?
Actually I got no idea... ??? At least my loading screen (which is just fake since it doesnt load anything while displaying it) says "Pocket Walrus and the legend of the green fish"... But I might change that as soon as I come up with a story xD
Quote from: p4nix on September 22, 2016, 06:40:46 AM
Looks very cool, as always. However, I have some recommendations (which you don't have to follow obviously).
1) You might consider to move the walrii up 1/2 tile, so it looks like he's walking in the middle of a way, not on the edge.
2) The Walrii looks a bit too big. However changing that now requires very much work. Maybe little bit bigger doors or something?
3) Maybe make the paths go to the house. We don't know if the houses have entrances on their sides, but it looks a little bit strange
4) If you will be able to go inside the houses, you might want to make the door on a single tile, and not split them up in 2 parts.
actually the problem is that Walrii is too big... Walking on big roads looks absolutely find. But for small roads, Walrii's bigger than the entire road >.>
So I'm actually already planning on implementing a 16x16 Walrus (and maybe a few boosters that change it's size or add some sort of mount ^^ Depends on how well it turns out after draing ^^
For the roads: I was just too lazy to draw roads hidden behind trees, oped noone would notice :3
For the houses: you can't enter xD But I'll add larger houses (that will use the exiting house tiles as left&right side so they got an additional tile with a huge door in the center) :) MAYBE walrii can then later enter these houses, I dont know xD
Quote from: DarkestEx on September 22, 2016, 06:56:20 AM
The tiles look really awesome ;D
@p2 How about a cross platform version. I'd surely be in :)
Nice ;D You can use any tiles you want :) :) What language will you write it in? :) And will you copy idea&tiles but dd your own story, too? :D
Quote from: p2 on September 22, 2016, 07:28:10 AM
Actually I got no idea... ??? At least my loading screen (which is just fake since it doesnt load anything while displaying it) says "Pocket Walrus and the legend of the green fish"... But I might change that as soon as I come up with a story xD
i like legend of the green fish
but you all know i am insane so...
*edit*seriously, do not let me influence your game.. lol
kotu... You couldn't make it any worse ;)
I got large parts of teh story done now: I want the first part of the game like a basic RPG with a fixed story line. But the second part will be up to the user to pick one of multiple possible endings :) (So it's up to the user if it's a happy ending or not ^^)
*about the happy ending: still working on that... only wrote a cool story about how the player caused everyone's death and whole planet's devastation... >.>
But for the time being I'll only focus on the first half since it's still gonna take a lot of time to make it all work ^^
At least I now got the entire intro sequence done (but not interactive, u just sit back and watch ^^ also theres no way to skip it ^^)
i want to see it lol
Quote from: p2 on September 24, 2016, 07:12:21 PM
kotu... You couldn't make it any worse ;)
I got large parts of teh story done now: I want the first part of the game like a basic RPG with a fixed story line. But the second part will be up to the user to pick one of multiple possible endings :) (So it's up to the user if it's a happy ending or not ^^)
*about the happy ending: still working on that... only wrote a cool story about how the player caused everyone's death and whole planet's devastation... >.>
But for the time being I'll only focus on the first half since it's still gonna take a lot of time to make it all work ^^
At least I now got the entire intro sequence done (but not interactive, u just sit back and watch ^^ also theres no way to skip it ^^)
you could have an ending where the walrus ends up with a nice lady walrus who is very beautiful but a little bit older. that would be cool lol
i can think of at least 3 endings involving eating large numbers of badgers
number 1) trying to rescue badgers from drowning in the sea... the wave surge makes you swallow all of the badgers
number 2) you get stuck in a road
number 3) you just want to eat lots of badgers
Quote from: p2 on September 24, 2016, 07:12:21 PM
kotu... You couldn't make it any worse ;)
So I assume this game will be less centered around capturing 150 walruses, right? In such case, the title would probably need to reflect that, such as PocketWalrus: Walrii Quest or something like that. Kinda like they did with Pokémon spinoffs. That said, something else I was wondering is if we start doing Walrii RPG games then maybe we should try to keep the names consistent or something if the initial release is popular, to start some sort of RPG "franchise" :P (It's fine for now, though, since no Walrii RPG was finished)
Yess I thought about that, too. I will name the java version differently :)
For those that don't know yet:
Curently I got to rewrite the whole project (due to AutoIt not being fast enough to keep it up after I implemented smooth map scrolling effects) but this time I'm gonna do it in Java ^^
What is Autoit anyway? I am surprised that a PC language can't achieve smooth scrolling at decent speed and I never heard ofAutoit until you started this project
It's a copy (/windows version) of Apple's "Automator" - it's originally just ment for automating some basic stuff like moving the mouse and doing some little calculations... BUt it was more and more extended (including various windows stuff like gui functionality and a lot of DLLs and stuff) and now you can do almost everything with autoit, even mess in the windows registry xD But sadly it's super slow since it was NEVER intended for something like that in the first place ^^ And also there's absolutely no support for multicore usage in autoit ^^
But Imho it's one of the easiest to learn languages for pc and also great to use ^^
Oh I see, so it's kinda like Game Maker with a BASIC flavour? Can you get rid of the weird Windows-like gray stuff and use custom text boxes at least? Personally I would probably have gone for a BASIC-like language, but ideally something running at decent speed and not requiring dependencies.
you dont need complicated dependencie stuff as long as you stick to basit things ^^
But you can also do a lot advanced stuff (even totally custom stuff iif you just adress the right DLLs) ^^
In general the language is super easy and you can make it do almost everything ^^ Just don't try 3D stuff xD
I would imagine its windows only?
Anyways I would recommend just learning a normal language intended for games :)
I know Java ;) At least the basics ^^ but gonna try hard to improve :)
*I have to since I want to write my walrus game in it xD
Quote from: p2 on September 25, 2016, 08:18:01 PM
you dont need complicated dependencie stuff as long as you stick to basit things ^^
But you can also do a lot advanced stuff (even totally custom stuff iif you just adress the right DLLs) ^^
In general the language is super easy and you can make it do almost everything ^^ Just don't try 3D stuff xD
Well we do need complicated dependencies if you decide to switch Java. Those dependencies are actually Java itself and they're complicated because they often stop working for no reason, requiring a re-install, and sometimes older softwares stop working in newer Java versions or vice-versa, requiring upgrading and downgrading back and forth. I am ok if you use it, though, but make sure that your game is cross-compatible with multiple Java versions rather than being hard-locked to 1 specific version. At least cross-platform compatibility should not be a serious issue, though, due to Java being available on multiple OSes.
Quote from: DJ Omnimaga on September 25, 2016, 10:15:19 PM
Quote from: p2 on September 25, 2016, 08:18:01 PM
you dont need complicated dependencie stuff as long as you stick to basit things ^^
But you can also do a lot advanced stuff (even totally custom stuff iif you just adress the right DLLs) ^^
In general the language is super easy and you can make it do almost everything ^^ Just don't try 3D stuff xD
Well we do need complicated dependencies if you decide to switch Java. Those dependencies are actually Java itself and they're complicated because they often stop working for no reason, requiring a re-install, and sometimes older softwares stop working in newer Java versions or vice-versa, requiring upgrading and downgrading back and forth. I am ok if you use it, though, but make sure that your game is cross-compatible with multiple Java versions rather than being hard-locked to 1 specific version. At least cross-platform compatibility should not be a serious issue, though, due to Java being available on multiple OSes.
As long as you don't use any libraries except the ones in the JDK, you don't need any dependencies, and you just have one runnable jar. The JDK comes with a graphics API that works fine for 2D. If you want to do 3D stuff with openGL or something then yea you will need dependencies.
I thought you needed to have Java installed on your computer in order to run Java programs? Or is it possible to compile them so that we don't need to?
Well that's what I sort of meant ;) As long as the used has java installed then all you have to do is send the .jar file and it will run without dependencies.
Ok, but my point is that getting Java installed in the first place is a major PITA, even more so getting it to work at all. I often found myself having to re-install it because my PC somehow decided it didn't want to run any Java programs anymore. That said, it was even worse with web applets than it is with executables, especially after Oracle bought Java. This is also why I was wondering if it was possible to make a Java project run on a computer without Java installed.
/me wonders if
@p2 still needs help with a java.
anyone else think C++ with openGL/DirectX is easier than java??
#
Quote from: kotu on October 02, 2016, 10:13:23 PM
anyone else think C++ with openGL/DirectX is easier than java??
#
Not really.
I think SFML with C# or SmallBasic is the way to go.
@p2 I highly suggest you have a look at my SquareBasic framework I wrote and sold to German Schools.
http://squarebasic.bmuessig.eu/
@DJ Omnimaga javas compatibility lies in the bytecode which you share with everyone (the jar file) which is then interpretet slightly different by the java environments depending on the hardware in order to adapt the code itself for maximum compatibility. So java indeed needs to be installed to run java programs (at least some sort of runtime Environment)
@c4ooo i sadly still couldnt fix my laptop due tu lack of time but as soon i got that done i will finally start working on it :)
@DarkestEx what king of children writes stuff and sells it to schools even before turning 16 xD i wish i had your childhood lol. But ill take a look at it as soon as i am home again :)
@DJ Omnimaga i had similar problems in eclipse but just moving my files to a new project folder fixed it most of the time ;)
Quote from: p2 on October 03, 2016, 08:53:30 AM
@DarkestEx what king of children writes stuff and sells it to schools even before turning 16 xD i wish i had your childhood lol. But ill take a look at it as soon as i am home again :)
If you need help, just ask. But it's quite easy and uses a Basic syntax.
That was quite fun, but the IT teacher just randomly asked me to sell it to schools. My school bought it for 50 euro and I got to eat ice in their computer rooms which I usually forbidden XD.
But you really wouldn't want to have my childhood :P
Quote from: DarkestEx on October 03, 2016, 11:19:45 AM
and I got to eat ice in their computer rooms which I usually forbidden XD.
lolled hard on that one :thumbsup:
Quote from: DarkestEx on October 03, 2016, 11:19:45 AM
But you really wouldn't want to have my childhood :P
idk what sort of rapists there were but it ended up with a guy being younger than me having >two times my knowledge... <_< :ninja: *p2 hides
Quote from: p2 on October 04, 2016, 09:28:51 PM
Quote from: DarkestEx on October 03, 2016, 11:19:45 AM
and I got to eat ice in their computer rooms which I usually forbidden XD.
lolled hard on that one :thumbsup:
Quote from: DarkestEx on October 03, 2016, 11:19:45 AM
But you really wouldn't want to have my childhood :P
idk what sort of rapists there were but it ended up with a guy being younger than me having >two times my knowledge... <_< :ninja: *p2 hides
Haha yea :D
Thanks, I feel flattered XD
No nothing like that but school related problems (not grades)...
Something helpful for your map editor, back when I was working on Walriimon with Lua/Love2D I used Tiled for my maps. It's really powerful and it should be more than enough for your purposes.
Also, I highly recommend using something like Lua with Love2D or Python with Pygame. You don't need the power a language like C++, C#, or Java will give you and working in a simpler language has its benefits for ease of development. And if it's of no matter, I would even recommend an engine like Godot to take care of the systems and code structure aspects of the project.
I still recommend C# with SFML or SquareBasic :)
And one day, there will be Claw too.
Meh. C[++] or java will allow you the most freedom. C# is basicly java. For the game you describe, there is NO NEED for a game engine. If you plan to make future projects, i would very well advise learning how to write your own tilemapper (its very easy, it takes me about 30 minutes to write one ;) (But ive done it many times before)). As for a tile editor, Tiled will probably work (although ive never used it)
There is also Mappy, which is ancient and has its quirks (such as no undo), but I and tr1p1ea used it often in the past. If your maps aren't too big and you are good at backing up your progress often (saving often) it can do the job. I never tried Tiled much, though, so perhaps that might be better.
On an off-topic note
@Scipi is Walriimon dead? D: (Nice to see you around, btw :))
Quote from: DJ Omnimaga on October 08, 2016, 05:39:18 AM
On an off-topic note @Scipi is Walriimon dead? D: (Nice to see you around, btw :))
I wouldn't say dead, just in long term stasis. I have the exp in godot to fully make it now, I've just got a bit too much on my plate atm to work on it.
was/is walriiimon another pokemon-like walrus game?
Yep. The project was never completed because GUIs are hard
https://codewalr.us/index.php?topic=1019.0
Ah I see. Too bad. I hope you can work on it again later
just out of curiosity: what language was it written in? :)
The first attempt was in Lua with Love2D. When I couldn't figure out GUIs, I switched to using the Godot engine.
Dont know them both :/
But it's really sad you dont have the time to work on it atm because it looks really promising! :) I hope you'll find the time to continue it soon :)
As many people arent aware of it I guess I should post an update:
My "old" PocketWalrus game was created in AutoIt but I had troubles with the program speed as AutoIt is pretty slow.
(I implemented a smooth 24-step scrolling effect to walking, still using a 3-layer 2//4-frame animated environment. And I endet up with <<10fps)
So now I am currently rewriting it in Java.
Therefore I'll probably redo most of the graphics, too, as I'll probably increase the definition by the factor 2.
So I'll be still using 24x24 pics, but what was one tile until now will become 2x2 tiles :)
This way everything will be twice as big except the walrus whic hmeans it ifinally fits in ^^
Also it's name will be changes lateron as PocketWalrus doesnt fit since it's gonne be different from pokemon games.
For those interested in it, this was my latest version BEFORE I implemented a smooth scrolling effect:
https://mega.nz/#!SVdCHTzQ!jCo7vf4Ax30axgLep0kcbX-Gz_4pxYhnztyFhLTfw9E
Please mind that the /IMG/ has to be in the same folder as the .EXE
Also right click the tiny icon in the taskbar and choose EXIT or just kill the tak to quit. The [X] in the window bar doesnt work. Sorry for that xD
For those interested in the source code (AutoIt3) here you go:
http://pastebin.com/j5DBa47G
Feel free to do anything you want with it, I dont care ^^
Feel free to use/Edit my code/tiles in any way but as always: If you make money sellign anything I created, you got to buy me cookies :love: (Seroius about that!)
Maybe you could call it Super Walrii Quest or Super Walrii RPG? As for speed I am surprised that auto-it performances are this poor. I hope you don't have the same issues in Java.
Super WalRPGii!
ehh that kinda works
My idea was kinda inspired from Super Mario RPG actually. But also I had a platgormer in the works back then that was called Super Walrii Land, so that would have been fitting to have Super Walrii RPG.
I'm actually thinking about "Walrus Kingdom" or omething like this but I'm totally not sure...
still it's gonna take weeks before I will have the first running demo, so there's still enough time for that :)
Or maybe "The Legend Of Walrii - Chapter One: The Green Fish" ^^
As I havent used Java this much so far I guess I should just ask you guys :)
I'm thinking about creating a GUI full of buttons (one button = one tile) so the map is clickable and Walrii will walk where you click. (in addition to standard keyboard control)
Will this even work and will it slow down he rendering very much...?
Well I don't really know Java at all but you should be able to handle clicks directly through the form's canvas (-_(//));
*edit*
like so...
https://examples.javacodegeeks.com/desktop-java/awt/event/handle-mouse-clicks-example/ (https://examples.javacodegeeks.com/desktop-java/awt/event/handle-mouse-clicks-example/)
this gives you the x and y of the click.
aaah ok thx ;D
thats great ;D
Then I maybe can still add a scrolling effect :D
Quote from: p2 on October 17, 2016, 10:43:05 PM
As I havent used Java this much so far I guess I should just ask you guys :)
I'm thinking about creating a GUI full of buttons (one button = one tile) so the map is clickable and Walrii will walk where you click. (in addition to standard keyboard control)
Will this even work and will it slow down he rendering very much...?
Don't be insane. You have your tilemap, each frame you render each tile to the canvas :P
(Now i think i *reeeeaaaallllyy* should make a tilemapper in java tutorial :P )
I wouldn't recommend structuring it like that, honestly. What's better to do, really, is:
1: Capture an input event. Mouse, keyboard, etc
2: Give that event to the GUI
3. If nothing in the GUI accepts the event (maybe you didn't click on any GUI elements), give the event to the game world
In your game world, if you're in a state you want to accept those mouse events, you can use the X/Y coordinate of the click plus the X/Y coordinate of the camera view to determine the tile clicked and go from there.
Quote from: p2 on October 17, 2016, 10:43:05 PM
Will this even work and will it slow down he rendering very much...?
Don't worry too much about speed at this point (actually, don't worry about it at all until you see it's going to be a problem). As much as I hate to admit, Java is a fast language (relatively speaking). And the overhead a GUI element carries isn't going to have any noticeable impact.
I made a tile renderer for p2 it reaches 90fps with full 2 layer tiles using standard java (600x408)
if anyone wants the code i will have to do a couple of things to it but thats fine however i will be sticking to p2's style of his tiles image has a black border and tiles separated by black lines
:)
(-_(//));
I'm happy to tell you that I'm making great progress again, I'll soon have the first demo running :)
(still taking a few days as I got to work every day) ^^
I'm especially happy that I got that much help from the whole community, both support in IRC and tutorials that were written just for me:
People I have to thank until now (in alphabetic order as I love lists that much):
- ben_g for helping me finding bugs
- c4ooo for his graphic demo code
- cumred_snektron for helping me when I got stuck
- E37 for his map compression tutorial (https://codewalr.us/index.php?topic=1639)
- Kotu for his tile map code (https://codewalr.us/index.php?topic=1649)
I love this community <3
setup a random map (2 layer) which is now properly displayed. :thumbsup:
Adding scrolling + the walrus now ^^
animations are added later xD
Also I have to create a map again >.<
are you going to have different areas (therefore different maps) or is it just one big map?
I will have one map object but insert different map data into it depending on the level/region later :) (like once you enter a forest path you gat a cute but annoying animation for a few seconds until you're teleported to a new map :3
(so I'm always adressing the same map object and the same functions and stuff, but overwrite some of the backgroudn data ^^
Already at 20.5KB of source files :3
I think it would be really cool if you added everyone's version of Walrii into you're game. :)
DJ Omnimaga is creating a walrus game, too in which he actually included most of them as his game will be around collecting different types of walriis (like pokemon) iirc.
Mine is more like a classic rpg but with walriis as characters.
If I'll actually add NPCs, I'll make sure to include some nice ones :)
I like the new name and I'm glad to see progress :)
uh right, about my progress:
map rendering is perfectly working now. right positioning of screen on the map is done (player's character centered except if close to border)
up next:
- speeding up map rendering (only display changes)
- key inpouts (working on that one)
- animated tiles (have to draw them first ^^)
- real map (only a very small part is done)
- write letter to Nintendo for using their music from "Mother" (but their online formula wasnt working...)
--> If refused, kindap admin's daughter - implement the music
- add storyline (non-interactive part at the beginning)
- add event-id map (to trigger interactive objects like signs, houses and NPCs)
--> two layers: Event-id and condition-id to check an array "conditions" if the value given in the second layer is correct (binary number combines multiple booleans as separate conditions for triggering an event) - milk
- eggs
- sugar
- lots of cooies :3
Okeeeey...
I wrote an email to Nintendo for using their Music from Mother2 for my game, too (their music is 20years old and not used anymore. But copyright and stuff...)
now I got a response :D
(google translated as I'm too lazy) :ninja:
Quote from: NINTENDODear Mr. xxxxx,
Thank you for contacting Nintendo.
We are very happy about your interest in Nintendo, but please understand that we must reject your request. The reason for this is the large number of similar inquiries, which are constantly received by us and which we can not examine in each individual case.
In general, this is the case: If you want to use content for which Nintendo claims copyright - e.g. Gameplay, artwork, or music - may do so only without permission within the scope of the permissible press coverage. Nintendo prohibits the unauthorized use whenever it serves purely commercial and / or advertising purposes. In particular, there should not be the incorrect impression that there is a connection between a third party and Nintendo that is not expressly approved.
If you believe that your intended use complies with the terms of an admissible press release, we recommend that you have this checked by a lawyer.
Please do not hesitate to contact us for further information. Have fun in the exciting Nintendo world, wish you
XXXXX XXXXX
Nintendo UK - www.nintendo.de - Nintendo Service - Phone +49 (0) 69 66105 900
But now I'm not really sure... Should I really go see a lawyer to tell me if I may use the music or not...? :P
I dont get it what they mean by "press coverage"...
Can anyone help? ^^
[spoiler=German original text]
Quote from: NINTENDOSehr geehrter Herr xxxxx,
vielen Dank, dass Sie Nintendo kontaktiert haben.
Wir freuen uns sehr über Ihr Interesse an Nintendo, bitten Sie aber um Verständnis dafür, dass wir Ihre Bitte ablehnen müssen. Der Grund dafür ist die Vielzahl ähnlicher Anfragen, die laufend bei uns eingehen und die wir nicht in jedem Einzelfall prüfen können.
Generell verhält es sich so: Wer Inhalte nutzen möchte, für die Nintendo das Urheberrecht beansprucht – z.B. Spielsequenzen, Artwork oder Musik – darf dies ohne Genehmigung nur im Rahmen der zulässigen Presseberichterstattung tun. Nintendo untersagt die ungenehmigte Nutzung immer dann, wenn sie rein kommerziellen und/oder Werbezwecken dient. Insbesondere darf nicht der unzutreffende Eindruck entstehen, dass zwischen einer nicht ausdrücklich genehmigten Publikation von dritter Seite und Nintendo eine Verbindung besteht.
Falls Sie der Auffassung sind, dass die von Ihnen beabsichtigte Nutzung die Bedingungen einer zulässigen Presseberichterstattung erfüllt, empfehlen wir Ihnen, dies von einem Anwalt prüfen zu lassen.
Gerne stehen wir Ihnen bei weiteren Fragen zur Verfügung. Viel Spaß in der spannenden Nintendo-Welt, wünscht Ihnen
XXXXX XXXXX
Nintendo Deutschland - www.nintendo.de |Nintendo Service - Telefon +49 (0)69 66105 900
[/spoiler]
Let it go man, you're not getting their music.
Make your own music :)
For the sake of originality, I would say go with your own stuff. Itcan be inspired from their work and use any software, though
""Nintendo prohibits the unauthorized use whenever it serves purely commercial and / or advertising purposes. ""
I would say from this it would be ok as long as the game is free and doesn't link to your website, but i dont know
Nah, even linking to his site would be fine. I think it's more to advertise to sell stuff that would be a problem.
Quote from: kotu on November 09, 2016, 12:13:35 PM
""Nintendo prohibits the unauthorized use whenever it serves purely commercial and / or advertising purposes. ""
I would say from this it would be ok as long as the game is free and doesn't link to your website, but i dont know
I don't think so. They said that you could only do it without permission for press coverage – in other words, not for games.
By the way, Onirocrancie or whatever it was called has a lot of RPG Maker sprite sets that are probably public domain or can be used if credits are given. THere are probably similar English sites for that too and you can also ask in the art thread. So you can probably find alternatives there that would look as good, if not better than Earthbound graphics.
http://www.rpg-maker.fr/index.php?page=ssmenu&type=telecharger
I'm very happy to tell you that I'm making huge progress again, thanks to
@kotu this time who spent some time rewriting my entire #Keys class O.O
http://codewalr.us/1711/47590 (http://codewalr.us/1711/47590)
now key inputs are working, the Player can now freely walk around and even the colision with solid blocks like houses is already working :w00t:
right now I'm manually adding the data for all the tiles (is it solid, what's its pic id, ...) ^^
next steps to do:
fix key inputs
make Walrii walk
fix 3layer rendering
add solid blocks add data for ALL blocks rotate walrii when walking add trigger messages (signs etc) implement interactive blocks (signs) get some sleep ~.~ | (http://img.ourl.ca/current-1.png) |
Looks pretty amazing
*edit
getting a pretty steady 60 frames per second by the way
great to hear that :) How have you checked the FPS?
I'm working on the map again now :)
*I'm not sure yet how I'm gonna implement animated tiles as well as smooth scrolling, let's see ^^
EDIT:
@kotu: I now modified the rendering stuff (still a bit buggy but like 80% done)
The results are awesome:
before I had (with a dime delay to stop flickering):
40/90 fps (40 high usage like running around, 90 while standing still)
now I have:
115/185 fps (115 high usage like running around, 185 while standing still)
and when I remove the little slowdowns (screen lickers again) I get this:
5000 / 9500 fps (5000 high usage like running around, 9500 while standing still)
which means I can add PLENTY of slow time-intense stuff and still run it at 60fps easily ;D
evil doublepost :(
But there's news:
I rewrote the rendering modification and it now perfectly works:
only rendering changes on the screen insted of rendering everything on every frame.
(it now also redraws the tiles that were covered by the Wlrii in the last frame, yay) :thumbsup:
--> HUGE improvement in framerate
The walrii now turns around while walkign nd alwas looks in the right direction.
Also movement is now animated in a variable speed (duration per step can be set in milliseconds, I chose 200)
I Modified the city1 map so now the doublelayer system is almost perfectly working as the Walrus is walking around houses ^^
but I still have to find out why it sometimes bugs *depending on position on the map* <_< (working for some houses, buggy for others) FIXED IT
(http://img.codewalr.us/layers.png)
(http://img.codewalr.us/bug.png)
This is what happens whan walking left-right-left behind houses. But it only happens wih some houses ^^ It seems to repaint only the background <_< FIXED IT
thinking about the best method to implement animated tiles. I guess I'll add a method that will (my modulo of milliseconds) apply changes to the temp. map file :)
That way I won't have to mess with the rendering system itself ^^
I decided to add something from every forum member (DJ is the ingame-king, there will be a chemestry walrus (p4nix), a wild fox (Sorunome), something with a huge beard (Juju), ...
If you have any other ideas besides these ones what to add, pls let me know :)
tripple post :'(
but there are updates:
Normally the character is centered in the screen, except if you walk close to the border's map (screen won't leave the map).
[spoiler](http://img.codewalr.us/center.png)[/spoiler]
But now I added areas where the screen centers a predefined point/axis.
So for example whenever I walk through the villa's garden, I always see the whole garden as only the Y-Axis is scrolling there ^^ The same methods can be used for indoor levels (If I ever add them)
[spoiler]only the Y-axis is scrollign in this area, the X-position of the screen is fix
(http://img.codewalr.us/nocenter.png)[/spoiler]
Also I finished block definitions (tile number, name, solidity, ...)
next things up are:
- draw 4 new tiles for walrii walking diagonal (perssing two arrow keys).
- add a map of interactive stuff like signs
- draw tiles for chests as interactive objects
- find out how to even draw text in the game... ^^
- prepare the lower screen as I want to split it in pure map and a menu screen (like a gameboy, but different)
[spoiler=funny random bug]Sure I know what I'm doing ;)
(http://img.codewalr.us/bug2.png)[/spoiler]
I'm glad this is progressing again. I was worried a few days ago when I saw there was no update since November 2nd and you talked about possibly quitting this project due to Java input issues. Also I like the new maps. One thing, though, is that I think the houses, while looking nice, don't look consistent with the rest of the artwork due to the lower resolution, so I decided to try adding some manual filtering on them, in case you might like:
(http://img.codewalr.us/p2househires.png)
It's the same but I rounded some of the edges and other things to look hi-res. :)
Thank you verry much, dj, I really appreciate it. :D I uess I should rework all the house tiles like that xD
the only problem is, there are 112 different tiles for those stupid houses... <_<
so that might actually take some time ;D
And drawing the new walrii tiles will take a lot of time, too, but I doubt I'll get them loking good enough ^^
maybe you want to give it a try? Walrii tiles for a walrii walking diagonal? They might by useful for any walrus game afterall ^^ (but only if you got the time of cause) :)
hope I can present some more updates by monday ^^
For houses, can't you re-use corners from one house on another? That might speed up the process.
Also which Walrii tiles do you need in particular? O.O Do you need all walruses to face 4 directions? That will be a lot of work for sure. I doubt I will have time. To save time you could maybe instead have all NPC's face two directions and not move, except maybe two or three kinds of NPC's that can move.
nah just the base :walrii:
but I need it looking in 8 instead of just 4 directions ^^ (for walking diagonal)
Oh I see. Well... most games that supports 8 directions only use 4 directions for sprites. See Zelda: Link to the Past, for example. Usually, diagonal movement uses the same sprite as the last direction you went in (so if you start moving up-left after moving left, then the left frame is used, while if you were moving up, the up frame is used. Some games only use vertical frames for diagonal movements, though, while others use horizontal only.
yeah I'm currently doing that, too, but it looks pretty stupid :/
always using the vertical ones (except for right-top direction, but I'm not sure why^^)
It looks REALLY stupid, but I also dont want to block diagonal movement... :/
How do you play it?
It's written in Java and if you want to try my current version, feel free to do so:
https://github.com/KaliPhobos/WalrusKingdom/
import the files in a new java project in eclipse and add a folder named "resources" where you put the tiles.png in. then you should eb able to try it out :)
If you need any further halp with it just PM me :)
I'll add instructions later, too much other stuff to do right now ^^
Just paste a runnable jar ;)
I'm currenty redoing big parts of the artwork as I'm implementing DJ's highres tiles of the house... but once I'm done I'll paste one :)
the game is so far pretty stable, just make sure not to drive to the eastern wal as the game will crash there ;)
but besides from eastern (and southern) wall there is no way to crush the game I think ^^
I can't wait to see new screenshots with the new houses. :)
I modified the pic U sent me even a bit more (but only a very little bit) ^^
now the results are the following.
(https://img.ourl.ca/low.png)(https://img.ourl.ca/high.png)
but still I have to redraw all of the tiles in different colors (as I have orange, green and blue houses) as well as the special ones for the big mansion ^^
again thx lot
@DJ Omnimaga :thumbsup:
I like :D and glad I could help :3=
For differently colored houses, don't you have tools to change the hue or find-replace specific colors/ranges?
I do but first I have to prepare mano more tiles with the new highres...
(for longer roofs and stuff) that will take time. and sadly my screenshot is useless to me as my screen isn't 1pt/px (the screenshot is blurry). And as you know somehow the color palette was alterd so I got to redo all of if :/
I'm working on it a much as I can but currently I'm making only little prograss as I'm also working on the Wikileaks case.
But I'll provide a lil update soon ;)
Will you, too? :D
Quote from: p2 on November 24, 2016, 12:34:53 PM
Will you, too? :D
Which update? ???
ALso I hope you don't permanently get involved into Wikileaks or other political matters to the point where you ditch all of your other activities and projects O.O. That would suck to see you and this project go (I saw this happen in the past with other Internet users from specific communities, although the most common thing was LDS church missions.
p2 has always been politically interested I guess. So that activity increases when s*** is about to happen/happened, but will come back to normal :walrii:-level ;)
Ah ok phew. Anyway I am still confused by the other thing you said one post ago in my quote <_<
I was referring to your walrus game ;) Will you make a little update soon? :)
@p4nix: yesss, you seem to really understand me, nice :thumbsup: also you HAVE TO read that, it's huuuge:
https://www.reddit.com/r/WikiLeaks/comments/587lbg/i_have_been_looking_into_the_san_fransisco/
one of the best things I ever read, they put so much work in it O.O
Enough offtopic, I have a little update to present:
0.1.2
- major graphics rework
- optimized movement animationthanks to
@DJ Omnimaga I finally have the houses in full resolution, no upscaled stuff anymore ^.^
Buuut I spend a few hours redrawing it again and again and again until the houses perfectly fit into the surroundings (so this is also new to DJ) ;D
That's how the houses look like now :)
(http://img.codewalr.us/newhouse.png)
I'll probably rework the lower part of the houses, too (only did the roof so far)
the animation now works completely different:
before I just took the odulo of 200 of the current time (in milliseconds) and switched between the two tiles depending on the time. but when only pressing the key very shortly you still made a step forwards without any movement animation. Now as soon as the player presses a key the current time Plus 200ms is set to $nextStep and as soon as the current time reaches that, the other tile is displayed (no matter if the key is still pressed then). Sounds like nothing but greatly improved the general looks of the game. ^^
about exporting an executable JAR I till have some problems with that as it won't read the external resource file (the pictures) anymore... :/
The picture resources should be inside the jar, unless you know what your doing.
I'm still trying to load it externaly but it can't find it no matter what I'm trying... :(
public static TileSource tiles = new TileSource("resources\\tiles.png", window.blocksize);
my folder structure:
.\CodeW\resources\tiles.png
.\CodeW\src\CodeW\.... (all class files here)
I tried removing the "resources\\" and put the picture next to the jar file but it couldn't find it... :/
Set your IDE to use the resource folder as a source folder, then it should automatically copy it into the jar.
Those house edits make them look better. Nice :)
thx ^^ I now also created a super simple map editor (added PICK and SET keys and disabled solid blocks... so I run around as a walrii and build the entire map ten times faster tan before ^.^
So expect some huge mapping progress soon ;D
*but I still have to draw a lot of additional house tiles xD
Also
@DJ Omnimaga I need permission to copy your houses that you drew for Reuben3... (a flat but larger one as Bar, ...) (stealing your ideas only not the pics). is that fine for you? :)
This is the current main map (the city). It where you'll start after the short intro :)
I still have to do lots of graphics (as you can see tiles for the bar and the huge house are still missing) as well as a little bit more of map design ^^
If you have any suggestions, feel free to ask me :)
(https://img.ourl.ca/bigmap.png)
Looking nice, however I'd suggest making more different tree sprites and grass sprites and adding more randomness to the tilemap, because IRL forests usually aren't that uniform :P
I kno but it takes so ong for me to create a second type of trees >.<
especially it looks sooooo cty when I mix them together within a forest... :(
These are the trees I have so far:
(https://img.ourl.ca/trees-2.png)
I'm also planning to add little random stones on the street as well as random flowers :)
I hope that will be enoug hto give it a more natural look ^^
I wouldn't worry that much as you won't be able to see too far into the forest, will you
this is as far as you can see in the actual game:
(https://img.ourl.ca/see.jpg)
anyways I'm already working on a second type of trees...
but they're almost not distinguishable now xD
but it indeed made the forest look better I think :)
I will provide a screenshot as soon as I made some more progress on it ^^
Wow I like the map and ut's so big O.O
Also the houses from Reuben 3 are from Reuben 1 and 2 :P. You can re-use them
thx DJ :)
I now also got permission from the current Axe developer to use teh AXE picture (the one used in the menu) for an ingame-item :D
little spoiler: walruses will be able to cut down trees ;D
I wonder how a walrus can hold an axe or a sword while trying to walk around with his flippers. :P Also it would be funny if the Walrii Reuben was included :P
@DJ Omnimaga I dont think I will animate the walrii when cuting down trees xD I really dont know what to draw for it D:
Buuut I have a little nice update :D
thx to
@Sorunome I now added a second type of tree and I think the forests look really nice like this :D
It's hard to see at the first spot but you see it pretty good while walking around :)
(https://img.ourl.ca/twotrees.png)
For cutting down trees, just use the front flipper frame and add an horizontal axe in front of him maybe. Also this looks very nice :D
idk yet, maybe just add a little smoke animation (something cute like the expolsion
@kotu did in KillCMD) if I animate it at all, we'll see :)
Also another update:
I added an animated menu screen and it looks pretty nice so far, only the buttons are missing ^^
animation and changed keyboard functions are working perfectly :)
Also added lot of map data (planting trees takes lots of time) and updated the tile data (new trees weren't solid) ^^
will provide a new screenshot soon :)
sadly I still wasnt able to export the game as a runnable Jar with th epictures inside it... They're there (checked with 7zip) but it can't find them :(
can you recommend anything for making animated GIF screenshots? :)
EDIT:0.2.0
- added game menu
- included new tiles (second type of tree)
- added more map data
- major bug fixes (map data)
The game menu is implemented and fully functional.
(At first I forgot the SAVE button but fixed that already) ^^
I'm verry sorry for the quality, but the software I used is beyond crappy... :ninja:
If you know any good GIF recording software, please let me know D:
(http://g.recordit.co/nUBN4bvP2f.gif)
that's supposed to be a smooth scroll animation in background. The lags are ONLY fom the recording!
The game runs smoothly at >>100 cps (counting the clicks per secondas I have to slow it down a lot. Currently slowing it down to ~27FPS as more screen updates arent necessary)
Also NEVER use "http://www.recordit.co/" or you'll get the quality seen above <_<
Best detail: you have to
pay 29$ to get
max.12 FPS recordings (which is the pro version).
Order it today, I'd say: https://blog.placeit.net/RecordItPro/
:trollface:
Wow I like the menu so far. My suggestion would be to maybe add some extra effects such as outlines or a gradient to the title itself, maybe like CW logo or something, to make it stand out more. Maybe also add the two cat walruses at the bottom of the screen as easter egg like at the bottom of this topic page :trollface:
Also for screen capture I recommend Camstudio. It's free and if you have a quantum computer it can give decent frame rates when recording.
I have decided to redo the entire menu :3
I can reuse most of the code I wrote for it, but the graphics will be redone. I pretty much hate the menu as it totally doesnt fit to the rest of the game... :/
thx for the suggestion :)
Ah ok. What ideas you had in mind? Also, I wonder what the Walrii with the lighter border will look like...
asking for "external" help with the menu (a non-walrus) ^^
I'll present the new walrii (if I use it) together with the new menu in a few days I hope :)
Ah ok. Try to keep the :walrii: as true to the original as possible. For example, not stuff like this :P
(http://www.gstatic.com/tv/thumb/movieposters/14798/p14798_p_v8_aa.jpg) (https://upload.wikimedia.org/wikipedia/en/d/dd/Mega_Man_1_box_artwork.jpg)
Quote from: DJ Omnimaga on December 04, 2016, 11:25:11 PM
I wonder how a walrus can hold an axe or a sword while trying to walk around with his flippers. :P Also it would be funny if the Walrii Reuben was included :P
I reckon walruses would have an innate ability to deal with axes. Not swords though, totally different.
He just holds the axe with a front flipper
@DJ Omnimaga , duh. lol
Quote from: p2 on December 07, 2016, 01:52:28 PM
(http://g.recordit.co/nUBN4bvP2f.gif)
menu looks really nice :)
*sorry, top-post :(
By the way, you know you can edit your previous post with the modify button, right? :P
yes
what happened to the 'delete post' button?
There's no delete post button available to members unfortunately, due to abuse on other sites in the past. I can probably merge your two posts if you want, though. Just making sure you know about the modify, though.
so it just got removed in the past 2 days and stuff?
Even I can't delete other user's posts :/ (But I agree I dont really know what I would need it for as we never had stuff like NSFW content spam ^^)
Back to WalrusKingdom:
I so far had no time to ask the non-walrus I wanted to ask for help, But I hope I can get it done within the next few days.
The menu items themselves are already done, but I want a really fancy "WalrusKingdom" text above it, retro pixelart style and everything ^.^
sooo I'll try to speed it up and tell U guys once it's done :)
Also Coming next after menu:
interactive objects like signs and chests :D
(but I dont know yet about inventory and if a walrus really needs one... still thinking about that part) :)
I'm REALLY happy this project was voted to 4th place of monthly voting :love:
also I'm just as happy to announce I have someone working on the Menu now ^.^
Aaaalso I added the first text stuff, so once I find out how to change that stupid font, I expect some progress again :D
Already got the first progress:
I prepared the map for the Intro sequence (interactive dialogue stuff) and have the first textbox running.
Hope you guys like it ^-^
(https://img.ourl.ca/intro.png)
Really nice to see your progress!
But please keep sure to build it as modular and 'soft' as possible, since this kind of project can become huge and as soon as that's the case it might become a mess to fix anything hardcoded. Haven't looked at your code, just a general advice ;)
I like the new text box. I have a suggestion, though, for the sake of consistency: Maybe you could remove some of the blur around the brown border to make it more consistent with the rest of the pixelated graphics. :)
I'll try to pixelate the border of the box first, and maybe do that, too :)
Currently working on the intro dialogues :)
Edit:
@p4nix: I'm trying to keep it as modular as possible ;) Also I added lots of comments again and cleaned up my code :)
Will there be a special screen for the intro, like in some SNES RPGs? Not necessarily a cinematic but something to go with the prologue or an event.
nah the intro is just like the regular game but the character moves on its own and you get lots of dialogue texts :)
also I'm 90% done with that ^.^
Aaaand thanks to
@Snektron I managed to pack my game in an executable JAR which means there will soon be the first version online ^.^
Quotev0.3.0
> Added Intro Sequence
- using a separate map
- dialogue implemented
> Various bugfixes
I'm so sorry for not doing an update in 6 days :'(
but I had almost no time at all to work on it... :'(
anyways:
window is now resizable (the rendered screen directly adapts) <----- (still a LITTLE bit buggy)
v0.3.2:
- major bug fixed in zoom adaption
- simplified the startup code
- various minor bugfixes
currently I'm working on preparing the map for the storyline (writing down the step-by-step storyline and adapting the map to it :)
Glad to see updates :D. Also about the intro, make sure it's not too long. I hate when an RPG has a NPC event that lasts like 15 minutes and have to wait 15 more minutes to see what gameplay is like >.<
As for the map good luck. Have you gotten the graphics besides the trees and roads done?
what'S still missing is the HD remakes for the big manison as well as creating the graphics for the pub and the huge library (havent even began working on them yet).
also a sone table as well as the pixelated version of the dialog box.
the dialog is rather short as I'm too lazy to tell you how to walk around... 15 of those little texts (3 lines each) and it tells you about the entire history of the game and your mission. That should be acceptable.
All you have to do is pressing the arrow keys to walk around, and during the game little messages will popup like "PRESS A TO POKE THE PIG" and stuff like that. So a simple learning-by-doing concept ^^
also last night I FINALLY fixed that stupid bug that made the game crash if you ran into the right or bottom edge of the map.
So now there's only one known bug left (of which I aleady know how to fix it) ^^
Hey p2!
I am very excited about the game!!
Will it also work on mac? :o
It's written in Java and will be exporte as a runnable JAR archive. So as long as you have Java running on your mac it should work :)
also I'm still working on implementing the new menu, Im not sure if I'll be able to finish it tonight, having troubles with the zoom adaption >.<
Will the menu be similar to old Final Fantasy games?
erm....
how were the menus in old final fantasy games...? :/
it's pretty much a custom thingy especially for this game, I doubt other games used something like that yet
Buuuut I won't spoiler you until it's done ;)
btw
@naz2a is the one that created it for me ^o^
http://vignette1.wikia.nocookie.net/finalfantasy/images/1/14/FFVI_SNES_Menu.png/revision/latest?cb=20130122015919
Kinda like this
errrrrm nope it will be totally different xD
will continue working on it today ^^ (might still take some while until its totally functional :/
I finally figured out HOW to get the new main menu functional in the first place, but there's still a lot coding work to do >.<
But I'm really sure you guys will love it :thumbsup:
What was broken in the menu finally? I'm glad you got it to work :)
after a looooooong break finally another update on WalrusKingdom ^o^
I am happy to present the following changes:
v0.3.3
- an entirely new main menu
- updated block data definitions
- adapted the tiles
- modified display algorythms
- reworked key inputs
- reworked communications between classes (plus data handling)
v0.3.4
- fixed the critical bug in the new menu structure
AND HERE IT IS, THE NEW MENU SCREEN :D
(https://img.codewalr.us/menuscreen.jpg)
you control the little walrus and chose one of the paths instead of just selecting a boring item in the menu. Also the backgroudn is a photo of the city map (blurred) that is slowly moving in the background (parallax)
yaaay ^.^
Edit: BIIIIIG thanks to
@naz2a for creating that beautiful menu screen!! :love:
OOoh awesome. I like it. Hopefully it should be intuitive when people start pressing arrows. :3=
currently im remodellng the entire menu:
it was a picture that looks like a map (the grass, streets, ...) but I added a real map-layer on it:
it only has invisible solid and non-solid blocks that prevent the user from walking over grass and also adds the multilayer effect to the statue in the center.
but I had problems when mixing real maps and the pure picture everytime it automatically adapted to a changed screen size...
for whatever stupid reason the picture got blurry while the map tiles didnt... <_<
so now It's all a map ^^
That means:
v0.3.5
- updated tiles
- updated block data definitions
- added "MENU" map
- modified key inputs
:thumbsup:
You could just add trees in the background instead of the blurred map. You can do this if you want it to have a retro feel to it.
You could also have random events happen on the menu if you wait there long enough...
I like the way this looks although maybe the title text should have some sort of border or be more defined, something like this....
(https://s30.postimg.org/wq1khmug1/menuscreen.jpg)
(i'm sure you will do it better)
Quote from: xMarminq_ on January 02, 2017, 09:46:39 PM
You could just add trees in the background instead of the blurred map. You can do this if you want it to have a retro feel to it.
You could also have random events happen on the menu if you wait there long enough...
retro feeling like in what game? :)
I actually got my inspiration for the blurred scrolling background (it's scrolling - see my only GIF I ever uploaded) from minecraft.
What game is it that uses trees as background? :)
Edit:
Such details will be added, I promise, but later ^^ Right now I want to focus on getting the game itself done (adding a bit of functionality and finally getting interactive stuff done) :)
@kotu: thx for the effort :D Actually there already is a shadow around it, it's just that everything is still a little bit buggy right now >.<
(to be honest - I have no idea why the shadow around the title font isnt visible...) ._. But I'll look into it :)
but I might actually do litle changes to it later, we'll see :)
managed to get a *partially* fix on a very persistent bug in the menu ^^
like making it invisible but not really fixing it xD
buuuut I have pretty much made a plan for next things to do which means moar updates soon ^.^
you dirty hacker you!!!
@p4nix I hope you like it ^^
v0.3.6
I now completely implemented the menu as a separate map with modified key inputs instead of a predefined picture (which caused the blur bug whenchanging the screen size) :)
the grass isnt semi-transparent yet, but you can see the improvement in quaality when looking at the signs - the blurry from resizing is almost gone, they look much sharper :)
Also the objects moved a little bit, which is because they weren't 100% positioned by the grid until now. ^^
the shadows which are partially mising now will be added again later, but tey have a very low priority right now.
other than that there are no other changes visible (which was actually the point of this modification).
see the change here:
(https://img.codewalr.us/menuscreen.jpg)(https://img.ourl.ca/proof-1.png)
Edit:
v0.3.7
- fixed major bug in menu background scroll effect
- added new tiles
- updated menu map data
(https://img.ourl.ca/updated.png)
Hey p2!
You forgot the little warning signs on the -exit- and -new game- roads but other than that I'm glad you were able to fix the issue ^.^
I saw someone suggested a border around the title so if you consider adding that just let me know! ^.^
//walrii is cute ^.^
//ITS SNOWING ON THE WEBSITEEEE :0
//yes im a newbie :3
I like that menu. This is really shaping up :)
Thx a lot :)
@naz2a I removed them until I finally add interactive signs :) they will be back once they can actually be functional. Aaaaalso I was a Little too lazy to adapt their tiles, too ^^
I wonder what the warning signs look like. Are they just the flashy cat walruses that are running at the bottom of the screen? :P
just signs that warn you when walking by about stuff like "all changes will be lost, remember to save your game first, ..."
progress, yay ^.^
v0.3.9
- fixed flickering when resizing for all dialogues
Ah ok, and yeah it's good to have such signs, especially nowadays with all those games that auto-saves your progress. By the way I don't like games that auto-saves much, because if you screw up then you can't go back >.<
Quote from: DJ Omnimaga on January 09, 2017, 11:58:24 PM
if you screw up then you can't go back >.<
*coughDARKESTDUNGEONcough*
I really like how that menu is turning out!
Thx for the feedback :)
Also there won't be any autosave. The only way to save progress will be using the main menu (and maybe save statues, haven't decided yet).
I guess having save points can add some challenge, although make sure to place them properly. Generally they are placed halfway through the dungeon and before major boss fights. I did see one game once where I was two steps away from reaching a save point, only to run into a boss just before. That was kinda a d*ckish move from Tri-Ace's part lol. Statues can also be nice since it's sometimes faster to save depending of how you implement it (eg in Reuben you don't need to access a menu) and you can probably make them restore all your HP/MP too.
I haven't really decided about combat yet ^^ buuuut I might not post updates for a few days now as I started working on the next stage: interactive objects, both triggered by map data (block ID) and map position (event map). That might take some time. But don't worry, I'm still working on it ;D
Cool to see progress nonetheless. Hopefully we can see some new maps and maybe even events in action soon :)
uuh right have to create a regular map, too xD
(Hidden house in the forest, but it'll be a very small map, dont expect too much)
Plus the event maps which will take ages to implement >.<
sorry for less updates lately, but I have also begun working with Unity and MicrosoftHololense now (work-related), which takes up most of my time >.<
But I'll still continue the project!! <3
Edit:
For event map I'll use the same map compression algorythm as for my main maps, again with 2 layers: one for events triggered my palking over the block, the other for events triggered when pressing a key. (message "press A to read" popping up when being next to a sign VS chest opening after you press A)
let's call them Trigger and Action IDs :)
The action IDs will be unique WITHIN every map while the Trigger IDs are ment to cover larger areas.
I probably will never need 901 different IDs on a single map, but I guess I'll just reuse the classes I wrote for packing and unpacking the map data anyways.
As for additional graphics: Once I have the time I'll add them :)
Using the easy map compression method I've now implemented the event map and the class "Trigger" to access the data.
downpart: now every map has to have a trigger map, even the intro map (even tho it'll be empty).
MapData = 901*ActionID + TriggerID
TriggerID = causes something if you walk over that tile (like messages popping up "press A to open chest") <--- reused a lot, like all chests have the same ID, as well as all doors, signs, ...
ActionID = causes something if you press a key, like opening a chest or door <--- unique ID for each chest/door/sign/...
in the blockDataDefinition (the part of code where I define all tiles and link IDs to tiles and parameters like isSolid) the parameter "Category" is now pretty much redundant.
It was so far used to categorize blocks (doors, houses, trees, streets, flowers, ...) and planned to use it for what the "TriggerID" is for now.
I'll probably remove that parameter later (keeping it for now as I might use it later once I add abilities to manipulate the map).
// BLOCK-ID, NAME, isSOLID, TILE-ID, CATEGORY
[ ... ]
Block.AddNew(36, "house", true, 36, 7);
Block.AddNew(37, "house", true, 37, 7);
Block.AddNew(38, "house", true, 38, 7);
Block.AddNew(39, "house", true, 39, 8); // DOOR
Block.AddNew(40, "house", true, 40, 8); // DOOR
Block.AddNew(41, "house", true, 41, 7);
Block.AddNew(42, "house", true, 42, 7);
[ ... ]
Next thing to do is make the game actually check for such events (only added data handling so far)
Next thing to do: create the trigger events for the whole city map
Does this post make sense to anyone except me... ???
Edit: known (old) bug: can only skip intro after second message. check keys.java
Edit2: fixed that bug
Edit3: dont have to fill in any data for the trigger map, that's optional :D
Edit4: Done. Now it checks for triggers and dislays the correct message.
(https://img.ourl.ca/dialogue01.png)(https://img.ourl.ca/dialogue02.png)
Quote from: p2 on January 17, 2017, 07:39:04 AM
// BLOCK-ID, NAME, isSOLID, TILE-ID, CATEGORY
[ ... ]
Block.AddNew(36, "house", true, 36, 7);
Block.AddNew(37, "house", true, 37, 7);
Block.AddNew(38, "house", true, 38, 7);
Block.AddNew(39, "house", true, 39, 8); // DOOR
Block.AddNew(40, "house", true, 40, 8); // DOOR
Block.AddNew(41, "house", true, 41, 7);
Block.AddNew(42, "house", true, 42, 7);
[ ... ]
If you do organize things like you show here, then you won't be able to finish Walrus Kingdom before Trump XIV has destroyed the world in 2701. Think of a good map data structure (which can be easily reprogrammed if you forgot something important, it must be modular and have almost nothing to do with the rest of the code), code a map creator and there you go.
Please don't take this personally, I just want to be able to show Walrus Kingdom to my grandchild before I die, lol ;)
naaah, that'd the definition for the tiles! xD
the map data is much more compact:
for(int _i=0;_i<100;_i++) {Map[_i][58] = new long[] { 113536, 113536, 96417, 106328, 12, 10, 10, 10, 10, 109, 119, 105427, 96417, 113536, 105427, 106328, 109, 13, 14, 12, 10, 12, 14, 119, 12, 10, 10, 10, 10, 10, 12, 14, 119, 119, 96417, 96417, 96417, 96417, 96417, 114437, 114437, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 109, 109, 109, 12, 12, 12, 12, 109, 96417, 109, 12, 96417, 96417, 109, 96417, 109, 109, 12, 12, 12, 12, 12, 12, 109, 96417, 105427, 105427, 114437, 114437, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417, 96417}[_i];}
This is a fiasco.
I like those alert bubbles things for when you are in front of objects. Nice way to make the game intuitive.
I'll try to make it as simple for hte user as possible. THe only thing you will have to find out on your own is using the arrow keys for walking ^^
Everything else will be explained using dialogues and little bubbles like the ones in the screenies :)
I also decided to implement a second menu structure, using such bubbles on the bottom of the screen, giving you access to your inventory, your quests and all that stuff.
I'll try to keep it rather small so it doesnt cover too much of the screen (it will be on top of everything else, just like the bubbles mentioned above).
also I think about shifting the walrus half a tile in X-direction so it walks in mid of roads and doors and stuff, but undoing that shifting if it should be in a narrow path (like between trees).
I dont know yet how it will look like tho... :/
Figuring out how to move around can be hard, since certain people requires using WASD or even the numpad to move around O.O. Which reminds me, allowing the use of both WASD and arrows would be nice. :P
Also shifting the walrus sprite half a tile might be a good idea. It would look more realistic, although would it make it hard to implement collision behind walls and houses?
it would be no problem as long as BOTH tiles above or both tiles below are non-solid.
if one of them is solid, the other isnt, what to do? (for example if alf of the street is blocked)
also imagine tight spaces with only 1 tile width, the walrii cant walk inside them... :/
should I undo the shifting in such situation and automatically redo it as soon as theres more free space?
Or should I rework the map (especially forest parts) so it's ALWAYS shifted?
what do you think? :)
or should I even rework ALL the tiles so doors and streets and stuff are centered to a tile...?
You would need to make some tiles so that Walrii appears under them, that's for sure. And Walrii should be able to walk in front of walls I guess
Well it would still be background, Walrii and Foreground. I'll prepare screenshots to explain it as it would be a rather major change :)
Also im currently working on another map for the game and on implementing teleportation :)
invisible teleportation is working now.
*invisible because you dont notice you were teleported as the new map looks similar until you keep walking a bit ^^
So I can now include loops in the map to stretch paths or prevent the player from reaching other areas :D
start --> A ------X-Y-------> B --> C --> target
reaching point B, you get teleported to point A withoug noticing it (surrounding is similar) unless yu have the level or a certain amount of loops.
Then you can walk over to point C.
Loops are counted this way: +1 passing from X to Y and -1 passing from Y to X, everything triggered by walking over the tiles (using my event map).
I had to do that in RPG Maker IIRC and I think I even did it in Reuben Quest, except that in my case I usually did teleportation to a different map that happened to have some differences further away. I just didn't reload the screen. I think in Mana Force 2 I also had a dungeon where the map looped non-stop until about 20 times (it was a very deep underground cave).
the new map is done and has been adapted to the surroundings of the main map (silent teleport). now working on implementing it ^^ I'll post a screenshot soon :)
everything is implemented and perfectly working:
you now have overlapping maps, like crossing paths.
Quotev0.4.1 The Teleporter
- implemented overlapping maps
- implemented silent teleportation
- implemented trigger-caused actions
too lazy to make a pic sorry...
finally made a pic of the new map :)
those of you that remember the map from my older post will probably recognize the left side of it. It's a path to the main city ^^ (the overlapping maps) :)
(https://img.ourl.ca/foresthouse.png)
the entire map (dont have an updated picture yet)
The path leading into the forest at the ottom turns into this map once you pass the sign :)
[spoiler](https://img.ourl.ca/bigmap.png)[/spoiler]
You should hide a treasure chest somewhere in the trees :)
Awesome, by the way :)
Looks AWESOME! O.O
Keep up the great work!
Actually that one orange roof block is indeed ment as a placeholder for a treasure chest ;) and thx :)
Finally an update on the map:
(https://img.ourl.ca/map2017.png)
the statue parts are placeholders for other stuff that is yet to come.
remember you will later be able to cut down the light trees, but not the dark ones ;)
The big house with the garden looks strange as I haven't found the time to rework all the tiles for th higher definition
the tiles for the house in the top-left corner (library) are yet ot be drawn >.<
as soon as you pass the sign on the path leading into the forest, you get teleported to this map without noticing it:
(https://img.ourl.ca/foresthouse.png)
Wow, very nice so far. Also, being able to cut down some trees will spice up the game considerably, exploration wise.
Yeah but I yet have to include methods to save changes to the map and stuff like that xD
Those tree-less areas on the right bottom corner of the map are all connected by corridors made of those trees you will be able to cut down.
In addition to that, a statue will at first block the way to the second one.
so the player will be enforced to follow the general storyline (still writing on that), even tho I plan on adding multiple smaller sidequests to let the player decide what to do and when :) (multiple parallel storylines are the target, so you can decide for yourself how the game ends)
Yeah in Reuben Quest I just resetted the map once re-entering it. :P
Also I see about the story. Will (https://img.codewalr.us/smileymutation.gif) be included?
Maybe as a little sidequest, we'll see xD but I doubt I can add an animated one like this as a permanent character, it would look weird... :/
Yeah I was thinking more as a NPC.
I think I got an idea on how to implement it :) but as I said it'll be hard to get it working as that would mean different number of tiles and animation speeds for all the stuff... >.<
We'll see, maybe I'll just hardcode it to spawn behind a house, run over to he next house (animated) and then disappear again, as some sort of easteregg :)
Ah right, variable animation speeds might be a problem >.<. It's fine if you make him slower I guess.
Well the last version (Written in AutoIt, called PocketWalrus) supported a variable amount of frames but the timing for one complete animation loop was the same for all animated tiles.
This new version (Written in Java, called WalrusKingdom) doesnt use any animated tiles yet, so far the character is the only thing animated in the entire game xD
I already wrote the entire storyline for a second NPC-sidestory (wont go in detail now) but I still got the big problem about how to do NPCs.....
idk yet if I should really add them as real players but give them some kind of super-low random intelligence or not....
Afterall the game so far is written in a way it would support multiple characters at ones (given they would use different key controls) so it woul be possible
(Don't want to admit I never worked with game AIs before) :ninja:
even tho it would probably only be a simple pathfinding and random location picking within their area ^^
we'll see how I decide about that :)
I wanted to finish the graphics first before going over to add massive code changes.
Now FINALLY redrew the house tiles to higher definition, something I wanted to do since last year (https://codewalr.us/walrusirc/smileys/rolleyes.gif)
(https://img.ourl.ca/house-4.png)
above is the old house, below the new one ^.^
Quotev0.4.2 The Beauty
- redrew last house tiles in higher definition
- adapted block data definition
- adapted map data
as always all the stuff is available on GitHub if anyone wants to take a closer look at it :)
things on my to-do list:
- drawing the tiles for the huge library
- writing the sidestory for the shapeshifting walrus
- add an ingame menu for stats and items
- add the animated telegram walrii to the intro (forgot it AGAIN)
v0.4.3 The Speedup
- increased screenUpdate and Rendering speed
- various minor bugfixes and improvements
Pretty much perfected the rendering methods, it now renders a minimal amount of data, in that proces recognizes not only movement but also your position relative to the map (only updates the background, if it really scrolled, so no complete redraw when you're close to the edges or in a ScrollLock area like the garden. In those cases it only renders a 3x3 tiles area, which boosted the rendering speed bretty much :) (not that I had any problems with it so far)
complete changelog:
[spoiler]v0.0.1 The First
- first stable build
- super boring
- super crappy
- gonna work on it
v0.0.2 Fix Map Rendering
- fixed map rendering
- reduced to 2 layer compression
- removed "trigger" layer
- updated tiles source file
v0.0.3 Map Rendering
- bugfixes on map rendering
v0.0.4 Map and Key Input
- extended the map
- implemented keyboard input
v0.0.5 Map and Tiles
- added new tiles (big house)
- updated block data definitions
v0.0.6 Minor Fixes
- minor fixes everywhere, idk
v0.1.0 Rendering and Animations
- rendering optimized (only render changes)
- implemented different Walrii tiles (directions)
- added walking animation at 10FPS
- minor bugfixes
v0.1.1 Rendering
- Setup regions with different scroll behavior
- completed block data definitions
- extended map
- minor fixes to map data
v0.1.2 Graphics Rework
- major graphics rework
- optimized movement animation
- minor bug fixes (map data)
0.2.0 The Menu 1
- added game menu
- included new tiles (second type of tree)
- added more map data
- major bug fixes (map data)
0.2.1 The Dialogue
- added fancy Textbox
- added multiple font colours
v0.3.0 The Intro
- added intro sequence
- added separate map
- dialogues implemented
- various bugfixes
v0.3.1 Rendering Fixes
- minor bug fixes (character rendering)
v0.3.2 The Bugfix
- Major bugfix in zoom adaption
- various minor bugfixes
- simplified startup code
v0.3.3 The Menu 2
- Added new main menu
- updated block data definitions
- modified display algorithms
- reworked key inputs
- reworked communication between classes
v0.3.4 The Menu Bugfix 1
- fixed critical bug in menu structure
v0.3.5 The Update
- updated tiles
- updated block data definitions
- added "MENU" map
- modified key inputs
v0.3.6 The Menu Bugfix 2
- completely turned menu into a map
v0.3.7 The Menu Bugfix 3
- fixed major bug in menu background scroll effect
- added new tiles
- updated menu map data
v0.3.8 Fancy Dialogues
- made dialogues adapt to screen size as well
- simplified working with size adaption
v0.3.9 The Intro Bugfix
- fixed flickering when resizing for all dialogues
v0.4.0 The Interactive
- fixed minor keybinding bug in Intro
- implemented interactive components
v0.4.1 The Teleporter
- implemented overlapping maps
- implemented silent teleportation
- implemented trigger-caused actions
v0.4.2 The Beauty
- redrew last house tiles in higher definition
- adapted block data definition
- adapted map data
v0.4.3 The Speedup
- increased screenUpdate and Rendering speed
- various minor bugfixes and improvements
[/spoiler]
known bugs:
The character's Y-offset does not adapt to the current zoom factor as expected
Short darkening of a sign's shadow when passing by (would be the same for other semi-transparent foreground-blocks)
(http://im2.ezgif.com/tmp/ezgif.com-f5b9d5b870.gif)
Glad to see the new houses being done. They fit even better now :D, and I'm happy to see the shapeshifting :walrii: in the todo list ^.^
By the way, your last pic doesn't work
ok this is the video:
*see attached files*
I wish I could give you a longer video, but sadly the filesize won'T allow it.. :(
You could always upload to Youtube for future longer videos . It would also play on all computers. Nice, though. Will the final game use tile by tile scrolling or do you have plans to switch to smooth scrolling?
I was already planning to do it but it's massively complicated because the entire game is adapting to the window size (adapting zoom) which makes it much harder to implement.
So I guess it will be done one day, but not now xD
And yeah, I pretty much think about making a stupid YouTube account... (https://codewalr.us/walrusirc/smileys/meh.gif)
guess I'll give the maps another try today (found a massive bug caused by a problem with the map), afterwards maybe the tiles :)
even tho I got zero motivation left for another round of drawing tiles xD
Edit: Just got rid of minor rendering bug :)
With window upscaling, do the tiles remain at 1:1 ratio all the time? Even if black bars appear on each side it would be better to have 1:1 ratio, else at nearly full screen the graphics will be stretched up horizontally :P. Also do you use blur or nearest neighbor?
grey bars appear, the ratio always stays 1:1
also the game itself only adapts every 20 (?) or so pixels, so each tile still remains the same size as all the others.
The upscaling uses nearest neighbour :)
I admit it looks a bit blocky this way... :/
That's good I guess. And yeah I was wondering about nearest neighbor because I don't like when upscaled pixel art becomes blurry. I prefer that it's like real pixels.
sure but sadly the pixelart looks ruined unless it's exactly 100//200//300% of the original size... :/
Quote from: p2 on February 21, 2017, 03:05:53 PM
sure but sadly the pixelart looks ruined unless it's exactly 100//200//300% of the original size... :/
Can't you scale by multiples? Can you enforce certain video modes?
I had a similar issue a while ago working on a pixel art game.
the game screen is 24x16 tiles, so the resizing works in steps of 16//24px
only supporting 50//100//200% is a problem as full screen mode would then be impossible for most screen sizes... :/
Could you scale up the area and then crop it down to the appropriate screen resolution?
Quote from: p2 on February 21, 2017, 03:40:53 PM
the game screen is 24x16 tiles, so the resizing works in steps of 16//24px
only supporting 50//100//200% is a problem as full screen mode would then be impossible for most screen sizes... :/
I just added black bars/bezzzle/background to keep aspect ratio.
It already keeps aspect ratio.
on different zoom factors:
(the smaller one is pretty much the worst result you can get from the rescaling)
(https://img.ourl.ca/Bildschirmfoto%202017-02-21%20um%2017.01.11.png)(https://img.ourl.ca/Bildschirmfoto%202017-02-21%20um%2017.01.29.png)
Ew, that rescale looks gross.. :P
Stick to the ratio, but maybe add black bars to the edge of the screen?
yeah I know... :/
That's the original size:
(https://img.ourl.ca/Bildschirmfoto%202017-02-21%20um%2017.08.51.png)
I actually like the biggest scalefactor thing
That's the original
Quote from: xMarminq_ on February 21, 2017, 04:16:14 PM
That's the original
No, the original is the smaller one in p2's other post ;)
:banghead: oops
yep the third one is the original zoom factor :)
making it smaller is terrible xD But zooming up works pretty well :)
Quote from: p2 on February 21, 2017, 04:18:56 PM
[...]
making it smaller is terrible xD [...]
Because that is actually a loss of information ;)
My suggestion: Only scale by integers. Eg if the window is just enough for 2x scaling then stick to 2x and as soon as it gets just large enough for 3x in both directions, then jump straight to 3x, and so on.
I might try that, but I think that will kill fullscreen on most screens...
but I might try that and then center the game screen, we'll see :)
If the upscaling factor is large enough, such as 10x or something, in-betweens shouldn't look too ugly, either
jep, it's much worse close to the original zoom factor :)
I'll try to do this "integer zoom mode" (thx dj) and do it centered and with black borders and then post screenshots of it :)
Quote from: p2 on February 21, 2017, 08:14:32 PM
I might try that, but I think that will kill fullscreen on most screens...
but I might try that and then center the game screen, we'll see :)
That is fine I think. After all, it's not like NES and SNES emulators use the entire screen, and there are even games that don't even use the full SNES resolution (Final Fantasy VI, Star Fox, DOOM, Stunt Race FX, etc). Or you could make it stretched at any zoom in full screen (in which case it won't look all that bad since the resolution will be so high), but at integers when in restored window mode (like when resizing Wabbitemu).
I sadly got lots of stuff to do lately so theres almost no time left for programming.. :/
This basically means that this project is paused for the time being.
I seriously don't know if I can finish this project but I'll try to continue it soon.
sry <3
I hope it's not dead D:
nah it's just that I have lots of new stuff to learn for work right now (node.js, AJAX, REST services, Twig, jQuery, ...) which takes up most of my time :ninja:
I really hope I can continue once I have more free time.
Bot don't expect updates for the next few weeks... :/
Ah ok. I thought it was due to some extremely long term (like months or years) duties >.<
nah it's not that serious xD
But until summer I'm more or less not going to have much free time, we'll see.
But I'm pretty confident that I can work a lo on it again this summer :)
Had to reinstall my laptop and in the process setup both Eclipse and Github again which made me work on WalrusKingdom a least a little bit again ^^
But all I managed to achive was fixing the stuff that was broken by the reinstallation (except the font support which is still broken) :P
but yay at least I took another look at the code :3
I noticed you had computer issues the other day on IRC but I forgot when I posted here. I'm glad you didn't lose everything. I hope you are doing frequent backups.
I did for WalrusKingdom, but apparently not for my work-related stuff (at least not for all of it) xD which turned out to be a bad decicion... 9_9
(I only lost 3 days of work, so it's not too bad)
Quote from: p2 on March 08, 2017, 10:33:37 PM
(I only lost 3 days of work, so it's not too bad)
If I were your boss, you would be dead by now :trollface:
At least I documented my work so I was able to redo it pretty fast :)
Also it was windows failures leading to this (the reason I now also returned to windows7)
getting a bluescreen every time you launch a virtual machine is no fun <_<
@DJ Omnimaga:
I thought about copying your way of entering houses, but now I'm thinking about the following:
The current zoom factor is calculated each loop, graphics soom is adapted as soon as the result changes.
I think about deactivating the auto calculation of the zoom factor for a moment and instead smoothly increase it until it's the double, letting the graphics soom in (which would require a massive change to the Screen-Map retrieval method).
So as soon as you walk into a house, the game zooms in until the house is twice as big and centered (with scrolling locked to the house being centered) so I have more space for the inside of houses (which will NOT be zoomed in, so it'll be twice the definition for the inside of the house) ^^
Does this explanation make sense? ^^
I'm not sure yet if it's even possible due to the indeed massive changes to the entire map retrieval and rendering methods... :/ But it'd sure look cool! :D
meh I just can't stay away...
Quote
v0.4.5 The Useles Update
I moved to a new PC and had to change some names, just ignore me.
Quotev0.4.6 The Enlightment
- no more spooky shadows
- optimized rendering
- minor changes for test purposes
still doesn't mean I can now work more on it again xD
Hm I like the idea. I hope it's not too difficult to implement :3=
Well I'd first have to implement the smooth scrolling when walking around, and that's gonna break pretty much everything... :/
(scrollLock areas like the big garden, animated walking, ...)
I seriously dont know if I can do it >.<
edit:
omg just seriously after posting this I had the following idea:
instead of trying to move the walrus between two blocks I could do the following:
I multiply all map positions *24 (which is the tilesize)
I then adapt all the engine formulas with a /24 again to neutralize this.
So when editing the maps and stuff I can still work with the regular numbers. But the walrii will use the *24 ones.
So I can then actually use a grid 24 times thinner than the regular tile grid, which makes it super easy to put the walrii anywhere I want *-*
(sounds stupid, but for my code that's gonna make it a lot easier) ^.^
edit2:
Quotev0.4.7 The ZoomFix
- fixed character offset in zoom adaption
I've been thinking a little bit more about this and I think it's indeed the best way for me to include smooth scrolliing.
Also this will give me a way to actually support scrolling even after adding multiplayer support (which isn't decided yet btw).
hope I'll have another chance to work on it this week :)
Instead of dividing by 24 you could also add a scroll-variable, because it will be compatible to your other code.
Like:
for(x = 0; x < WHATEVER; x++){
for(y = 0; y < WHEREEVER; y++{
display_tile_clipping(x + smooth_offset_x, y + smooth_offset_y, map[x][y]);
}
}
p2 that's how most people do it I think. They have movement so that it's 24x, but always have it divided by that amount or use a separate variable with the position divided by 24 so that they can have smooth scrolling. The extra variable is usually an integer or rounded number.
By the way, is (http://img.codewalr.us/walriip2b2.gif) in the game?
I thought about doing it that way as well. Only natural as it's the easiest way to do it.
But that would break the special behaviour changes in scrolling (regular, close to edges and in non-scrolling areas)
little explanation:
close to edges the walrii moves over the actual screen. The walrus scrolls smoothly.
in regular open spaces the walrus is always centered. The background then scrolls smoothly.
In screll lock areas the walrus moves over the actual screen, but only on one axis, the background scrolls on the other axis. Both Walrus and background scroll smoothly.
These conditions have to be met which will be very hard... :/
dj: I plan on adding skins and NPCs plus actual story line later. Currently still working on game mechanics and map :)
But it will be in the gamne ;) ^^
You could make it so that the Walrii is always centered, but that would most likely require you to either detect if tiles need to be drawn on the edges and add a frame around the map to show where the boundaries are (eg as a clue about where the exit is) or simply enlarge the maps to add a few extra colums and rows of tiles at the top, bottom, left and right, like I did in Superstar Hero (in which the map loops).
as mentioned before, I have special areas in the map, like gardens, where I force the screen not to scroll off, so only certain areas are shown while others arent unless I enter through a special spot.
I'm using this technique to make the garden fullscreen and also to avoid the user from spoilering himself too much when running around not following the storyline (u can't see behind some treelines)
So it won't be that easy to simply kill this function as it's essential to my game... :/
Quote from: p2 on March 28, 2017, 10:00:45 AM
as mentioned before, I have special areas in the map, like gardens, where I force the screen not to scroll off, so only certain areas are shown while others arent unless I enter through a special spot.
I'm using this technique to make the garden fullscreen and also to avoid the user from spoilering himself too much when running around not following the storyline (u can't see behind some treelines)
So it won't be that easy to simply kill this function as it's essential to my game... :/
I would hide tiles that are obscured by solid objects ;)
I got a top-down view... don't u think it would look pretty stupid if parts of the screen were black until I get there.....? :ninja:
You might definitively want to go with Superstar Hero style, scrolling-wise
Quote from: p2 on March 30, 2017, 07:38:35 AM
I got a top-down view... don't u think it would look pretty stupid if parts of the screen were black until I get there.....? :ninja:
Nah. Also I don't mean obscuring places that you haven't been too yet, I mean obscuring any tile that is behind something. This way you can't see behind buildings and walls.
that'd require an actual shader for top-down view, else it'd liik super cty :/
(which it probably would anyways, since my entire game mas made looking super bright and happy... :/
I was playing around a little bit and the result is a clear NOPE
blacking out all regions out of reach is definitely not an option... :ninja:
So I probably have to continue wieking with my current mechanics, which is scrollLocks and silent teleportation (plus direct changes to the map data that will be added later)
Good luck. I hope this doesn't kill the project or require a full rewrite again o.o
Little dinosaur walrii at the bottom of the screen would be sad D:
nah it just means that all plans to maybe rewrite parts of the code aren't possible. So I'll stick with my current engine.
Still I have to add lots of map data, new tiles and add all of the story line stuff >.<
I even have to add NPCs first, they don't exist yet <--- major code change
Edit:
*which is hard spending almost all the time on pxls.space x.x
So I won't have tome to work on it atm :/
Yeah I hoped you won't spend all your time on pxl.space especially since it's gonna be reset at one point or another. Wod suck to lose you in the same style we lost active members to Freecodecamp D:
@p2 (eg alexgt)
Nah don't worry u got me addicted to this site a long time ago <3 no way I'm gonna leave ^^
Guess as soon as I find the time, I'll take my first approach on adding smooth scrolling x.x
Just hope I do t break everything xD
Buuut then I'll have to handle the line of tiles touching the border completely different which requires major changes to the rendering thingy... so I guess that might take some time ^^
Yeah for smooth scrolling you need to draw an extra row and column and maybe you need two extra variables
Store x and y position in pixels. Then, loop through each tile, and render each tile at (tileX * tileSize -playerX + (windowWidth / 2), tileY * tileSize - playerY + (windowHeight / 2)). Once you do that, it shouldn't be hard to use two nested for loops to only render the tiles around the player.
It's a bit more complicated:
Forst I calculate the top-left position of the screen in the map:
screenTop = General.getBetween(0, Map.getHeight()-getHeight(), Player.getYPos()-Math.round(getHeight()/2));
screenLeft = General.getBetween(0, Map.getWidth()-getWidth(), Player.getXPos()-Math.round(getWidth()/2));
// getWidth() returns the width of the screen in tiles
// Map.getWidth() returns the map dimensions
I do this to get the currently relevant map data, which is then copied to a second matrix: ScreenMatrix[_x][_y]
It basically is a screen-sized region of the map centered around the walrus, but one that cannot leave the map (so the walrii is only centered if it isn't too close to the edge).
starting from this point, I have the following methods (sorry for bad readability):
public static void renderBackground(boolean ForceUpdate) {
// Renders background layer *obviously*
for(int _y=0;_y<getHeight();_y++) {
for(int _x=0;_x<getWidth();_x++) {
double data = ScreenMatrix[_x][_y]; // load raw data
double dataOld = ScreenMatrixOld[_x][_y];
if (data!=dataOld | ForceUpdate == true) { // Player moved
int _background = Map.getBackgroundID(data); // extract background data
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(_background), TileSource.getYPos(_background), window.blocksize*_x, window.blocksize*_y); // render background layer
} else { // To prevent area around the character to be rendered twice (messes up partially transparent tiles in the menu plus slows down)
if (General.isCloseToChar(_x, _y)) { // prevent shadows when close to the edge on in ScrollLock regions
int _background = Map.getBackgroundID(data); // extract background data
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(_background), TileSource.getYPos(_background), window.blocksize*_x, window.blocksize*_y); // render background layer
}
}
}
}
}
public static void renderForeground(boolean ForceUpdate) {
// Renders foreground layer *obviously*
for(int _y=0;_y<getHeight();_y++) {
for(int _x=0;_x<getWidth();_x++) {
double data = ScreenMatrix[_x][_y]; // load raw data
double dataOld = ScreenMatrixOld[_x][_y];
if (data!=dataOld | ForceUpdate == true) { // Update to map data or player moved
int _foreground = Map.getForegroundID(data); // extrace foreground data
if(_foreground>0 && General.isCloseToChar(_x, _y)==false) { // To prevent area around the character to be rendered twice (messes up partially transparent tiles in the menu plus slows down)
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(_foreground), TileSource.getYPos(_foreground), window.blocksize*_x, window.blocksize*_y);
}
}
if (General.isCloseToChar(_x, _y)) { // prevent shadows when close to the edge on in ScrollLock regions
int _foreground = Map.getForegroundID(data); // extrace foreground data
if(_foreground>0) {
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(Map.getForegroundID(data)), TileSource.getYPos(Map.getForegroundID(data)), window.blocksize*_x, window.blocksize*_y);
}
}
}
}
}
public static void renderWalrus() {
for(int _y=0;_y<getHeight();_y++) {
for(int _x=0;_x<getWidth();_x++) {
if (scrollLocked==false) {
if(General.getBetween(0, Player.getXPos()-Math.round(getWidth()/2), Map.getWidth()-getWidth())+_x == Player.getXPos() && General.getBetween(0, Player.getYPos()-Math.round(getHeight()/2), Map.getHeight()-getHeight())+_y == Player.getYPos()) {
int _background = Map.getBackgroundID(ScreenMatrix[_x][_y]); // extract background data
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(_background), TileSource.getYPos(_background), window.blocksize*_x, window.blocksize*_y); // render background layer
PlayerTile = Player.getCurrentTile()+Player.TileChangeWhileWalking;
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(PlayerTile), TileSource.getYPos(PlayerTile), window.blocksize*_x, General.getMax(window.blocksize*_y-window.blocksize/4, 0)); // render char
Player.newLastXPos = _x;
Player.newLastYPos = _y;
int _foreground = Map.getForegroundID(ScreenMatrix[_x][_y]); // extrace foreground data
if(_foreground>0) {TileArea.drawTile(tiles, TileSource.getXPos(_foreground), TileSource.getYPos(_foreground), window.blocksize*_x, window.blocksize*_y);} // add foreground layer
}
} else { //This disables the automated screenscrolling for special areas on the map (like in huge gardens) so only the y-axis scrolls. Similar to behavior close to map's edges
if(Player.getXPos()-screenLeft==_x && General.getBetween(0, Player.getYPos()-Math.round(getHeight()/2), Map.getHeight()-getHeight())+_y == Player.getYPos()) {
int _background = Map.getBackgroundID(ScreenMatrix[_x][_y]); // extract background data
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(_background), TileSource.getYPos(_background), window.blocksize*_x, window.blocksize*_y);
PlayerTile = Player.getCurrentTile()+Player.TileChangeWhileWalking;
TilesDrawn++;
TileArea.drawTile(tiles, TileSource.getXPos(PlayerTile), TileSource.getYPos(PlayerTile), window.blocksize*_x, General.getMax(window.blocksize*_y-Math.round(getZoom()/4), 0)); // render char
Player.newLastXPos = _x;
Player.newLastYPos = _y;
int _foreground = Map.getForegroundID(ScreenMatrix[_x][_y]); // extrace foreground data
if(_foreground>0) {TileArea.drawTile(tiles, TileSource.getXPos(_foreground), TileSource.getYPos(_foreground), window.blocksize*_x, window.blocksize*_y);} // add foreground layer
}
}
}
}
}
public static void render(boolean ForceUpdate) {
// main class that does all the rendering
renderBackground(ForceUpdate);
renderWalrus();
renderForeground(ForceUpdate);
Trigger.trigger(Player.getXPos(), Player.getYPos());
if(Trigger.get(Player.getXPos(), Player.getYPos())==0.0 && forceUpdateNextTime==true) { // To prevent left over fragments from popups
forceUpdateNextTime = false;
render(true);
}
Player.lastXPos = Player.newLastXPos;
Player.lastYPos = Player.newLastYPos;
System.out.println(TilesDrawn+" Tiles updated");
TilesDrawn = 0;
}
ld;dr: it's a lot more complicated x.x
You can get rid of Math.round() and just cast to int ;)
Anyways, are you using openGL or Graphics2D?
I *might* be able to advise on how to optimize.
Also, if (data!=dataOld | ForceUpdate == true) could be: if (data!=dataOld || ForceUpdate).
me has officially continued work on the Walrus Kingdom project.
Buuut I first have to work a bit with my code again (havent looked at it for a while) so I'm now going for savegame and stuff like that, maybe also tools and more key functionality.
Will (if at all) do graphic updates like smooth scrolling laaaaaaaaaaaater :)
WALRUSES <3
Glad to hear. The p2 Walrii on caffeine on this page was starting to feel lonely with so few updates :P
Hopefully you don't have too much trouble understanding your old code ^^
I began working on the savegame and besides the basic vars like current map and player position there's almost no reference to the old code necessary. So I have Time to Review the rest of the code before having to work with it ^^
I'm looking forward for this ^^
Now featuring: A huge fat house :thumbsup:
This will probably be the town library, or at least it was planned as such.
Even tho I'm still not sure how to implement a library in the game's story...
(Maybe just a place to scroll through all the lame dialogues you skipped earlier?)
(https://img.ourl.ca/2017-09-03%2022.00.51.jpg)
That'd be an interesting idea, like you click through something but you want to go read it later, I like that.
Could also be like a display hall or something for all the different :walrii: you've encountered
You should make inns like this ^^
aaaalright girls
As some of u know I'll now spend another year in school (and clases are just as borign as always) soooo I can now spend a loooot of time on this game :thumbsup:
(buuut the wifi isn't working yet in school, so I can't browse on CW) :'(
Soo let me introduce you:
v0.4.9 The Library
whic hwas basically the last post.. I added the library building... :)
plus I ced up the folder names again, doing 1-word changes to ALL files <_< (I hate you github)
0.4.10 The Event Fix
- I fixed bus in the event map plus added more event messages (1 more, weeew)
0.4.11 The Menu's perfection
- fixed last bugs in menu
- optimized rendering a bit further
*some weird commit*
I managed to merge my single branch project with itself, cing everything up again (seriously, I spent 2 hours fixing this!!)*
0.5.0 The Polishment
- Added more logging messages
- added timestamps to logs
- introduced a little bit of caching to speed up the game
- got rid of a lot of unnecessary function calls (moar speed)
- Added preloading for most resources
sooo I now actually have 1-2 seconds of loading tie in the beginning, but almost none during the game
0.5.1 Window Fix
- removed initial bottom bordr bug (caused by ultiplatform support, for both osx and windows)
aaaaand *tamdamdamdam* :w00t:
0.6.0 The Woodcutter
- added runtime changes to the map
- added interaction key A
- Walrii can now cut down trees
- Surrounding trees will be fixed (tiles adapted)
- adapted log methods
the idea behind this is, that once Walrii finds the almighty axe (yes, btw, I did ask for the permission to use both the name and logo of axe parser) walrii can cut down trees.
But as I have two sorts of trees, Walrii can only cut down one of them so there will still be borders on the map you cannot pass.
But cutting down soe of them makes it possible for me to lead the player on his trip through the map(s) as they "expand" in all directions :thumbsup:
yeah, class is REALLY boring sometimes... whis was only 7 days of school 9_9
I can hopefully provide screenshots later (I still have no animations or anything donw for the woodcutting, the trees just disappear...)
next stop is an actual savegame.
I need it to save changes to the map even through teleportation (don't want all maps in ram all the time) as well as for the actual save/load function.
But since I can't get the stupid streams to work I'll progably have to look through my old docs from java classes >.<
planning on adding more live to the world, probably animals and permanently animated tiles
I was thinking about using the rabbit tiles from "Siedler II" but I guess I'll never get their permit for that >.<