Giter Club home page Giter Club logo

h3r's Introduction

This is a remake of the game engine of the well-known computer game
"Heroes of Might and Magic III" and its official expansions.

I'm not affiliated in any way with the authors/owners/etc. of the original
game, so re-making the AI for example will be purely observation-based and
experience-based.

This remake is being made for fun and education. This remake does not, and will
not provide any of the original game assets, so you need to buy the original
game prior being able to play it by using this remake.

The primary source of the original game data formats is:
http://sf.net/projects/vcmi

Credits.
========

Thanks to:

 * A masterpiece: "Heroes of Might and Magic III"
 * Inspiration and file format descriptions: http://sf.net/projects/vcmi
 * OS windowing system and sound bridges: "SDL2-2.0.5"
 * "ffmpeg" - for their magic all over the years! (.bik and .smk support)
 * The .h3m map makers - you rock!

h3r's People

Contributors

corwinn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

h3r's Issues

String

The most re-written class around. Text services.

Merge h3r_def and h3r_resdecorder

No point. Their data is going to a texture atlas. Besides if one bitmap format converter is needed, that's exactly what shall be done: one bitmap format converter function at one place.

Cross-build the SDL

Prepare build scripts. Read the license info. Add questions. Etc.
.
The cross-compile adventure never ends.

Testing works

So I can test my new code prior or after it being written.

Resource Manager

Abstract away the game data. Define a plug-in interface for custom resource managers.

Big picture

Using my favorite diagrammer, clarify what blocks depend on what blocks, and observe the most obvious too-stupid-decisions.

.bmp export

So I can see what the game bitmaps look like, whats their contents, to guess how are things organised, etc.

Render the terrain

Smallest map - all kinds of terrain; walk around with a single hero (limitless movement points).

Sort()

Because everything is better when its sorted. I'm not joking.

One issue to rule them all

Milestone 1: Render the main screen. Bridge. "SDL2" initially.
Milestone 2: Create the game model. (because otherwise boredom would slow down the project)
Milestone 3: View 1 - UI.
Milestone 4: Controller Main - UI.
Milestone 5: View 2 - map.
Milestone 6: Sound.
Milestone 7: View 3 - battle.
Milestone 8: AI.
Milestone 9: Hi-scores.
Milestone 10: AI scripting.
Milestone 11: View 4 - campaigns
Milestone 12: https://heroes3wog.net/did-you-know-second-edition/
Milestone 13: Multi-player.
Milestone 14: Plug-ins. (sound, resource manager, renderer, AI)
Milestone 15: Mods. (should take 2 minutes if all of the above are designed correctly)
Milestone 16: New things. (see "Whats the new?" at the file "project")
Milestone 17: Map editor.

Versioning: 0.* - alpha releases; 1.0 - proof of concept; 1.1* - to be decided.

The above could be wrong, could be right. I have no idea. Only one way to find out.

UI: VBO

Render the UI as a single VBO:

  • make more windows
  • make the texture atlas cache Texture Cache: initial
  • finalize the UI design (the object-oriented one)

Error handling

1st the project needs error handling:

  • out of memory policy: default - exit()
    //LATER - ask the user to resolve it or exit()
  • file IO policy : same as above
  • log policy : default - exit()
    //LATER - silence

Memory manager

When you put something in RAM remember where you put it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.