Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

What are you working on? (Game Making Thread)

I'm currently working on the drawing tools for OpenXP.
Pencil and flood fill were simple enough - they apply their changes in realtime.
Walked into working on rectangle and ellipse unprepared - didn't realize that while they render their changes in realtime, they don't actually 'stick' until mouseup. Torn between trying to juggle the data changes in realtime via a data backup, or 'faking' rendering of a 'preview' overlay. The latter definitely sounds more efficient, but means doubling some of my rendering code :\

ZenVirZan":3nic4t4r said:
ok so for my lighting system im just doing a simple line test to the edges of the map, its pretty fast due to the tiny sizes of the map
uses bresenham line algo for the tiles, and it goes until it hits a tile that blocks light and still allows light to go there, it just stops going after that so that even at max opacity you can still see walls n shit
at the moment its only used for vision but i can easily program for proper lighting for lamps at night time etc, which i might do in a sec
b87vqYu.gif

Looking good.


Edit:
I remember the days when something like this would just confuse the heck out of me:
Code:
x1 = x1 < 0 ? 0 : x1 > w ? w : x1;
My, how times have changed.


Edit:
Working on the Ellipse brush now. Looking at algorithms for it, I notice that RMXP seems to use a square root implementation. But there are notably smoother implementations, like Bresenham's. I'm wondering if I should mimic the original behavior, or take advantage of a better algorithm. I wonder what the community would prefer?
 
aphadeon":29jolhnx said:
I remember the days when something like this would just confuse the heck out of me:
My, how times have changed.
inline conditionals are the dankest shit ever, i always miss the shit out of them if im using a language that doesnt have them

also, finished the lighting (for now)
5gsE4Ft.gif
 
So, got the ellipse tool working. The smoother algorithm I used is a bit different than RMXP's.
It doesn't provide the sharp edges on small ellipses, which some people might actually be accustomed to, however it also works correctly with all shapes whereas certain sizes cause RMXP's to bug out a bit.

These two maps were made using identical ellipse brush strokes (same start/end positions in each). You can see RMXP's map differs in several ways from OpenXP's.
Better? Worse? Or am I the only one who even cares at this level? Feedback would be appreciated.

FgNrrai.png

Also, this comparison brings to my attention that I'm not darkening the lower layers quite enough. Will be fixed in short order.
 
aphadeon":3t7s7f3w said:
Better? Worse? Or am I the only one who even cares at this level? Feedback would be appreciated.
waaaaaay better
the ellipse tool was useless in 99% of situations due to exactly the reasons you've said
 
Despain's got an offer on time fantasy at the moment, six packs for $45, so gonna. It that tonight and play around with it. Plus there's free tilesets too. If it turns out I get an extra code for the base pack I'll give it away in a contrived competition but I think it all comes together. Right now. Over me;
 
Prototype for additional animation frames/directions in MV.
http://www.youtube.com/watch?v=Ntfr_eKU-2Y
The animation frames are defined in an XML file as an extension to the default MV character animation system.
 
Storyboarding the intro cinematic for Fantasia.
LArp6P8.jpg

xbfkFPZ.jpg

Panel 1: Koko wakes up in a Cold sweat.
Panel 2: Noticed lack of sunlight blooming through her curtains.
Panel 3: Gets out of Bed.
Panel 4: Hands on Curtains
Panel 5: Draws curtains across to reveal the Suburbia and city. beyond, along with a forest to the right.
Panel 6: Switch View to looking at the Window from the outside opposite of Koko's facing, and then to her right some.
Panel 7: Zoom out to see the Mansion she and her sisters and Father live in.
Panel 8: Zoom out more to see the dense beautiful Island they dwell on.
Panel 9: Zoom out so we can see some of space.
Panel 10: Birds fly by as we zoom out more.
Panel 11: Zoom out more with the planet centred.
Panel 12: While still zooming out, turn the planet a little to make the island a 'V' in a circle (the Globe) as is a common symbolic element in the game, as is the inverse (circle within a triangle).
Panel 13: Sun glares behind the planet and we see the moon slide in. There's also a large shaft sorta thing that...
Panel 14: Ends up being the brilliant dot of the i in Fantasia
Panel 15: Title Drop
Panel 16: Fade out to Black

I've foretold my composer we'll need a short ME for this scene.

Prior to this, Koko is going to have a Dream in which she and her sisters are introduced in an awesome fashion, not sure on the specifics yet.
 
Been working on my tools.
Finally finished my TileD isometric -> orthogonal converter/renderer/generator thing.

I can make my maps in TileD's isometric mode, then my tool will combine the layers that are below/equal_to/above the player's zIndex and render them out, ready for artists to draw over, and it will also generate an orthogonal TileD map optimised for MV, complete with rendered tilesets for the individual tiles.

The generated orthogonal map can be used for creating the collision mesh in TileD, placing events and testing in MV.

rfpavzw.png

The next tool I need to make is a rendered map -> orthogonal tileset converter, which would take a finished map from an artist and generate tilesets from it. Everyone knows that parallax maps by default cause MV's frame-rate to drop quite significantly, so by converting to tilesets I get to take advantage of the optimised tile mapper. The performance gain is significant.


Here's the orthogonal map with this tileset in the project:
Js9cSqE.png
 
I'm working on a secret santa thing. Shhhh. It's a secret.
It's challenging me in ways I don't want to admit. I'm putting all my free time into it. But getting it done in time is making me sweat.
 
While everyone else's engines are getting bigger and better and more feature-filled, I'm enjoying making something ridiculously lightweight and optimized. 200kb of raw power. The core functionality is based closely on NES hardware, but with a GL 3.3 implementation. It's a very fun learning project. All the data files are custom, binary formats, where I try to make every bit count - if I can remove a few bits of game data without changing functionality, I try to do so. Impractical? Quite. Fun? Very much so. I would love to see my final game capable of fitting on a floppy disk. A couple obstacles still remain before I can know if that will be possible or not. It's not a tiny game, so it's a steep challenge.

Ultimately, I have plans to play with hardcore voxels. To do what I dream of will require extreme micromanagement and data efficiency, compared to most current voxel engines. So, if nothing else, it's a good exercise in bitwise efficiency.
 
Amy work hard. Amy work fast. No time use articles in writing.

Nathaniel want see demo.

Aphadeon, you should see about releasing your game on an actual NES cartridge. How much could those store?
 
Nathaniel3W":gicz5mdw said:
Aphadeon, you should see about releasing your game on an actual NES cartridge. How much could those store?

I actually contacted Nintendo a few times inquiring as to the legality of releasing an NES title. Basically, they'll never give a green-light on it, but if I want to clearly indicate that the product is unlicensed and produce the hardware myself, that would be okay.

I'm hoping to at least build some funds to help with my second big endeavor off of this one, and manufacturing NES cartridges would likely burn up all my potential profits. So for now, I don't think a legit NES release is the way to go. Definitely love the idea though, and if I'm ever rich enough to get a NES title to retail shelves (that's probably like Richard Branson rich, so don't hold your breath), I'll totally do it.

One of the biggest challenges I'm facing is marketing. It's something I have rather little experience with. I imagine the ideal target audience would be people that enjoyed the early 90s gaming (I've gone to great lengths to capture the 'feel' of that era a bit more closely than many modern '8-bit' titles), and the speedrunning/TAS communities. Still trying to determine how best to reach them. One thought I had is that it would be absolutely amazing if I could get the 'Awesome Games Done Quick' (ADGQ) guys involved somehow - especially if I could toss them a portion of the profits. I've tried reaching out, but haven't heard back in a couple months now, so I'm not really sure how to get through to them.

Would love to work with a publisher, especially considering we're totally unknown at this point. I really do feel we have a polished product. But while I honestly believe the quality is there, it is very much a niche game. I'm not sure what publisher to approach, or how to approach them. I've tried reaching out to a couple, but I am apparently bad at breaking the ice as I can't seem to get a response from anyone.

Any of you lot had to break through this wall? I'd love any advice/tips/help/experiences/stories you want to share that might help.

Edit: Forgot to answer the question. If you bypass the NES's mapping chip, by including your own in-cartridge, you can pretty much add any amount of addressable memory to a NES cartridge. Otherwise, 8 mbit is about the cap.
 
Fayte":2aaczhnx said:
Aphadeon you seem pretty knowledgeable when it comes to coding. How deep does that knowledge go?

That's a very hard question to answer.

My experience and abilities are remarkable because they are unorthodox. I have a very atypical background and interests in programming, and have pursued those to often ridiculous means simply to challenge whether I could. For example, I am much better at figuring out how to do something than I am at actually doing it. Any time I touch a piece of software, whether a game or not, I subconsciously start tearing it apart in my mind. I work out what the actual mechanics are, when you hide the 'fluff', and what makes them work, or fall short. I guess the best way to describe it is that I have two specialties: reverse engineering, and hypothetical programming.

I started out modding ROMs, well before we had all the wonderful tools we do today. From there, moved on to hacking PC games- started with graphics hacking, and moved up to making trainers and such. Started to encounter resistance to hacking, as developers worked on anti-cheat solutions, so I gradually learned to get around those (which ended up teaching me a lot of other stuff about optimization, compression, and such). From there, picked up a couple actual game engines, and started cracking away at systems- focusing on doing the basic elementary stuff, but to do it well. Little things like inventory and such. From there, branched out to modding as that became a more common thing.

I have to credit Minecraft for sparking the hypothetical side of things - when working on modding it, I realized how they achieved something so difficult. That is, to have 'way too many' instances of blocks without actually storing much data for all of them. This immediately piqued my interest. What other perceived limitations could be scaled up in a similar fashion? Started trying to answer questions that weren't being asked yet, and I would say that as nonsensical as that sounds, it's a very interesting exercise. I generally try to imagine a goal that's not presently done, but not too far off. Then I work out a number of steps to get there, and figure out how I would work towards the first one, were I in charge of an R&D team.

As for languages, I've tinkered with the majority of the recognizeable names. Assembly, C++, C, C#, Ruby, D, Java, Javascript, Haxe, Rust, Go, to name the ones that come off the top of my head. More comfortable in some than others, but the underlying logic doesn't really change, so I could learn any new language that allows a similar approach to constructing the logic; learning where to put the semicolons is just a matter of time. Personally, I'd say I'm most experienced with C#, and I'm a big fan of D- shame it's not more widely accepted than it is.

So, to summarize... Knowledgeable might not be an accurate word. I would easily consider Glitchfinder or Xilef more knowledgeable than myself when it comes to code, and probably logic/math as well. I've never been all that interested in doing what everyone else is doing, the way they are doing it. Now if you want to discuss something outside the box, I'm all ears, and might have some ideas.

Edit:

A couple examples of things I have actually done, to better demonstrate what I mean by unorthodox:
1.) I assembled an HD Ocarina of Time setup in Project64, to ridiculous extents. This included writing a romhack to disable music, writing an external MP3 loader to read the currently playing track from the rom's memory inside of the emulator's memory, to load and play HD music tracks instead of the game's own music. It included remapping the UI to an xbox 360 controller (amusingly the hardest part of this was recoloring the 'C Buttons' to match the xbox face button colors). Ended up going with both a custom texture pack and several ROM edits for the UI stuff. Ofc, merged existing texture packs with some OoT3d rips to get a complete HD texture pack. Scaled up resolution, used another external tool to tweak fog values in a per-map basis. Configured ReShade to make sunlight actually warm. The list goes on and on, I can't even remember all the little edits. And purely for my own entertainment and to show off to a few IRL friends (who weren't actually interested at all, tragically); as distributing something like this in a legal way would be a nightmare I'm not about to embark on. Edit: Notably, in pursuit of a more legal option, I made a data exporter which exported maps, cutscenes, npcs, models, and dialogue/text from the 1.0 ROM. Was based on a lot of knowledge from the Z64 romhacking community. Was planning to open source the exporter and a separate engine that could play a similar game using exported data. That said, needed help, didn't really find any, wandered off to projects that would be more interesting to the world.

2.) Setup a bridge between my legit pokebank and an emulator on my computer so that I could store 'mons from emulators. (Not even going to detail what went into this here.)

3.) Made a trainer for Phantasy Star Universe which had two substantial features- it added a jump button, which actually felt kind of natural (mind you, the base game does /not/ have a jump feature), and was also capable of spawning any item you like. It could also do basic stuff like disable entity collision so you could pass through doors/npcs/etc, and the obligatory infinite hp and timer freeze. This one is notable because this was a popular, but poorly-designed and highly exploitable MMO. But still not an authoritative client, so it took some shenanigans.

4.) Made several functional colored lighting mods for Minecraft. This task is pure hell due to the way Minecraft is coded. Never did get one polished enough to be proud of, every approach so far had issues that would keep it from being widely adopted. But I maintain the stance that it enables better design to a degree that people don't properly appreciate. The world looks /amazing/ when it's applied well.

5.) Made a fourth-line Show Text patch for RPG Maker XP (which can be found on this very site. But the download stopped working and I don't have it anymore). Unremarkable by itself, as it is about as simple as using a resource hacker to edit the textbox - it was actually /supposed/ to be there but is bugged in all English versions (including latest). The remarkable part is that the RPG.exe is very well protected, and I made that edit in a way that bypassed the protections entirely (because reversing/disabling them in distributed content would be unacceptable by my own standards).

6.) Made a cross-character storage/serialization mod for Skyrim, which exported actual form data from your game to a standalone format that was not dependent on the savegame. This included handling adding/deleting savegame database entries. The only thing it was missing was custom potions, even supports smithed weapons and the like. It's current form is just a summonable cross-character chest, but with the data exported, it could be used for anything from online item distribution, to cloud sync, sharing chests in realtime with a friend, etc. I can only show you the door, lol.

I'll stop there. I think you should be able to get the idea. I could make "Skyrim Housing Mod #15931", but I frankly have no desire to do so, and probably wouldn't be very good at it. A similar example could be made for most of these. I specialize in trying to do things that noone else does, and as such, I've picked up a rather atypical set of skills along the way. It's my 'typical' skills that are sorely lacking. When it comes to things like setting up a scene graph, I'm a total n00b.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top